dbt-platform-helper 12.3.0__py3-none-any.whl → 12.4.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dbt-platform-helper might be problematic. Click here for more details.

Files changed (40) hide show
  1. dbt_platform_helper/COMMANDS.md +6 -1
  2. dbt_platform_helper/commands/codebase.py +1 -1
  3. dbt_platform_helper/commands/conduit.py +2 -2
  4. dbt_platform_helper/commands/config.py +4 -4
  5. dbt_platform_helper/commands/copilot.py +13 -15
  6. dbt_platform_helper/commands/database.py +17 -4
  7. dbt_platform_helper/commands/environment.py +3 -2
  8. dbt_platform_helper/commands/pipeline.py +1 -29
  9. dbt_platform_helper/constants.py +3 -1
  10. dbt_platform_helper/domain/codebase.py +23 -5
  11. dbt_platform_helper/domain/conduit.py +0 -6
  12. dbt_platform_helper/domain/database_copy.py +14 -13
  13. dbt_platform_helper/domain/maintenance_page.py +9 -9
  14. dbt_platform_helper/platform_exception.py +5 -0
  15. dbt_platform_helper/providers/aws.py +32 -0
  16. dbt_platform_helper/providers/cache.py +83 -0
  17. dbt_platform_helper/providers/cloudformation.py +8 -1
  18. dbt_platform_helper/providers/copilot.py +2 -5
  19. dbt_platform_helper/providers/ecs.py +19 -4
  20. dbt_platform_helper/providers/load_balancers.py +11 -5
  21. dbt_platform_helper/providers/platform_config_schema.py +605 -0
  22. dbt_platform_helper/providers/secrets.py +51 -10
  23. dbt_platform_helper/providers/validation.py +19 -0
  24. dbt_platform_helper/utils/application.py +14 -2
  25. dbt_platform_helper/utils/arn_parser.py +1 -1
  26. dbt_platform_helper/utils/aws.py +22 -21
  27. dbt_platform_helper/utils/files.py +0 -70
  28. dbt_platform_helper/utils/git.py +2 -2
  29. dbt_platform_helper/utils/validation.py +3 -551
  30. dbt_platform_helper/utils/versioning.py +8 -8
  31. {dbt_platform_helper-12.3.0.dist-info → dbt_platform_helper-12.4.1.dist-info}/METADATA +1 -1
  32. {dbt_platform_helper-12.3.0.dist-info → dbt_platform_helper-12.4.1.dist-info}/RECORD +35 -35
  33. dbt_platform_helper/addons-template-map.yml +0 -29
  34. dbt_platform_helper/exceptions.py +0 -147
  35. dbt_platform_helper/templates/pipelines/environments/buildspec.yml +0 -80
  36. dbt_platform_helper/templates/pipelines/environments/manifest.yml +0 -48
  37. dbt_platform_helper/templates/pipelines/environments/overrides/cfn.patches.yml +0 -21
  38. {dbt_platform_helper-12.3.0.dist-info → dbt_platform_helper-12.4.1.dist-info}/LICENSE +0 -0
  39. {dbt_platform_helper-12.3.0.dist-info → dbt_platform_helper-12.4.1.dist-info}/WHEEL +0 -0
  40. {dbt_platform_helper-12.3.0.dist-info → dbt_platform_helper-12.4.1.dist-info}/entry_points.txt +0 -0
@@ -1,36 +1,39 @@
1
- dbt_platform_helper/COMMANDS.md,sha256=V75r1y9dSDz6s9pshHh79SzEH9MeLMQF3N7KnOOe1YU,21824
1
+ dbt_platform_helper/COMMANDS.md,sha256=6VGkyKa_AB1adSlyhWIKrfDckq2n-xxqnBbBpgO5bnc,22207
2
2
  dbt_platform_helper/README.md,sha256=B0qN2_u_ASqqgkGDWY2iwNGZt_9tUgMb9XqtaTuzYjw,1530
3
3
  dbt_platform_helper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  dbt_platform_helper/addon-plans.yml,sha256=O46a_ODsGG9KXmQY_1XbSGqrpSaHSLDe-SdROzHx8Go,4545
5
- dbt_platform_helper/addons-template-map.yml,sha256=kYv_ZoZGWNeNBCnR_9wSeLhJuWOTHx-vn7ub74MgGb4,546
6
5
  dbt_platform_helper/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
