dbt-platform-helper 12.0.2__py3-none-any.whl → 12.2.0__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 (36) hide show
  1. dbt_platform_helper/COMMANDS.md +7 -8
  2. dbt_platform_helper/commands/application.py +1 -0
  3. dbt_platform_helper/commands/codebase.py +63 -228
  4. dbt_platform_helper/commands/conduit.py +34 -409
  5. dbt_platform_helper/commands/secrets.py +1 -1
  6. dbt_platform_helper/constants.py +12 -1
  7. dbt_platform_helper/domain/codebase.py +222 -0
  8. dbt_platform_helper/domain/conduit.py +172 -0
  9. dbt_platform_helper/domain/database_copy.py +1 -1
  10. dbt_platform_helper/exceptions.py +61 -0
  11. dbt_platform_helper/providers/__init__.py +0 -0
  12. dbt_platform_helper/providers/cloudformation.py +105 -0
  13. dbt_platform_helper/providers/copilot.py +144 -0
  14. dbt_platform_helper/providers/ecs.py +78 -0
  15. dbt_platform_helper/providers/secrets.py +85 -0
  16. dbt_platform_helper/templates/addons/svc/prometheus-policy.yml +2 -0
  17. dbt_platform_helper/templates/pipelines/environments/manifest.yml +0 -1
  18. dbt_platform_helper/utils/application.py +1 -4
  19. dbt_platform_helper/utils/aws.py +132 -0
  20. dbt_platform_helper/utils/files.py +70 -0
  21. dbt_platform_helper/utils/git.py +13 -0
  22. dbt_platform_helper/utils/validation.py +121 -3
  23. {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/METADATA +2 -1
  24. {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/RECORD +27 -29
  25. {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/WHEEL +1 -1
  26. dbt_platform_helper/templates/env/overrides/.gitignore +0 -12
  27. dbt_platform_helper/templates/env/overrides/README.md +0 -11
  28. dbt_platform_helper/templates/env/overrides/bin/override.ts +0 -9
  29. dbt_platform_helper/templates/env/overrides/cdk.json +0 -20
  30. dbt_platform_helper/templates/env/overrides/log_resource_policy.json +0 -68
  31. dbt_platform_helper/templates/env/overrides/package-lock.json +0 -4307
  32. dbt_platform_helper/templates/env/overrides/package.json +0 -27
  33. dbt_platform_helper/templates/env/overrides/stack.ts +0 -51
  34. dbt_platform_helper/templates/env/overrides/tsconfig.json +0 -32
  35. {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/LICENSE +0 -0
  36. {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/entry_points.txt +0 -0
@@ -18,6 +18,8 @@ from dbt_platform_helper.constants import CODEBASE_PIPELINES_KEY
18
18
  from dbt_platform_helper.constants import ENVIRONMENTS_KEY
19
19
  from dbt_platform_helper.constants import PLATFORM_CONFIG_FILE
20
20
  from dbt_platform_helper.constants import PLATFORM_HELPER_VERSION_FILE
21
+ from dbt_platform_helper.utils.aws import get_supported_opensearch_versions
22
+ from dbt_platform_helper.utils.aws import get_supported_redis_versions
21
23
  from dbt_platform_helper.utils.files import apply_environment_defaults
22
24
  from dbt_platform_helper.utils.messages import abort_with_error
23
25
 
@@ -98,6 +100,19 @@ def validate_addons(addons: dict):
98
100
  except SchemaError as ex:
99
101
  errors[addon_name] = f"Error in {addon_name}: {ex.code}"
100
102
 
103
+ _validate_extension_supported_versions(
104
+ config={"extensions": addons},
105
+ extension_type="redis",
106
+ version_key="engine",
107
+ get_supported_versions_fn=get_supported_redis_versions,
108
+ )
109
+ _validate_extension_supported_versions(
110
+ config={"extensions": addons},
111
+ extension_type="opensearch",
112
+ version_key="engine",
113
+ get_supported_versions_fn=get_supported_opensearch_versions,
114
+ )
115
+
101
116
  return errors
102
117
 
103
118
 
@@ -152,7 +167,7 @@ REDIS_PLANS = Or(
152
167
  "x-large-ha",
153
168
  )
154
169
 
155
- REDIS_ENGINE_VERSIONS = Or("6.2", "7.0", "7.1")
170
+ REDIS_ENGINE_VERSIONS = str
156
171
 
157
172
  REDIS_DEFINITION = {
158
173
  "type": "redis",
@@ -251,6 +266,25 @@ def iam_role_arn_regex(key):
251
266
  )
252
267
 
253
268
 
269
+ def dbt_email_address_regex(key):
270
+ return Regex(
271
+ r"^[\w.-]+@(businessandtrade.gov.uk|digital.trade.gov.uk)$",
272
+ error=f"{key} must contain a valid DBT email address",
273
+ )
274
+
275
+
276
+ EXTERNAL_ROLE_ACCESS = {
277
+ "role_arn": iam_role_arn_regex("role_arn"),
278
+ "read": bool,
279
+ "write": bool,
280
+ "cyber_sign_off_by": dbt_email_address_regex("cyber_sign_off_by"),
281
+ }
282
+
283
+ EXTERNAL_ROLE_ACCESS_NAME = Regex(
284
+ r"^([a-z][a-zA-Z0-9_-]*)$",
285
+ error="External role access block name {} is invalid: names must only contain lowercase alphanumeric characters separated by hypen or underscore",
286
+ )
287
+
254
288
  DATA_IMPORT = {
255
289
  Optional("source_kms_key_arn"): kms_key_arn_regex("source_kms_key_arn"),
256
290
  "source_bucket_arn": s3_bucket_arn_regex("source_bucket_arn"),
@@ -273,7 +307,8 @@ S3_BASE = {
273
307
  Optional("versioning"): bool,
274
308
  Optional("lifecycle_rules"): [LIFECYCLE_RULE],
275
309
  Optional("data_migration"): DATA_MIGRATION,
276
- }
310
+ Optional("external_role_access"): {EXTERNAL_ROLE_ACCESS_NAME: EXTERNAL_ROLE_ACCESS},
311
+ },
277
312
  },
278
313
  }
279
314
 
@@ -300,7 +335,7 @@ MONITORING_DEFINITION = {
300
335
  OPENSEARCH_PLANS = Or(
301
336
  "tiny", "small", "small-ha", "medium", "medium-ha", "large", "large-ha", "x-large", "x-large-ha"
302
337
  )
303
- OPENSEARCH_ENGINE_VERSIONS = Or("2.11", "2.9", "2.7", "2.5", "2.3", "1.3", "1.2", "1.1", "1.0")
338
+ OPENSEARCH_ENGINE_VERSIONS = str
304
339
  OPENSEARCH_MIN_VOLUME_SIZE = 10
305
340
  OPENSEARCH_MAX_VOLUME_SIZE = {
306
341
  "tiny": 100,
@@ -337,6 +372,32 @@ OPENSEARCH_DEFINITION = {
337
372
  },
338
373
  }
339
374
 
375
+ CACHE_POLICY_DEFINITION = {
376
+ "min_ttl": int,
377
+ "max_ttl": int,
378
+ "default_ttl": int,
379
+ "cookies_config": Or("none", "whitelist", "allExcept", "all"),
380
+ "header": Or("none", "whitelist"),
381
+ "query_string_behavior": Or("none", "whitelist", "allExcept", "all"),
382
+ Optional("cookie_list"): list,
383
+ Optional("headers_list"): list,
384
+ Optional("cache_policy_query_strings"): list,
385
+ }
386
+
387
+ PATHS_DEFINITION = {
388
+ Optional("default"): {
389
+ "cache": str,
390
+ "request": str,
391
+ },
392
+ Optional("additional"): list[
393
+ {
394
+ "path": str,
395
+ "cache": str,
396
+ "request": str,
397
+ }
398
+ ],
399
+ }
400
+
340
401
  ALB_DEFINITION = {
341
402
  "type": "alb",
342
403
  Optional("environments"): {
@@ -361,9 +422,13 @@ ALB_DEFINITION = {
361
422
  Optional("forwarded_values_query_string"): bool,
362
423
  Optional("origin_protocol_policy"): str,
363
424
  Optional("origin_ssl_protocols"): list,
425
+ Optional("slack_alert_channel_alb_secret_rotation"): str,
364
426
  Optional("viewer_certificate_minimum_protocol_version"): str,
365
427
  Optional("viewer_certificate_ssl_support_method"): str,
366
428
  Optional("viewer_protocol_policy"): str,
429
+ Optional("cache_policy"): dict({str: CACHE_POLICY_DEFINITION}),
430
+ Optional("origin_request_policy"): dict({str: {}}),
431
+ Optional("paths"): dict({str: PATHS_DEFINITION}),
367
432
  },
368
433
  None,
369
434
  )
@@ -489,6 +554,59 @@ def validate_platform_config(config):
489
554
  _validate_codebase_pipelines(enriched_config)
490
555
  validate_database_copy_section(enriched_config)
491
556
 
557
+ _validate_extension_supported_versions(
558
+ config=config,
559
+ extension_type="redis",
560
+ version_key="engine",
561
+ get_supported_versions_fn=get_supported_redis_versions,
562
+ )
563
+ _validate_extension_supported_versions(
564
+ config=config,
565
+ extension_type="opensearch",
566
+ version_key="engine",
567
+ get_supported_versions_fn=get_supported_opensearch_versions,
568
+ )
569
+
570
+
571
+ def _validate_extension_supported_versions(
572
+ config, extension_type, version_key, get_supported_versions_fn
573
+ ):
574
+ extensions = config.get("extensions", {})
575
+ if not extensions:
576
+ return
577
+
578
+ extensions_for_type = [
579
+ extension
580
+ for extension in config.get("extensions", {}).values()
581
+ if extension.get("type") == extension_type
582
+ ]
583
+
584
+ supported_extension_versions = get_supported_versions_fn()
585
+ extensions_with_invalid_version = []
586
+
587
+ for extension in extensions_for_type:
588
+
589
+ environments = extension.get("environments", {})
590
+
591
+ if not isinstance(environments, dict):
592
+ click.secho(
593
+ "Error: Opensearch extension definition is invalid type, expected dictionary",
594
+ fg="red",
595
+ )
596
+ continue
597
+ for environment, env_config in environments.items():
598
+ extension_version = env_config.get(version_key)
599
+ if extension_version not in supported_extension_versions:
600
+ extensions_with_invalid_version.append(
601
+ {"environment": environment, "version": extension_version}
602
+ )
603
+
604
+ for version_failure in extensions_with_invalid_version:
605
+ click.secho(
606
+ f"{extension_type} version for environment {version_failure['environment']} is not in the list of supported {extension_type} versions: {supported_extension_versions}. Provided Version: {version_failure['version']}",
607
+ fg="red",
608
+ )
609
+
492
610
 
493
611
  def validate_database_copy_section(config):
494
612
  extensions = config.get("extensions", {})
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbt-platform-helper
3
- Version: 12.0.2
3
+ Version: 12.2.0
4
4
  Summary: Set of tools to help transfer applications/services from GOV.UK PaaS to DBT PaaS augmenting AWS Copilot.
5
5
  License: MIT
6
6
  Author: Department for Business and Trade Platform Team
@@ -12,6 +12,7 @@ Classifier: Programming Language :: Python :: 3.9
12
12
  Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
14
  Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
15
16
  Requires-Dist: Jinja2 (==3.1.4)
16
17
  Requires-Dist: PyYAML (==6.0.1)
17
18
  Requires-Dist: aiohttp (>=3.8.4,<4.0.0)
@@ -1,12 +1,12 @@
1
- dbt_platform_helper/COMMANDS.md,sha256=JPnpZObnhOLRLDk86HhxF2JFubfGORqeEwLevTmjxNI,21788
1
+ dbt_platform_helper/COMMANDS.md,sha256=V75r1y9dSDz6s9pshHh79SzEH9MeLMQF3N7KnOOe1YU,21824
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
5
  dbt_platform_helper/addons-template-map.yml,sha256=kYv_ZoZGWNeNBCnR_9wSeLhJuWOTHx-vn7ub74MgGb4,546
6
6
  dbt_platform_helper/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- dbt_platform_helper/commands/application.py,sha256=idHLbEIJ3DH_7oL2_5ZID3BInLZjPYLSdFST0x7kvFE,10076
8
- dbt_platform_helper/commands/codebase.py,sha256=NchJzH-yxv5mXCe2rPyXVNHmXGEvjFUv0KhMKYsLNNQ,11380
9
- dbt_platform_helper/commands/conduit.py,sha256=cuD1obH_daebnLIsouDJNlxKXVmVjYJ0d3XZudqy1JM,15291
7
+ dbt_platform_helper/commands/application.py,sha256=eVwCaYuwBlk0zx0xfA6fW7b-S1pl8gkyT1lHKeeh2R0,10147
8
+ dbt_platform_helper/commands/codebase.py,sha256=3PCqkcY4Eh9Mi0is_Jtit98mu-hnUD8FiasVelC0EMk,5315
9
+ dbt_platform_helper/commands/conduit.py,sha256=nOfyqZoF0Q3uYicTwfMXf4FGYC7cR1du-PeitSt1jx4,3163
10
10
  dbt_platform_helper/commands/config.py,sha256=NOHea7OAjrl6XHlW6HMLn0m0T5lFPyNH3HXoyCOWsJk,12070
11
11
  dbt_platform_helper/commands/copilot.py,sha256=i7FLSF-p9P5JQ36e_V8THXxdXG_g1hI7fHxemxQG82A,12927
12
12
  dbt_platform_helper/commands/database.py,sha256=_HnuOxlfVIFGkDotGv0SGb6oWrnm517FSvLv0aGcLJQ,3542
@@ -14,16 +14,23 @@ dbt_platform_helper/commands/environment.py,sha256=3HALcatJMJ1-7WmHwnfazh6ulBlwt
14
14
  dbt_platform_helper/commands/generate.py,sha256=YLCPb-xcPapGcsLn-7d1Am7BpGp5l0iecIDTOdNGjHk,722
15
15
  dbt_platform_helper/commands/notify.py,sha256=kVJ0s78QMiaEWPVKu_bbMko4DW2uJy2fu8-HNJsglyk,3748
16
16
  dbt_platform_helper/commands/pipeline.py,sha256=_52bDSDa8DoyOA4VFxFJhwaiKCPHKqPtK2LWDLFaKlA,9452
17
- dbt_platform_helper/commands/secrets.py,sha256=2NtV5FGx-ErkMg2QMiDvFOp03cKVbLzgmY8Y504EKJw,3860
17
+ dbt_platform_helper/commands/secrets.py,sha256=zLDSlui4RzBPsgnGgCeEMbfE34NgMDC-k6s0ffMtCT0,3891
18
18
  dbt_platform_helper/commands/version.py,sha256=XVfSd53TDti4cceBqTmRfq_yZnvxs14RbrOjNJHW75U,1444
19
- dbt_platform_helper/constants.py,sha256=fzN2VZt81mspNfdYpNef5_eEjDVsh8GUYmhBMTIfPvI,232
19
+ dbt_platform_helper/constants.py,sha256=HVaaO7hlQB41GrBBxcgk7hHie9tKbeYhJc-cRyYuIE0,453
20
20
  dbt_platform_helper/default-extensions.yml,sha256=SU1ZitskbuEBpvE7efc3s56eAUF11j70brhj_XrNMMo,493
21
21
  dbt_platform_helper/domain/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- dbt_platform_helper/domain/database_copy.py,sha256=OS4vcAjsn7x9NI8LdxrU2HjcERySFrwC50SSt2Pd9lQ,8532
22
+ dbt_platform_helper/domain/codebase.py,sha256=sWmjkKSYh7SnuFFoLtStI6_aYwvncnoAs3xzZZctQY4,9432
23
+ dbt_platform_helper/domain/conduit.py,sha256=nzkeFCRwEuI5QK092H50l6o2CDD4ZuCuTXLDDmsTNd4,7207
24
+ dbt_platform_helper/domain/database_copy.py,sha256=QUw8XeUzcKccu4U33b9AKSOwCuGsONIzdmInlOzsmA4,8525
23
25
  dbt_platform_helper/domain/maintenance_page.py,sha256=NFHN_J0NthhJ1YkcOTJ8c0R8y33TrDZq3ka2fmMRM1g,15708
24
- dbt_platform_helper/exceptions.py,sha256=dCQkqmlt5yycZgblwTtpkwGrP7ANQB_1MRORUWIYI-U,541
26
+ dbt_platform_helper/exceptions.py,sha256=LMkYMBwtKGIooamJ-2p0snKkP9iqTNenvqdkIUzudU4,1438
25
27
  dbt_platform_helper/jinja2_tags.py,sha256=jFyN_Sxmko1GSfvrqRIGQ80CCW8EwlCV3su0ahJPfoE,541
28
+ dbt_platform_helper/providers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
29
+ dbt_platform_helper/providers/cloudformation.py,sha256=wIfgfRl4eTdQfLBU6qIS_Q_US0TY3fEo5E-_GxDS_Gk,3981
30
+ dbt_platform_helper/providers/copilot.py,sha256=gEVaEnIcxFV418FitQTXU9MWtRv6Sb5TF7DNtYI49Ng,4662
31
+ dbt_platform_helper/providers/ecs.py,sha256=R_kuAv4O0zfu7LnwYsTAmFYT9IBGUd8lUVxTY3OQIxI,2506
26
32
  dbt_platform_helper/providers/load_balancers.py,sha256=e1SPrWbBWq95paSVd3Y5yORIrHAZxcVabBYDjPyUTsU,1430
33
+ dbt_platform_helper/providers/secrets.py,sha256=9mZ3SfWguqUyd2s_yoOFEKxqqq6sls_ss_839Lo38bg,3122
27
34
  dbt_platform_helper/templates/.copilot/config.yml,sha256=J_bA9sCtBdCPBRImpCBRnYvhQd4vpLYIXIU-lq9vbkA,158
28
35
  dbt_platform_helper/templates/.copilot/image_build_run.sh,sha256=adYucYXEB-kAgZNjTQo0T6EIAY8sh_xCEvVhWKKQ8mw,164
29
36
  dbt_platform_helper/templates/.copilot/phases/build.sh,sha256=umKXePcRvx4XyrRY0fAWIyYFtNjqBI2L8vIJk-V7C60,121
@@ -34,22 +41,13 @@ dbt_platform_helper/templates/COMMANDS.md.jinja,sha256=Chfpkr8MfrZg_Y2Oskwqk3uVw
34
41
  dbt_platform_helper/templates/addon-instructions.txt,sha256=Dhd1xDbFKnX7xjfCz0W52P6PqPI9M8dyoxoSHAY2fao,597
35
42
  dbt_platform_helper/templates/addons/README.md,sha256=UdVydY2ocm1OLKecZ8MAiXet3rKsMiq0PpBrmi0Xrns,412
36
43
  dbt_platform_helper/templates/addons/svc/appconfig-ipfilter.yml,sha256=nBIXV4um4jIvXs3Q5QycHqVpJODK5yg_M-xJT6AOBKE,977
37
- dbt_platform_helper/templates/addons/svc/prometheus-policy.yml,sha256=cxt0N_MVs-29IX213B6H64-5aWVQNDUR5UnYbLlhX2I,1032
44
+ dbt_platform_helper/templates/addons/svc/prometheus-policy.yml,sha256=PwkGwri6IUuullXjEu17RZWYdoJR45Eb7BdUb2_AdOA,1074
38
45
  dbt_platform_helper/templates/addons/svc/s3-policy.yml,sha256=jwTpFNmm8CaP0c6VXXBJvEm_YLA17Nf-S1xyU1ahLJ8,2164
39
46
  dbt_platform_helper/templates/addons/svc/subscription-filter.yml,sha256=irD0AjPc38xTRzEday2Ko-KrjK4hPlyLxUFvUITjMkU,914
40
47
  dbt_platform_helper/templates/ci-codebuild-role-policy.json,sha256=hNE-wGrraWxsJAWE9ahtL7Bkw7PEz-CXBQnM3DR70vQ,1836
41
48
  dbt_platform_helper/templates/create-codebuild-role.json,sha256=THJgIKi8rWwDzhg5ZxT8a0UkXKBfXZ-zsXm8St_ixPg,197
42
49
  dbt_platform_helper/templates/custom-codebuild-role-policy.json,sha256=8xyCofilPhV1Yjt3OnQLcI2kZ35mk2c07GcqYrKxuoI,1180
43
50
  dbt_platform_helper/templates/env/manifest.yml,sha256=VCEj_y3jdfnPYi6gmyrwiEqzHYjpaJDANbvswmkiLA0,802
44
- dbt_platform_helper/templates/env/overrides/.gitignore,sha256=duFipE4GPjdkrYo-sO1jjCXdmSMoYNoFJLZ19lUKfL0,169
45
- dbt_platform_helper/templates/env/overrides/README.md,sha256=n-wlfeSEqtY1Ajq4RVYl3xD6x804lz0YtezKTgB3Z00,443
46
- dbt_platform_helper/templates/env/overrides/bin/override.ts,sha256=7_FT8mvS-yc5OcqJvVMvDQ4CEh5L_7hWFmApUXN2bbk,284
47
- dbt_platform_helper/templates/env/overrides/cdk.json,sha256=ZbvoQdcj_k9k1GAD9qHUQcDfQPbMcBPjJwt2mu_S6ho,339
48
- dbt_platform_helper/templates/env/overrides/log_resource_policy.json,sha256=_WBPaEuX_ImPNuFuhXTgLBY6P-FsnCLKhCYKgxGFyGk,1760
49
- dbt_platform_helper/templates/env/overrides/package-lock.json,sha256=faLqSIOwLWCwz-9HWYGL5ovqmyMfv2w317FWQcO6_vA,155387
50
- dbt_platform_helper/templates/env/overrides/package.json,sha256=dLDirCV_IljHPl1jfGsG7cH18YuTCeg95i3SBSOm8CI,536
51
- dbt_platform_helper/templates/env/overrides/stack.ts,sha256=mh5xBJ_enJGUflIDlD-aRLKB_IE5OcvM6W8dGUdB-io,1910
52
- dbt_platform_helper/templates/env/overrides/tsconfig.json,sha256=xOAruVlYLYq9vU1MiIruhrIXDWYVXjbxy9Y42bHh5xE,710
53
51
  dbt_platform_helper/templates/env/terraform-overrides/cfn.patches.yml,sha256=cFlg69fvi9kzpz13ZAeY1asseZ6TuUex-6s76jG3oL4,259
54
52
  dbt_platform_helper/templates/environment-pipelines/main.tf,sha256=R5xM5OHmWD1BjUyl67uOVQ_PbgR96PuiYXlCDXoaj8c,1914
55
53
  dbt_platform_helper/templates/environments/main.tf,sha256=6tgxyGLvllZCiN2ryYwNM6fcm6wijb-LMjwdb9UckyU,1579
@@ -65,7 +63,7 @@ dbt_platform_helper/templates/pipelines/codebase/overrides/stack.ts,sha256=v9m6E
65
63
  dbt_platform_helper/templates/pipelines/codebase/overrides/tsconfig.json,sha256=k6KabP-WwhFNgA1AFHNuonTEAnES6eR74jUuYUJEGOM,651
66
64
  dbt_platform_helper/templates/pipelines/codebase/overrides/types.ts,sha256=8cp5xl_CIMH5TPvwlw9UBPKwfntcsu-lTAjbL5uylgw,1257
67
65
  dbt_platform_helper/templates/pipelines/environments/buildspec.yml,sha256=hTCUhSfrnTUMOpUo8EjQmvit2aX7J0cKNeqV2DChaA0,3365
68
- dbt_platform_helper/templates/pipelines/environments/manifest.yml,sha256=UyHL6wH2mznldZIyjPSbG72yO6zErglNcaoliHOKYvM,1765
66
+ dbt_platform_helper/templates/pipelines/environments/manifest.yml,sha256=0-6uGxjm8Qz1l8EozNHB5JY7UFzWZicHK_AvtFMPfTo,1664
69
67
  dbt_platform_helper/templates/pipelines/environments/overrides/cfn.patches.yml,sha256=VLjm3Dz4clUz44B5RSQy7mu1sRzm7Yf2S_TSnor_b_k,638
70
68
  dbt_platform_helper/templates/svc/maintenance_pages/default.html,sha256=OTZ-qwwSXu7PFbsgp4kppdm1lsg_iHK7FCFqhPnvrEs,741
71
69
  dbt_platform_helper/templates/svc/maintenance_pages/dmas-migration.html,sha256=qvI6tHuI0UQbMBCuvPgK1a_zLANB6w7KVo9N5d8r-i0,829
@@ -74,22 +72,22 @@ dbt_platform_helper/templates/svc/manifest-backend.yml,sha256=aAD9ndkbXnF7JBAKS2
74
72
  dbt_platform_helper/templates/svc/manifest-public.yml,sha256=6NHVR_onBu5hbwynLrB6roDRce7JcylSc0qeYvzlPdI,3664
75
73
  dbt_platform_helper/templates/svc/overrides/cfn.patches.yml,sha256=W7-d017akuUq9kda64DQxazavcRcCPDjaAik6t1EZqM,742
76
74
  dbt_platform_helper/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
77
- dbt_platform_helper/utils/application.py,sha256=FzEoyTUlRJ7bt01cZAg-JHRQM4CqosVLOojdfwaDl6w,4113
75
+ dbt_platform_helper/utils/application.py,sha256=C-t8LIFqE-rrVBNqWEGRtCd6uOt41Y2t0z9_SEZm7oE,4127
78
76
  dbt_platform_helper/utils/arn_parser.py,sha256=1jY0elpAe4YL3ulrrCf1YiKmjI-7YXz4gJASqkIFHTc,1294
79
- dbt_platform_helper/utils/aws.py,sha256=Liu-Mup3lYQp0KSPNXTZI7VN0sk1cHvOtctyKav6DeU,14401
77
+ dbt_platform_helper/utils/aws.py,sha256=TkgDBelEcfBKQwiYiYZD1RMCxC4tZkRn0PyLyiM19Eo,18555
80
78
  dbt_platform_helper/utils/click.py,sha256=Fx4y4bbve1zypvog_sgK7tJtCocmzheoEFLBRv1lfdM,2943
81
79
  dbt_platform_helper/utils/cloudfoundry.py,sha256=GnQ4fVLnDfOdNSrsJjI6ElZHqpgwINeoPn77cUH2UFY,484
82
- dbt_platform_helper/utils/files.py,sha256=wKDPLZSC3tIZrto-0xGYPmemN8Fsn4spdUsNtYQVVcY,3084
83
- dbt_platform_helper/utils/git.py,sha256=9jyLhv37KKE6r-_hb3zvjhTbluA81kdrOdNeG6MB-_M,384
80
+ dbt_platform_helper/utils/files.py,sha256=pa5uwwrEFIAgXZUyH2KEr2Yiu6bKuV4EMlhn9BcUMsY,5296
81
+ dbt_platform_helper/utils/git.py,sha256=aI7pCst5hm4XACiubsTpGJV1UEBLnxLpUGXu4h4hofM,696
84
82
  dbt_platform_helper/utils/manifests.py,sha256=ji3UYHCxq9tTpkm4MlRa2y0-JOYYqq1pWZ2h_zpj0UU,507
85
83
  dbt_platform_helper/utils/messages.py,sha256=aLx6s9utt__IqlDdeIYq4n82ERwludu2Zfqy0Q2t-x8,115
86
84
  dbt_platform_helper/utils/platform_config.py,sha256=2RfIxBAT5fv7WR4YuP3yomUK7sKZFL77xevuHnUALdg,676
87
85
  dbt_platform_helper/utils/template.py,sha256=raRx4QUCVJtKfvJK08Egg6gwWcs3r3V4nPWcJW4xNhA,574
88
- dbt_platform_helper/utils/validation.py,sha256=htEcvFNnqO9OPCrvvl_Emo0bUsN9f_ThBG5aomVfKIE,24919
86
+ dbt_platform_helper/utils/validation.py,sha256=TYLEVdTPBFArnodS9Z7V72qxZJ37GIJto3EXKuBiXFU,28944
89
87
  dbt_platform_helper/utils/versioning.py,sha256=IBxdocJ8ZyJib38d1ja87tTuFE0iJ4npaDcAHQAKQ58,10825
90
88
  platform_helper.py,sha256=bly3JkwbfwnWTZSZziu40dbgzQItsK-DIMMvL6ArFDY,1893
91
- dbt_platform_helper-12.0.2.dist-info/LICENSE,sha256=dP79lN73--7LMApnankTGLqDbImXg8iYFqWgnExGkGk,1090
92
- dbt_platform_helper-12.0.2.dist-info/METADATA,sha256=vB1v0cU5Em7Ltkyvjyb64YtLrCTg3jFOBDg_4qScIJE,3161
93
- dbt_platform_helper-12.0.2.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
94
- dbt_platform_helper-12.0.2.dist-info/entry_points.txt,sha256=QhbY8F434A-onsg0-FsdMd2U6HKh6Q7yCFFZrGUh5-M,67
95
- dbt_platform_helper-12.0.2.dist-info/RECORD,,
89
+ dbt_platform_helper-12.2.0.dist-info/LICENSE,sha256=dP79lN73--7LMApnankTGLqDbImXg8iYFqWgnExGkGk,1090
90
+ dbt_platform_helper-12.2.0.dist-info/METADATA,sha256=MBBb7DgNROwNk8elF0irF1PNYSCDCAHSy9G7nTJciEk,3212
91
+ dbt_platform_helper-12.2.0.dist-info/WHEEL,sha256=Nq82e9rUAnEjt98J6MlVmMCZb-t9cYE2Ir1kpBmnWfs,88
92
+ dbt_platform_helper-12.2.0.dist-info/entry_points.txt,sha256=QhbY8F434A-onsg0-FsdMd2U6HKh6Q7yCFFZrGUh5-M,67
93
+ dbt_platform_helper-12.2.0.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 1.9.0
2
+ Generator: poetry-core 1.9.1
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,12 +0,0 @@
1
- # Copilot template communication with the CDK.
2
- .build
3
-
4
- # NodeJS artifacts.
5
- node_modules
6
- *.js
7
- !jest.config.js
8
- *.d.ts
9
-
10
- # CDK asset staging directory.
11
- .cdk.staging
12
- cdk.out
@@ -1,11 +0,0 @@
1
- # Answers to some obvious questions
2
-
3
- ## Why not regular cfn.patches.yml for the overrides?
4
-
5
- We need to add the contents of `extensions.yml` to Parameter Store.
6
-
7
- This is then used by is used by `platform-helper conduit` so that you don't have to be in the `*-deploy` directory to run it.
8
-
9
- ## Why TypeScript and not Python?
10
-
11
- Because [TypeScript is what AWS Copilot supports](https://aws.github.io/copilot-cli/en/docs/developing/overrides/cdk/).
@@ -1,9 +0,0 @@
1
- #!/usr/bin/env node
2
- import * as cdk from 'aws-cdk-lib';
3
- import { TransformedStack } from '../stack';
4
-
5
- const app = new cdk.App();
6
- new TransformedStack(app, 'Stack', {
7
- appName: process.env.COPILOT_APPLICATION_NAME || "",
8
- envName: process.env.COPILOT_ENVIRONMENT_NAME || "",
9
- });
@@ -1,20 +0,0 @@
1
- {
2
- "app": "npx ts-node --prefer-ts-exts bin/override.ts",
3
- "versionReporting": false,
4
- "watch": {
5
- "include": [
6
- "**"
7
- ],
8
- "exclude": [
9
- "README.md",
10
- "cdk*.json",
11
- "**/*.d.ts",
12
- "**/*.js",
13
- "tsconfig.json",
14
- "package*.json",
15
- "yarn.lock",
16
- "node_modules",
17
- "test"
18
- ]
19
- }
20
- }
@@ -1,68 +0,0 @@
1
- {
2
- "Version": "2012-10-17",
3
- "Statement": [
4
- {
5
- "Sid": "StateMachineToCloudWatchLogs123",
6
- "Effect": "Allow",
7
- "Principal": {
8
- "Service": [
9
- "delivery.logs.amazonaws.com"
10
- ]
11
- },
12
- "Action": [
13
- "logs:CreateLogStream",
14
- "logs:PutLogEvents"
15
- ],
16
- "Resource": [
17
- "arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:log-group:/copilot/${AppName}-${EnvironmentName}-*:log-stream:*"
18
- ],
19
- "Condition": {
20
- "StringEquals": {
21
- "aws:SourceAccount": "${AWS::AccountId}"
22
- },
23
- "ArnLike": {
24
- "aws:SourceArn": "arn:${AWS::Partition}:logs:${AWS::Region}:${AWS::AccountId}:*"
25
- }
26
- }
27
- },
28
- {
29
- "Effect": "Allow",
30
- "Principal": {
31
- "Service": [
32
- "delivery.logs.amazonaws.com"
33
- ]
34
- },
35
- "Action": [
36
- "logs:CreateLogStream",
37
- "logs:PutLogEvents"
38
- ],
39
- "Resource": "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/elasticache/${AppName}/${EnvironmentName}/*",
40
- "Condition": {
41
- "StringEquals": {
42
- "aws:SourceAccount": "${AWS::AccountId}"
43
- },
44
- "ArnLike": {
45
- "aws:SourceArn": "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:*"
46
- }
47
- }
48
- },
49
- {
50
- "Effect": "Allow",
51
- "Principal": {
52
- "Service": [
53
- "es.amazonaws.com"
54
- ]
55
- },
56
- "Action": [
57
- "logs:PutLogEvents",
58
- "logs:CreateLogStream"
59
- ],
60
- "Resource": "arn:aws:logs:${AWS::Region}:${AWS::AccountId}:log-group:/aws/opensearch/${AppName}/${EnvironmentName}/*",
61
- "Condition": {
62
- "StringEquals": {
63
- "aws:SourceAccount": "${AWS::AccountId}"
64
- }
65
- }
66
- }
67
- ]
68
- }