dbt-platform-helper 12.2.2__tar.gz → 12.2.3__tar.gz

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 (91) hide show
  1. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/PKG-INFO +1 -1
  2. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/environment.py +44 -10
  3. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/pyproject.toml +1 -1
  4. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/LICENSE +0 -0
  5. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/COMMANDS.md +0 -0
  6. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/README.md +0 -0
  7. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/__init__.py +0 -0
  8. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/addon-plans.yml +0 -0
  9. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/addons-template-map.yml +0 -0
  10. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/__init__.py +0 -0
  11. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/application.py +0 -0
  12. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/codebase.py +0 -0
  13. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/conduit.py +0 -0
  14. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/config.py +0 -0
  15. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/copilot.py +0 -0
  16. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/database.py +0 -0
  17. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/generate.py +0 -0
  18. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/notify.py +0 -0
  19. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/pipeline.py +0 -0
  20. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/secrets.py +0 -0
  21. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/commands/version.py +0 -0
  22. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/constants.py +0 -0
  23. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/default-extensions.yml +0 -0
  24. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/domain/__init__.py +0 -0
  25. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/domain/codebase.py +0 -0
  26. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/domain/conduit.py +0 -0
  27. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/domain/database_copy.py +0 -0
  28. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/domain/maintenance_page.py +0 -0
  29. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/exceptions.py +0 -0
  30. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/jinja2_tags.py +0 -0
  31. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/providers/__init__.py +0 -0
  32. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/providers/cloudformation.py +0 -0
  33. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/providers/copilot.py +0 -0
  34. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/providers/ecs.py +0 -0
  35. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/providers/load_balancers.py +0 -0
  36. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/providers/secrets.py +0 -0
  37. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/.copilot/config.yml +0 -0
  38. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/.copilot/image_build_run.sh +0 -0
  39. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/.copilot/phases/build.sh +0 -0
  40. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/.copilot/phases/install.sh +0 -0
  41. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/.copilot/phases/post_build.sh +0 -0
  42. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/.copilot/phases/pre_build.sh +0 -0
  43. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/COMMANDS.md.jinja +0 -0
  44. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/addon-instructions.txt +0 -0
  45. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/addons/README.md +0 -0
  46. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/addons/svc/appconfig-ipfilter.yml +0 -0
  47. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/addons/svc/prometheus-policy.yml +0 -0
  48. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/addons/svc/s3-policy.yml +0 -0
  49. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/addons/svc/subscription-filter.yml +0 -0
  50. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/ci-codebuild-role-policy.json +0 -0
  51. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/create-codebuild-role.json +0 -0
  52. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/custom-codebuild-role-policy.json +0 -0
  53. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/env/manifest.yml +0 -0
  54. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/env/terraform-overrides/cfn.patches.yml +0 -0
  55. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/environment-pipelines/main.tf +0 -0
  56. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/environments/main.tf +0 -0
  57. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/manifest.yml +0 -0
  58. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/.gitignore +0 -0
  59. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/bin/override.ts +0 -0
  60. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/buildspec.deploy.yml +0 -0
  61. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/buildspec.image.yml +0 -0
  62. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/cdk.json +0 -0
  63. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/package-lock.json +0 -0
  64. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/package.json +0 -0
  65. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/stack.ts +0 -0
  66. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/tsconfig.json +0 -0
  67. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/codebase/overrides/types.ts +0 -0
  68. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/environments/buildspec.yml +0 -0
  69. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/environments/manifest.yml +0 -0
  70. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/pipelines/environments/overrides/cfn.patches.yml +0 -0
  71. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/svc/maintenance_pages/default.html +0 -0
  72. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/svc/maintenance_pages/dmas-migration.html +0 -0
  73. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/svc/maintenance_pages/migration.html +0 -0
  74. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/svc/manifest-backend.yml +0 -0
  75. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/svc/manifest-public.yml +0 -0
  76. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/templates/svc/overrides/cfn.patches.yml +0 -0
  77. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/__init__.py +0 -0
  78. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/application.py +0 -0
  79. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/arn_parser.py +0 -0
  80. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/aws.py +0 -0
  81. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/click.py +0 -0
  82. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/cloudfoundry.py +0 -0
  83. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/files.py +0 -0
  84. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/git.py +0 -0
  85. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/manifests.py +0 -0
  86. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/messages.py +0 -0
  87. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/platform_config.py +0 -0
  88. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/template.py +0 -0
  89. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/validation.py +0 -0
  90. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/dbt_platform_helper/utils/versioning.py +0 -0
  91. {dbt_platform_helper-12.2.2 → dbt_platform_helper-12.2.3}/platform_helper.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dbt-platform-helper
3
- Version: 12.2.2
3
+ Version: 12.2.3
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
@@ -71,7 +71,7 @@ def get_vpc_id(session, env_name, vpc_name=None):
71
71
  return vpcs[0]["VpcId"]