6
  dbt_platform_helper/commands/application.py,sha256=eVwCaYuwBlk0zx0xfA6fW7b-S1pl8gkyT1lHKeeh2R0,10147
8
- dbt_platform_helper/commands/codebase.py,sha256=-R-DaT3TOCRc2f2-0Wy5wg2jBd2m-SLIKk2wMKD25eA,2262
9
- dbt_platform_helper/commands/conduit.py,sha256=gsiSzimX-pjBr6hegTxuVvwLqxlxGMV67lmnLbgmw4w,2254
10
- dbt_platform_helper/commands/config.py,sha256=NOHea7OAjrl6XHlW6HMLn0m0T5lFPyNH3HXoyCOWsJk,12070
11
- dbt_platform_helper/commands/copilot.py,sha256=i7FLSF-p9P5JQ36e_V8THXxdXG_g1hI7fHxemxQG82A,12927
12
- dbt_platform_helper/commands/database.py,sha256=_HnuOxlfVIFGkDotGv0SGb6oWrnm517FSvLv0aGcLJQ,3542
13
- dbt_platform_helper/commands/environment.py,sha256=-j-PYLHlrMH4F-DLhCCF3AYKP5z-Tzw7E8SbjMsMPnE,9209
7
+ dbt_platform_helper/commands/codebase.py,sha256=KB8irKyFtb6pKn5cQ0MmTywGW7Vd8SSbWjT2mRnh3JA,2270
8
+ dbt_platform_helper/commands/conduit.py,sha256=KqRWiirl5Xl7qcJXOAsirbTLlV1XquOjddsopuj0Kp4,2272
9
+ dbt_platform_helper/commands/config.py,sha256=LKHPBR0xCPiX_oR2Gtl0_KO9WqABNDF5w_dI7WRxhWk,12117
10
+ dbt_platform_helper/commands/copilot.py,sha256=XizScFxONNB3RLecRfEgCv--TwQ1j2rCUKGCx0nPq4I,12883
11
+ dbt_platform_helper/commands/database.py,sha256=aG3zcMHL5PE96b7LSAu0FGCbgcycQej3AGRcd-bpXUo,4115
12
+ dbt_platform_helper/commands/environment.py,sha256=VNIzuCM6RT-jVMk3Km0d88NEhrkTEWNqscEypVwLSWU,9294
14
13
  dbt_platform_helper/commands/generate.py,sha256=YLCPb-xcPapGcsLn-7d1Am7BpGp5l0iecIDTOdNGjHk,722
15
14
  dbt_platform_helper/commands/notify.py,sha256=kVJ0s78QMiaEWPVKu_bbMko4DW2uJy2fu8-HNJsglyk,3748
16
- dbt_platform_helper/commands/pipeline.py,sha256=_52bDSDa8DoyOA4VFxFJhwaiKCPHKqPtK2LWDLFaKlA,9452
15
+ dbt_platform_helper/commands/pipeline.py,sha256=_SVodU-XL5ierxzvkuarSTi7W8pmxnl5_uHc-gEynNw,8491
17
16
  dbt_platform_helper/commands/secrets.py,sha256=QjF9xUChioIr_P0fzqwyEcqLvcN-RNZmNFFlaUPVU9o,3994
18
17
  dbt_platform_helper/commands/version.py,sha256=XVfSd53TDti4cceBqTmRfq_yZnvxs14RbrOjNJHW75U,1444
19
- dbt_platform_helper/constants.py,sha256=HVaaO7hlQB41GrBBxcgk7hHie9tKbeYhJc-cRyYuIE0,453
18
+ dbt_platform_helper/constants.py,sha256=VPixgADOM4HMbUvNFOieI4OygDqzHl34y4IUnowqD7c,476
20
19
  dbt_platform_helper/default-extensions.yml,sha256=SU1ZitskbuEBpvE7efc3s56eAUF11j70brhj_XrNMMo,493
21
20
  dbt_platform_helper/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- dbt_platform_helper/domain/codebase.py,sha256=M-Eb7SU1CJpKZcPyu67xXi4Pt3U1WvKHxO6L9RpGnbM,9108
