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.
- dbt_platform_helper/COMMANDS.md +7 -8
- dbt_platform_helper/commands/application.py +1 -0
- dbt_platform_helper/commands/codebase.py +63 -228
- dbt_platform_helper/commands/conduit.py +34 -409
- dbt_platform_helper/commands/secrets.py +1 -1
- dbt_platform_helper/constants.py +12 -1
- dbt_platform_helper/domain/codebase.py +222 -0
- dbt_platform_helper/domain/conduit.py +172 -0
- dbt_platform_helper/domain/database_copy.py +1 -1
- dbt_platform_helper/exceptions.py +61 -0
- dbt_platform_helper/providers/__init__.py +0 -0
- dbt_platform_helper/providers/cloudformation.py +105 -0
- dbt_platform_helper/providers/copilot.py +144 -0
- dbt_platform_helper/providers/ecs.py +78 -0
- dbt_platform_helper/providers/secrets.py +85 -0
- dbt_platform_helper/templates/addons/svc/prometheus-policy.yml +2 -0
- dbt_platform_helper/templates/pipelines/environments/manifest.yml +0 -1
- dbt_platform_helper/utils/application.py +1 -4
- dbt_platform_helper/utils/aws.py +132 -0
- dbt_platform_helper/utils/files.py +70 -0
- dbt_platform_helper/utils/git.py +13 -0
- dbt_platform_helper/utils/validation.py +121 -3
- {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/METADATA +2 -1
- {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/RECORD +27 -29
- {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/WHEEL +1 -1
- dbt_platform_helper/templates/env/overrides/.gitignore +0 -12
- dbt_platform_helper/templates/env/overrides/README.md +0 -11
- dbt_platform_helper/templates/env/overrides/bin/override.ts +0 -9
- dbt_platform_helper/templates/env/overrides/cdk.json +0 -20
- dbt_platform_helper/templates/env/overrides/log_resource_policy.json +0 -68
- dbt_platform_helper/templates/env/overrides/package-lock.json +0 -4307
- dbt_platform_helper/templates/env/overrides/package.json +0 -27
- dbt_platform_helper/templates/env/overrides/stack.ts +0 -51
- dbt_platform_helper/templates/env/overrides/tsconfig.json +0 -32
- {dbt_platform_helper-12.0.2.dist-info → dbt_platform_helper-12.2.0.dist-info}/LICENSE +0 -0
- {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 =
|
|
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 =
|
|
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
|
|
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=
|
|
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=
|
|
8
|
-
dbt_platform_helper/commands/codebase.py,sha256=
|
|
9
|
-
dbt_platform_helper/commands/conduit.py,sha256=
|
|
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=
|
|
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=
|
|
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/
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
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=
|
|
83
|
-
dbt_platform_helper/utils/git.py,sha256=
|
|
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=
|
|
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.
|
|
92
|
-
dbt_platform_helper-12.0.
|
|
93
|
-
dbt_platform_helper-12.0.
|
|
94
|
-
dbt_platform_helper-12.0.
|
|
95
|
-
dbt_platform_helper-12.0.
|
|
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,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
|
-
}
|