72
72
 
73
73
 
74
- def get_subnet_ids(session, vpc_id):
74
+ def get_subnet_ids(session, vpc_id, environment_name):
75
75
  subnets = session.client("ec2").describe_subnets(
76
76
  Filters=[{"Name": "vpc-id", "Values": [vpc_id]}]
77
77
  )["Subnets"]
@@ -81,11 +81,41 @@ def get_subnet_ids(session, vpc_id):
81
81
  raise click.Abort
82
82
 
83
83
  public_tag = {"Key": "subnet_type", "Value": "public"}
84
- public = [subnet["SubnetId"] for subnet in subnets if public_tag in subnet["Tags"]]
84
+ public_subnets = [subnet["SubnetId"] for subnet in subnets if public_tag in subnet["Tags"]]
85
85
  private_tag = {"Key": "subnet_type", "Value": "private"}
86
- private = [subnet["SubnetId"] for subnet in subnets if private_tag in subnet["Tags"]]
86
+ private_subnets = [subnet["SubnetId"] for subnet in subnets if private_tag in subnet["Tags"]]
87
+
88
+ # This call and the method declaration can be removed when we stop using AWS Copilot to deploy the services
89
+ public_subnets, private_subnets = _match_subnet_id_order_to_cloudformation_exports(
90
+ session,
91
+ environment_name,
92
+ public_subnets,
93
+ private_subnets,
94
+ )
95
+
96
+ return public_subnets, private_subnets
97
+
98
+
99
+ def _match_subnet_id_order_to_cloudformation_exports(
100
+ session, environment_name, public_subnets, private_subnets
101
+ ):
102
+ public_subnet_exports = []
103
+ private_subnet_exports = []
104
+ for page in session.client("cloudformation").get_paginator("list_exports").paginate():
105
+ for export in page["Exports"]:
106
+ if f"-{environment_name}-" in export["Name"]:
107
+ if export["Name"].endswith("-PublicSubnets"):
108
+ public_subnet_exports = export["Value"].split(",")
109
+ if export["Name"].endswith("-PrivateSubnets"):
110
+ private_subnet_exports = export["Value"].split(",")
111
+
112
+ # If the elements match, regardless of order, use the list from the CloudFormation exports
113
+ if set(public_subnets) == set(public_subnet_exports):
114
+ public_subnets = public_subnet_exports
115
+ if set(private_subnets) == set(private_subnet_exports):
116
+ private_subnets = private_subnet_exports
87
117
 
88
- return public, private
118
+ return public_subnets, private_subnets
89
119
 
90
120
 
91
121
  def get_cert_arn(session, application, env_name):
@@ -142,22 +172,26 @@ def generate_terraform(name, terraform_platform_modules_version):
142
172
  )
143
173
 
144
174
 
145
- def _generate_copilot_environment_manifests(name, application, env_config, session):
175
+ def _generate_copilot_environment_manifests(environment_name, application, env_config, session):
146
176
  env_template = setup_templates().get_template("env/manifest.yml")
147
177
  vpc_name = env_config.get("vpc", None)
148
- vpc_id = get_vpc_id(session, name, vpc_name)
149
- pub_subnet_ids, priv_subnet_ids = get_subnet_ids(session, vpc_id)
150
- cert_arn = get_cert_arn(session, application, name)
178
+ vpc_id = get_vpc_id(session, environment_name, vpc_name)
179
+ pub_subnet_ids, priv_subnet_ids = get_subnet_ids(session, vpc_id, environment_name)
180
+ cert_arn = get_cert_arn(session, application, environment_name)
151
181
  contents = env_template.render(
152
182
  {
153
- "name": name,
183
+ "name": environment_name,
154
184
  "vpc_id": vpc_id,
155
185
  "pub_subnet_ids": pub_subnet_ids,
156
186
  "priv_subnet_ids": priv_subnet_ids,
157
187
  "certificate_arn": cert_arn,
158
188
  }
159
189
  )
160
- click.echo(mkfile(".", f"copilot/environments/{name}/manifest.yml", contents, overwrite=True))
190
+ click.echo(
191
+ mkfile(
192
+ ".", f"copilot/environments/{environment_name}/manifest.yml", contents, overwrite=True
193
+ )
194
+ )
161
195
 
162
196
 
163
197
  def _generate_terraform_environment_manifests(
@@ -3,7 +3,7 @@ line-length = 100
3
3
 
4
4
  [tool.poetry]
5
5
  name = "dbt-platform-helper"
6
- version = "12.2.2"
6
+ version = "12.2.3"
7
7
  description = "Set of tools to help transfer applications/services from GOV.UK PaaS to DBT PaaS augmenting AWS Copilot."
8
8
  authors = ["Department for Business and Trade Platform Team <sre-team@digital.trade.gov.uk>"]
9
9
  license = "MIT"