23
- dbt_platform_helper/domain/conduit.py,sha256=O1GZ_IVXgqefIHWZJ76jQ7HCFQ3fvytCOWkHAr_ThI4,4796
24
- dbt_platform_helper/domain/database_copy.py,sha256=RLQMAr0hinCFUV0Qa8JfWQSOoGRrMwViFIh_W1AaPsM,8824
25
- dbt_platform_helper/domain/maintenance_page.py,sha256=NFHN_J0NthhJ1YkcOTJ8c0R8y33TrDZq3ka2fmMRM1g,15708
26
- dbt_platform_helper/exceptions.py,sha256=LA0tMBncOw0YrmHFspf4C2LVqtRBwbSfaQl_yCB_MKg,4704
21
+ dbt_platform_helper/domain/codebase.py,sha256=vs25ytD0iKwfuX-EoYHwG6qiZAmfvKyQiYT9BeWZ_s4,9688
22
+ dbt_platform_helper/domain/conduit.py,sha256=mvjDzxh-SCUCY5qGL73kG8TT7YqeQR8XtNcHx26SW2w,4344
23
+ dbt_platform_helper/domain/database_copy.py,sha256=m25FA6DkF_yG3lVcbxBEleYxwHA85hQrB5fFeIg6adM,8988
24
+ dbt_platform_helper/domain/maintenance_page.py,sha256=LN-1qnU9oprYvLbV_pHOWOG_QsIluGpYPIfU1E4La-A,15742
27
25
  dbt_platform_helper/jinja2_tags.py,sha256=jFyN_Sxmko1GSfvrqRIGQ80CCW8EwlCV3su0ahJPfoE,541
26
+ dbt_platform_helper/platform_exception.py,sha256=bheZV9lqGvrCVTNT92349dVntNDEDWTEwciZgC83WzE,187
28
27
  dbt_platform_helper/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
- dbt_platform_helper/providers/cloudformation.py,sha256=geraDvXZ1UZAYO_hGlNiHbEtcg9JbGdeW9BO5etlnco,4728
30
- dbt_platform_helper/providers/copilot.py,sha256=-LNOUeOg2lWQ8Ig2himFgYTXGQKP-tjZKMTdi0FzVAA,5330
31
- dbt_platform_helper/providers/ecs.py,sha256=tgc1HKy5jjt3WBui4HbBGSuoY4GKYO30TgvgPGg3dzQ,3437
32
- dbt_platform_helper/providers/load_balancers.py,sha256=e1SPrWbBWq95paSVd3Y5yORIrHAZxcVabBYDjPyUTsU,1430
33
- dbt_platform_helper/providers/secrets.py,sha256=OMRtPNFgBv_aSMDGq-l6TQtE06InOC4U6TNd64NJalg,3634
28
+ dbt_platform_helper/providers/aws.py,sha256=KHgySe6cwEw1wePjw6DL7uSyZRk3DN_Aqqi8KnRoB3M,1208
29
+ dbt_platform_helper/providers/cache.py,sha256=XZpzOykanVdFGi0aiVGPgonKMHTT7U7OsZbbkqHoCu8,2936
30
+ dbt_platform_helper/providers/cloudformation.py,sha256=YmeofMMxh9hzhU4Osa1vR41s18jNXzsZdEfpQUk1Lc4,4976
31
+ dbt_platform_helper/providers/copilot.py,sha256=2BkQXn17GC1oGfCSCXXapTqT5OEhpEBeNkQ33g-U6wU,5245
32
+ dbt_platform_helper/providers/ecs.py,sha256=XlQHYhZiLGrqR-1ZWMagGH2R2Hy7mCP6676eZL3YbNQ,3842
33
+ dbt_platform_helper/providers/load_balancers.py,sha256=0tPkuQ_jWfan44HrBA5EMLqrZaYQl-Lw5PavZ1a1iag,1615
34
+ dbt_platform_helper/providers/platform_config_schema.py,sha256=38CV-j4TCTLUG3gZaZWeW5ArUUC_7ZiQJwPl_Goqk7I,19597
35
+ dbt_platform_helper/providers/secrets.py,sha256=6cYIR15dLdHmqxtWQpM6R71e0_Xgsg9V291HBG-0LV0,5272
36
+ dbt_platform_helper/providers/validation.py,sha256=d_YzJZVjGNO65pXcPIcFc9I-FRCESeEC7GvUzP8n-As,596
34
37
  dbt_platform_helper/templates/.copilot/config.yml,sha256=J_bA9sCtBdCPBRImpCBRnYvhQd4vpLYIXIU-lq9vbkA,158
35
38
  dbt_platform_helper/templates/.copilot/image_build_run.sh,sha256=adYucYXEB-kAgZNjTQo0T6EIAY8sh_xCEvVhWKKQ8mw,164
36
39
  dbt_platform_helper/templates/.copilot/phases/build.sh,sha256=umKXePcRvx4XyrRY0fAWIyYFtNjqBI2L8vIJk-V7C60,121
@@ -62,9 +65,6 @@ dbt_platform_helper/templates/pipelines/codebase/overrides/package.json,sha256=X
62
65
  dbt_platform_helper/templates/pipelines/codebase/overrides/stack.ts,sha256=v9m6EziRgFnrhF7inbr1KtuOh75FeC054vaWMoAi-qg,21500
63
66
  dbt_platform_helper/templates/pipelines/codebase/overrides/tsconfig.json,sha256=k6KabP-WwhFNgA1AFHNuonTEAnES6eR74jUuYUJEGOM,651
64
67
  dbt_platform_helper/templates/pipelines/codebase/overrides/types.ts,sha256=8cp5xl_CIMH5TPvwlw9UBPKwfntcsu-lTAjbL5uylgw,1257
65
- dbt_platform_helper/templates/pipelines/environments/buildspec.yml,sha256=hTCUhSfrnTUMOpUo8EjQmvit2aX7J0cKNeqV2DChaA0,3365
66
- dbt_platform_helper/templates/pipelines/environments/manifest.yml,sha256=0-6uGxjm8Qz1l8EozNHB5JY7UFzWZicHK_AvtFMPfTo,1664
67
- dbt_platform_helper/templates/pipelines/environments/overrides/cfn.patches.yml,sha256=VLjm3Dz4clUz44B5RSQy7mu1sRzm7Yf2S_TSnor_b_k,638
68
68
  dbt_platform_helper/templates/svc/maintenance_pages/default.html,sha256=OTZ-qwwSXu7PFbsgp4kppdm1lsg_iHK7FCFqhPnvrEs,741
69
69
  dbt_platform_helper/templates/svc/maintenance_pages/dmas-migration.html,sha256=qvI6tHuI0UQbMBCuvPgK1a_zLANB6w7KVo9N5d8r-i0,829
70
70
  dbt_platform_helper/templates/svc/maintenance_pages/migration.html,sha256=GiQsOiuaMFb7jG5_wU3V7BMcByHBl9fOBgrNf8quYlw,783
@@ -72,22 +72,22 @@ dbt_platform_helper/templates/svc/manifest-backend.yml,sha256=aAD9ndkbXnF7JBAKS2
72
72
  dbt_platform_helper/templates/svc/manifest-public.yml,sha256=6NHVR_onBu5hbwynLrB6roDRce7JcylSc0qeYvzlPdI,3664
73
73
  dbt_platform_helper/templates/svc/overrides/cfn.patches.yml,sha256=W7-d017akuUq9kda64DQxazavcRcCPDjaAik6t1EZqM,742
74
74
  dbt_platform_helper/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
75
- dbt_platform_helper/utils/application.py,sha256=brEREkgP2QVVS0Id5rApNfKm6UqveQ5LNbvXJNzzzHA,4132
76
- dbt_platform_helper/utils/arn_parser.py,sha256=1jY0elpAe4YL3ulrrCf1YiKmjI-7YXz4gJASqkIFHTc,1294
77
- dbt_platform_helper/utils/aws.py,sha256=zmUYOoSM0LphuXPN7Cnf-Lm1_DjFQ_nVn0m_OByHX8s,19465
75
+ dbt_platform_helper/utils/application.py,sha256=ugY3nbUHRNFvJgaD4446EdSvIyILEN6ouuuk7eoyXe8,4538
76
+ dbt_platform_helper/utils/arn_parser.py,sha256=BaXzIxSOLdFmP_IfAxRq-0j-0Re1iCN7L4j2Zi5-CRQ,1304
77
+ dbt_platform_helper/utils/aws.py,sha256=y7oNjsfTfaduhIZHK9_NDOdhU49OvrKFIvkh8QyUYlc,19724
78
78
  dbt_platform_helper/utils/click.py,sha256=Fx4y4bbve1zypvog_sgK7tJtCocmzheoEFLBRv1lfdM,2943
79
79
  dbt_platform_helper/utils/cloudfoundry.py,sha256=GnQ4fVLnDfOdNSrsJjI6ElZHqpgwINeoPn77cUH2UFY,484
80
- dbt_platform_helper/utils/files.py,sha256=pa5uwwrEFIAgXZUyH2KEr2Yiu6bKuV4EMlhn9BcUMsY,5296
81
- dbt_platform_helper/utils/git.py,sha256=aI7pCst5hm4XACiubsTpGJV1UEBLnxLpUGXu4h4hofM,696
80
+ dbt_platform_helper/utils/files.py,sha256=wKDPLZSC3tIZrto-0xGYPmemN8Fsn4spdUsNtYQVVcY,3084
81
+ dbt_platform_helper/utils/git.py,sha256=7JGZMaI8-cU6-GjXIXjOlsYfKu_RppLOGyAicBd4n_8,704
82
82
  dbt_platform_helper/utils/manifests.py,sha256=ji3UYHCxq9tTpkm4MlRa2y0-JOYYqq1pWZ2h_zpj0UU,507
83
83
  dbt_platform_helper/utils/messages.py,sha256=aLx6s9utt__IqlDdeIYq4n82ERwludu2Zfqy0Q2t-x8,115
84
84
  dbt_platform_helper/utils/platform_config.py,sha256=2RfIxBAT5fv7WR4YuP3yomUK7sKZFL77xevuHnUALdg,676
85
85
  dbt_platform_helper/utils/template.py,sha256=raRx4QUCVJtKfvJK08Egg6gwWcs3r3V4nPWcJW4xNhA,574
86
- dbt_platform_helper/utils/validation.py,sha256=LspCvwuOM1xz9xTy1YEnYBN3gdmwt_Zo53rvKu35jYg,30309
87
- dbt_platform_helper/utils/versioning.py,sha256=IBxdocJ8ZyJib38d1ja87tTuFE0iJ4npaDcAHQAKQ58,10825
86
+ dbt_platform_helper/utils/validation.py,sha256=wvkU1H6b-m8rbPnMif8pbVPpOXGyg2ak1MNWtxn-OUY,13390
87
+ dbt_platform_helper/utils/versioning.py,sha256=rLCofLHPXoyc3v9ArDKcjW902p-UX6GCn8n7cjg5I-U,10918
88
88
  platform_helper.py,sha256=bly3JkwbfwnWTZSZziu40dbgzQItsK-DIMMvL6ArFDY,1893
89
- dbt_platform_helper-12.3.0.dist-info/LICENSE,sha256=dP79lN73--7LMApnankTGLqDbImXg8iYFqWgnExGkGk,1090
90
- dbt_platform_helper-12.3.0.dist-info/METADATA,sha256=_Ey-bDTeSkkSz4ozaGGo-ni6dO6gzKSghyFGGediWVY,3212
91
- dbt_platform_helper-12.3.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
92
- dbt_platform_helper-12.3.0.dist-info/entry_points.txt,sha256=QhbY8F434A-onsg0-FsdMd2U6HKh6Q7yCFFZrGUh5-M,67
93
- dbt_platform_helper-12.3.0.dist-info/RECORD,,
89
+ dbt_platform_helper-12.4.1.dist-info/LICENSE,sha256=dP79lN73--7LMApnankTGLqDbImXg8iYFqWgnExGkGk,1090
90
+ dbt_platform_helper-12.4.1.dist-info/METADATA,sha256=MPP-qrAofuCbLXhkXtXTsiy9vgfMZGPTZaVJiksBRkI,3212
91
+ dbt_platform_helper-12.4.1.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
92
+ dbt_platform_helper-12.4.1.dist-info/entry_points.txt,sha256=QhbY8F434A-onsg0-FsdMd2U6HKh6Q7yCFFZrGUh5-M,67
93
+ dbt_platform_helper-12.4.1.dist-info/RECORD,,
@@ -1,29 +0,0 @@
1
- # This file maps addon types to svc level templates
2
-
3
- # explanation:
4
-
5
- # {addons-type}:
6
- # svc:
7
- # - template: path/to/template.yml
8
-
9
- redis: {}
10
- postgres: {}
11
- opensearch: {}
12
- s3:
13
- svc:
14
- - template: addons/svc/s3-policy.yml
15
- s3-policy:
16
- svc:
17
- - template: addons/svc/s3-policy.yml
18
- appconfig-ipfilter:
19
- svc:
20
- - template: addons/svc/appconfig-ipfilter.yml
21
- subscription-filter:
22
- svc:
23
- - template: addons/svc/subscription-filter.yml
24
- monitoring: {}
25
- vpc: {}
26
- alb: {}
27
- prometheus-policy:
28
- svc:
29
- - template: addons/svc/prometheus-policy.yml
@@ -1,147 +0,0 @@
1
- import os
2
-
3
- from dbt_platform_helper.constants import CONDUIT_ADDON_TYPES
4
-
5
-
6
- class ValidationException(Exception):
7
- pass
8
-
9
-
10
- class PlatformException(Exception):
11
- pass
12
-
13
-
14
- class AWSException(PlatformException):
15
- pass
16
-
17
-
18
- class ApplicationException(PlatformException):
19
- pass
20
-
21
-
22
- class CloudFormationException(AWSException):
23
- def __init__(self, stack_name: str, current_status: str):
24
- super().__init__(
25
- f"The CloudFormation stack '{stack_name}' is not in a good state: {current_status}"
26
- )
27
-
28
-
29
- class CommitNotFoundError:
30
- def __init__(self, commit: str):
31
- super().__init__(
32
- f"""The commit hash "{commit}" either does not exist or you need to run `git fetch`."""
33
- )
34
-
35
-
36
- class IncompatibleMajorVersion(ValidationException):
37
- def __init__(self, app_version: str, check_version: str):
38
- super().__init__()
39
- self.app_version = app_version
40
- self.check_version = check_version
41
-
42
-
43
- class IncompatibleMinorVersion(ValidationException):
44
- def __init__(self, app_version: str, check_version: str):
45
- super().__init__()
46
- self.app_version = app_version
47
- self.check_version = check_version
48
-
49
-
50
- class NoClusterError(AWSException):
51
- def __init__(self, application_name: str, environment: str):
52
- super().__init__(
53
- f"""No ECS cluster found for "{application_name}" in "{environment}" environment."""
54
- )
55
-
56
-
57
- class CreateTaskTimeoutError(AWSException):
58
- def __init__(self, addon_name: str, application_name: str, environment: str):
59
- super().__init__(
60
- f"""Client ({addon_name}) ECS task has failed to start for "{application_name}" in "{environment}" environment."""
61
- )
62
-
63
-
64
- class ParameterNotFoundError(AWSException):
65
- def __init__(self, application_name: str, environment: str):
66
- super().__init__(
67
- f"""No parameter called "/copilot/applications/{application_name}/environments/{environment}/addons". Try deploying the "{application_name}" "{environment}" environment."""
68
- )
69
-
70
-
71
- class AddonNotFoundError(AWSException):
72
- def __init__(self, addon_name: str):
73
- super().__init__(f"""Addon "{addon_name}" does not exist.""")
74
-
75
-
76
- class InvalidAddonTypeError(AWSException):
77
- def __init__(self, addon_type):
78
- self.addon_type = addon_type
79
- super().__init__(
80
- f"""Addon type "{self.addon_type}" is not supported, we support: {", ".join(CONDUIT_ADDON_TYPES)}."""
81
- )
82
-
83
-
84
- class AddonTypeMissingFromConfigError(AWSException):
85
- def __init__(self, addon_name: str):
86
- super().__init__(
87
- f"""The configuration for the addon {addon_name}, is misconfigured and missing the addon type."""
88
- )
89
-
90
-
91
- class CopilotCodebaseNotFoundError(PlatformException):
92
- def __init__(self, codebase: str):
93
- super().__init__(
94
- f"""The codebase "{codebase}" either does not exist or has not been deployed."""
95
- )
96
-
97
-
98
- class NotInCodeBaseRepositoryError(PlatformException):
99
- def __init__(self):
100
- super().__init__(
101
- "You are in the deploy repository; make sure you are in the application codebase repository.",
102
- )
103
-
104
-
105
- class NoCopilotCodebasesFoundError(PlatformException):
106
- def __init__(self, application_name: str):
107
- super().__init__(f"""No codebases found for application "{application_name}".""")
108
-
109
-
110
- class ImageNotFoundError(PlatformException):
111
- def __init__(self, commit: str):
112
- super().__init__(
113
- f"""The commit hash "{commit}" has not been built into an image, try the `platform-helper codebase build` command first."""
114
- )
115
-
116
-
117
- class ApplicationDeploymentNotTriggered(PlatformException):
118
- def __init__(self, codebase: str):
119
- super().__init__(f"""Your deployment for {codebase} was not triggered.""")
120
-
121
-
122
- class ApplicationNotFoundError(ApplicationException):
123
- def __init__(self, application_name: str):
124
- super().__init__(
125
- f"""The account "{os.environ.get("AWS_PROFILE")}" does not contain the application "{application_name}"; ensure you have set the environment variable "AWS_PROFILE" correctly."""
126
- )
127
-
128
-
129
- class ApplicationEnvironmentNotFoundError(ApplicationException):
130
- def __init__(self, environment: str):
131
- super().__init__(
132
- f"""The environment "{environment}" either does not exist or has not been deployed."""
133
- )
134
-
135
-
136
- class SecretNotFoundError(AWSException):
137
- def __init__(self, secret_name: str):
138
- super().__init__(f"""No secret called "{secret_name}".""")
139
-
140
-
141
- class ECSAgentNotRunning(AWSException):
142
- def __init__(self):
143
- super().__init__("""ECS exec agent never reached "RUNNING" status""")
144
-
145
-
146
- class ResourceNotFoundException(AWSException):
147
- pass
@@ -1,80 +0,0 @@
1
- # {% extra_header %}
2
- # {% version_info %}
3
- # Buildspec runs in the build stage of your environment pipeline to generate the environment CloudFormation stack config.
4
- version: 0.2
5
- env:
6
- variables:
7
- DYFF_VERSION: 1.5.8
8
- phases:
9
- install:
10
- commands:
11
- - cd $CODEBUILD_SRC_DIR
12
- - |
13
- if [ ! -f .copilot-version ]; then
14
- echo "Cannot find .copilot-version file"
15
- exit 1
16
- fi
17
- - COPILOT_VERSION=$(cat .copilot-version)
18
- # Install pyyaml and dbt-platform-helper
19
- - pip install PyYAML dbt-platform-helper
20
- # Reinstall if we require a different version to the latest
21
- - CURRENT_PLATFORM_HELPER_VERSION=$(platform-helper --version)
22
- - export PLATFORM_HELPER_VERSION=$(platform-helper version get-platform-helper-for-project)
23
- - |
24
- if [ ! "${PLATFORM_HELPER_VERSION}" == "${CURRENT_PLATFORM_HELPER_VERSION}" ]
25
- then
26
- pip uninstall dbt-platform-helper
27
- pip install dbt-platform-helper==$PLATFORM_HELPER_VERSION
28
- fi
29
- - mkdir ./build-tools
30
- - cd ./build-tools
31
- # Install copilot
32
- - wget -q "https://ecs-cli-v2-release.s3.amazonaws.com/copilot-linux-v${COPILOT_VERSION}"
33
- - mv "./copilot-linux-v${COPILOT_VERSION}" ./copilot
34
- - chmod +x ./copilot
35
- # Install dyff - yaml differ
36
- - wget -q "https://github.com/homeport/dyff/releases/download/v${DYFF_VERSION}/dyff_${DYFF_VERSION}_linux_amd64.tar.gz"
37
- - tar -zxvf "dyff_${DYFF_VERSION}_linux_amd64.tar.gz"
38
- - chmod +x ./dyff
39
- build:
40
- commands:
41
- - cd $CODEBUILD_SRC_DIR
42
- - cp -r copilot/ current-copilot/
43
- - platform-helper copilot make-addons
44
- - >
45
- for FILE in $(ls copilot/**/addons/*.yml); do
46
- ./build-tools/dyff between --omit-header $FILE current-$FILE >> ./build-tools/file-differences
47
- done;
48
- - |
49
- if [[ "$(cat ./build-tools/file-differences)" = *[![:space:]]* ]]; then
50
- echo 'Changes are introduced with version ${PLATFORM_HELPER_VERSION} of platform-helper:'
51
- echo
52
- for FILE in $(ls copilot/**/addons/*.yml); do
53
- echo "Changes in $FILE:"
54
- ./build-tools/dyff between --omit-header $FILE current-$FILE
55
- done;
56
- echo
57
- echo 'Ensure you are running version ${PLATFORM_HELPER_VERSION} with pip install dbt-platform-helper==${PLATFORM_HELPER_VERSION}'
58
- echo 'And run platform-helper copilot make-addons to regenerate your addons templates'
59
- exit 1
60
- fi
61
- post_build:
62
- commands:
63
- - git checkout -- .
64
- - export COLOR="false"
65
- - export CI="true"
66
- - pipeline=$(cat $CODEBUILD_SRC_DIR/copilot/pipelines/environments/manifest.yml | python -c 'import sys, json, yaml; print(json.dumps(yaml.safe_load(sys.stdin.read())))')
67
- - stages=$(echo $pipeline | jq -r '.stages[].name')
68
- # Generate the cloudformation templates.
69
- - >
70
- for env in $stages; do
71
- ./build-tools/copilot env package -n $env --output-dir './infrastructure' --upload-assets --force;
72
- if [ $? -ne 0 ]; then
73
- echo "Cloudformation stack and config files were not generated. Please check build logs to see if there was a manifest validation error." 1>&2;
74
- exit 1;
75
- fi
76
- done;
77
- - ls -lah ./infrastructure
78
- artifacts:
79
- files:
80
- - "infrastructure/*"
@@ -1,48 +0,0 @@
1
- # {% extra_header %}
2
- # {% version_info %}
3
- # This YAML file defines your pipeline: the source repository it tracks and the order of the environments to deploy to.
4
- # For more info: https://aws.github.io/copilot-cli/docs/manifest/pipeline/
5
-
6
- # The name of the pipeline.
7
- name: environments
8
-
9
- # The version of the schema used in this template.
10
- version: 1
11
-
12
- # This section defines your source, changes to which trigger your pipeline.
13
- source:
14
- # The name of the provider that is used to store the source artifacts.
15
- # (i.e. GitHub, Bitbucket, CodeCommit)
16
- provider: GitHub
17
- # Additional properties that further specify the location of the artifacts.
18
- properties:
19
- branch: main
20
- repository: https://github.com/{{ git_repo }}
21
- connection_name: {{ app_name }}
22
-
23
- build:
24
- additional_policy:
25
- PolicyDocument:
26
- Version: "2012-10-17"
27
- Statement:
28
- - Effect: Allow
29
- Action:
30
- - iam:ListAccountAliases
31
- Resource: '*'
32
-
33
- # This section defines the order of the environments your pipeline will deploy to.
34
- stages:
35
- {% for name, environment in pipeline_environments.items() -%}
36
- - # The name of the environment.
37
- name: {{ name }}
38
- deployments:
39
- deploy-env:
40
- template_path: infrastructure/{{ name }}.env.yml
41
- template_config: infrastructure/{{ name }}.env.params.json
42
- stack_name: {{ app_name }}-{{ name }}
43
- # Optional: flag for manual approval action before deployment.
44
- {% if not environment.requires_approval %}# {% endif %}requires_approval: true
45
- # Optional: use test commands to validate this stage of your build.
46
- # test_commands: [echo 'running tests', make test]
47
-
48
- {% endfor %}
@@ -1,21 +0,0 @@
1
- # {% extra_header %}
2
- # {% version_info %}
3
- # Give the source stage a more meaningful name
4
- - op: replace
5
- path: /Resources/Pipeline/Properties/Stages/0/Actions/0/Name
6
- value: DeployCodebase
7
-
8
- # Add git metadata to the source output artefact
9
- - op: add
10
- path: /Resources/Pipeline/Properties/Stages/0/Actions/0/Configuration/OutputArtifactFormat
11
- value: CODEBUILD_CLONE_REF
12
-
13
- # Add codestar permissions to codebuild role
14
- - op: add
15
- path: /Resources/BuildProjectPolicy/Properties/PolicyDocument/Statement/-
16
- value:
17
- Effect: Allow
18
- Action:
19
- - codestar-connections:UseConnection
20
- Resource:
21
- - {{ codestar_connection_arn }}