dbt-platform-helper 13.1.1__tar.gz → 13.2.0__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.
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/PKG-INFO +3 -4
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/application.py +3 -5
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/codebase.py +2 -4
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/conduit.py +2 -4
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/config.py +19 -17
- dbt_platform_helper-13.2.0/dbt_platform_helper/commands/copilot.py +35 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/environment.py +6 -6
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/generate.py +2 -3
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/notify.py +2 -4
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/pipeline.py +2 -4
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/secrets.py +2 -4
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/version.py +2 -2
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/codebase.py +14 -11
- dbt_platform_helper-13.2.0/dbt_platform_helper/domain/copilot.py +397 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/copilot_environment.py +6 -6
- dbt_platform_helper-13.2.0/dbt_platform_helper/domain/maintenance_page.py +359 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/pipelines.py +1 -1
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/terraform_environment.py +1 -1
- dbt_platform_helper-13.2.0/dbt_platform_helper/domain/versioning.py +157 -0
- dbt_platform_helper-13.2.0/dbt_platform_helper/providers/aws/interfaces.py +13 -0
- dbt_platform_helper-13.2.0/dbt_platform_helper/providers/aws/opensearch.py +23 -0
- dbt_platform_helper-13.2.0/dbt_platform_helper/providers/aws/redis.py +21 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/cache.py +40 -4
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/config_validator.py +15 -14
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/copilot.py +1 -1
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/io.py +17 -0
- dbt_platform_helper-13.2.0/dbt_platform_helper/providers/kms.py +22 -0
- dbt_platform_helper-13.2.0/dbt_platform_helper/providers/load_balancers.py +311 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/semantic_version.py +33 -10
- dbt_platform_helper-13.2.0/dbt_platform_helper/providers/version.py +78 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/yaml_file.py +0 -1
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/application.py +14 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/aws.py +27 -4
- dbt_platform_helper-13.2.0/dbt_platform_helper/utils/tool_versioning.py +96 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/pyproject.toml +4 -4
- dbt_platform_helper-13.1.1/dbt_platform_helper/commands/copilot.py +0 -412
- dbt_platform_helper-13.1.1/dbt_platform_helper/domain/maintenance_page.py +0 -563
- dbt_platform_helper-13.1.1/dbt_platform_helper/providers/load_balancers.py +0 -85
- dbt_platform_helper-13.1.1/dbt_platform_helper/providers/opensearch.py +0 -36
- dbt_platform_helper-13.1.1/dbt_platform_helper/providers/redis.py +0 -34
- dbt_platform_helper-13.1.1/dbt_platform_helper/providers/version.py +0 -36
- dbt_platform_helper-13.1.1/dbt_platform_helper/utils/versioning.py +0 -238
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/LICENSE +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/COMMANDS.md +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/README.md +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/__init__.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/addon-plans.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/__init__.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/database.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/constants.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/default-extensions.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/__init__.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/conduit.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/database_copy.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/jinja2_tags.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/platform_exception.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/__init__.py +0 -0
- /dbt_platform_helper-13.1.1/dbt_platform_helper/providers/aws.py → /dbt_platform_helper-13.2.0/dbt_platform_helper/providers/aws/exceptions.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/cloudformation.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/config.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/ecr.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/ecs.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/files.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/platform_config_schema.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/secrets.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/terraform_manifest.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/validation.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/providers/vpc.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/.copilot/config.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/.copilot/image_build_run.sh +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/.copilot/phases/build.sh +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/.copilot/phases/install.sh +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/.copilot/phases/post_build.sh +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/.copilot/phases/pre_build.sh +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/COMMANDS.md.jinja +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/addon-instructions.txt +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/addons/README.md +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/addons/svc/appconfig-ipfilter.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/addons/svc/prometheus-policy.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/addons/svc/s3-cross-account-policy.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/addons/svc/s3-policy.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/addons/svc/subscription-filter.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/ci-codebuild-role-policy.json +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/create-codebuild-role.json +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/custom-codebuild-role-policy.json +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/env/manifest.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/env/terraform-overrides/cfn.patches.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/environment-pipelines/main.tf +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/svc/maintenance_pages/default.html +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/svc/maintenance_pages/dmas-migration.html +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/svc/maintenance_pages/migration.html +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/svc/manifest-backend.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/svc/manifest-public.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/templates/svc/overrides/cfn.patches.yml +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/__init__.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/arn_parser.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/click.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/cloudfoundry.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/files.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/git.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/manifests.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/messages.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/template.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/utils/validation.py +0 -0
- {dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/platform_helper.py +0 -0
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: dbt-platform-helper
|
|
3
|
-
Version: 13.
|
|
3
|
+
Version: 13.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
|
|
7
7
|
Author-email: sre-team@digital.trade.gov.uk
|
|
8
|
-
Requires-Python: >=3.9
|
|
8
|
+
Requires-Python: >=3.9, !=2.7.*, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*, !=3.5.*, !=3.6.*, !=3.7.*, !=3.8.*
|
|
9
9
|
Classifier: License :: OSI Approved :: MIT License
|
|
10
10
|
Classifier: Programming Language :: Python :: 3
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
12
11
|
Classifier: Programming Language :: Python :: 3.10
|
|
13
12
|
Classifier: Programming Language :: Python :: 3.11
|
|
14
13
|
Classifier: Programming Language :: Python :: 3.12
|
|
@@ -25,7 +24,7 @@ Requires-Dist: cfn-lint (>=1.4.2,<2.0.0)
|
|
|
25
24
|
Requires-Dist: checkov (>=3.1.67,<4.0.0)
|
|
26
25
|
Requires-Dist: click (>=8.1.3,<9.0.0)
|
|
27
26
|
Requires-Dist: cloudfoundry-client (==1.35.2)
|
|
28
|
-
Requires-Dist: cryptography (>=
|
|
27
|
+
Requires-Dist: cryptography (>=44.0.1,<45)
|
|
29
28
|
Requires-Dist: jinja2-simple-tags (>=0.5.0,<0.6.0)
|
|
30
29
|
Requires-Dist: jsonschema (>=4.17.0,<4.18.0)
|
|
31
30
|
Requires-Dist: mypy-boto3-codebuild (>=1.26.0.post1,<2.0.0)
|
|
@@ -10,11 +10,9 @@ from datetime import timedelta
|
|
|
10
10
|
import click
|
|
11
11
|
from prettytable import PrettyTable
|
|
12
12
|
|
|
13
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
13
14
|
from dbt_platform_helper.utils.application import load_application
|
|
14
15
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
15
|
-
from dbt_platform_helper.utils.versioning import (
|
|
16
|
-
check_platform_helper_version_needs_update,
|
|
17
|
-
)
|
|
18
16
|
|
|
19
17
|
YELLOW = "\033[93m"
|
|
20
18
|
CYAN = "\033[96m"
|
|
@@ -97,7 +95,7 @@ def get_query_results(env, app, query_string, timeout):
|
|
|
97
95
|
@click.group(chain=True, cls=ClickDocOptGroup, deprecated=True)
|
|
98
96
|
def application():
|
|
99
97
|
"""[DEPRECATED] Application metrics."""
|
|
100
|
-
|
|
98
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
101
99
|
|
|
102
100
|
|
|
103
101
|
@application.command(deprecated=True)
|
|
@@ -141,7 +139,7 @@ def container_stats(env, app, storage, network):
|
|
|
141
139
|
storage_write = field[6]["value"]
|
|
142
140
|
network_read = field[7]["value"]
|
|
143
141
|
network_write = field[8]["value"]
|
|
144
|
-
cpu = "
|
|
142
|
+
cpu = f"{float(field[9]['value']):.1f}%"
|
|
145
143
|
memory = f"{field[10]['value']}M"
|
|
146
144
|
|
|
147
145
|
# Nothing to compare to at start.
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/codebase.py
RENAMED
|
@@ -1,18 +1,16 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
3
|
from dbt_platform_helper.domain.codebase import Codebase
|
|
4
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
4
5
|
from dbt_platform_helper.platform_exception import PlatformException
|
|
5
6
|
from dbt_platform_helper.providers.io import ClickIOProvider
|
|
6
7
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
7
|
-
from dbt_platform_helper.utils.versioning import (
|
|
8
|
-
check_platform_helper_version_needs_update,
|
|
9
|
-
)
|
|
10
8
|
|
|
11
9
|
|
|
12
10
|
@click.group(chain=True, cls=ClickDocOptGroup)
|
|
13
11
|
def codebase():
|
|
14
12
|
"""Codebase commands."""
|
|
15
|
-
|
|
13
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
16
14
|
|
|
17
15
|
|
|
18
16
|
@codebase.command()
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/conduit.py
RENAMED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
3
|
from dbt_platform_helper.domain.conduit import Conduit
|
|
4
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
4
5
|
from dbt_platform_helper.platform_exception import PlatformException
|
|
5
6
|
from dbt_platform_helper.providers.cloudformation import CloudFormation
|
|
6
7
|
from dbt_platform_helper.providers.ecs import ECS
|
|
@@ -8,9 +9,6 @@ from dbt_platform_helper.providers.io import ClickIOProvider
|
|
|
8
9
|
from dbt_platform_helper.providers.secrets import Secrets
|
|
9
10
|
from dbt_platform_helper.utils.application import load_application
|
|
10
11
|
from dbt_platform_helper.utils.click import ClickDocOptCommand
|
|
11
|
-
from dbt_platform_helper.utils.versioning import (
|
|
12
|
-
check_platform_helper_version_needs_update,
|
|
13
|
-
)
|
|
14
12
|
|
|
15
13
|
CONDUIT_ACCESS_OPTIONS = ["read", "write", "admin"]
|
|
16
14
|
|
|
@@ -28,7 +26,7 @@ CONDUIT_ACCESS_OPTIONS = ["read", "write", "admin"]
|
|
|
28
26
|
def conduit(addon_name: str, app: str, env: str, access: str):
|
|
29
27
|
"""Opens a shell for a given addon_name create a conduit connection to
|
|
30
28
|
interact with postgres, opensearch or redis."""
|
|
31
|
-
|
|
29
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
32
30
|
application = load_application(app)
|
|
33
31
|
|
|
34
32
|
try:
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/config.py
RENAMED
|
@@ -9,13 +9,14 @@ import click
|
|
|
9
9
|
from prettytable import PrettyTable
|
|
10
10
|
|
|
11
11
|
from dbt_platform_helper.providers.config import ConfigProvider
|
|
12
|
+
from dbt_platform_helper.providers.io import ClickIOProvider
|
|
12
13
|
from dbt_platform_helper.providers.semantic_version import (
|
|
13
14
|
IncompatibleMajorVersionException,
|
|
14
15
|
)
|
|
15
16
|
from dbt_platform_helper.providers.validation import ValidationException
|
|
16
|
-
from dbt_platform_helper.utils import
|
|
17
|
+
from dbt_platform_helper.utils import tool_versioning
|
|
17
18
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
18
|
-
from dbt_platform_helper.utils.
|
|
19
|
+
from dbt_platform_helper.utils.tool_versioning import get_platform_helper_version_status
|
|
19
20
|
|
|
20
21
|
yes = "\033[92m✔\033[0m"
|
|
21
22
|
no = "\033[91m✖\033[0m"
|
|
@@ -75,14 +76,15 @@ def deployment():
|
|
|
75
76
|
click.secho()
|
|
76
77
|
|
|
77
78
|
compatible = True
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
platform_helper_version_status = get_platform_helper_version_status()
|
|
80
|
+
ClickIOProvider().process_messages(platform_helper_version_status.validate())
|
|
81
|
+
copilot_versions = tool_versioning.get_copilot_versions()
|
|
82
|
+
aws_versions = tool_versioning.get_aws_versions()
|
|
83
|
+
_check_tool_versions(platform_helper_version_status, copilot_versions, aws_versions)
|
|
82
84
|
click.secho("Checking addons templates versions...", fg="blue")
|
|
83
85
|
|
|
84
|
-
local_version =
|
|
85
|
-
latest_release =
|
|
86
|
+
local_version = platform_helper_version_status.installed
|
|
87
|
+
latest_release = platform_helper_version_status.latest
|
|
86
88
|
addons_templates_table = PrettyTable()
|
|
87
89
|
addons_templates_table.field_names = [
|
|
88
90
|
"Addons Template File",
|
|
@@ -108,10 +110,10 @@ def deployment():
|
|
|
108
110
|
latest_compatible_symbol = yes
|
|
109
111
|
|
|
110
112
|
try:
|
|
111
|
-
generated_with_version =
|
|
113
|
+
generated_with_version = tool_versioning.get_template_generated_with_version(
|
|
112
114
|
str(template_file.resolve())
|
|
113
115
|
)
|
|
114
|
-
|
|
116
|
+
tool_versioning.validate_template_version(local_version, str(template_file.resolve()))
|
|
115
117
|
except IncompatibleMajorVersionException:
|
|
116
118
|
local_compatible_symbol = no
|
|
117
119
|
compatible = False
|
|
@@ -132,10 +134,10 @@ def deployment():
|
|
|
132
134
|
]
|
|
133
135
|
|
|
134
136
|
try:
|
|
135
|
-
generated_with_version =
|
|
137
|
+
generated_with_version = tool_versioning.get_template_generated_with_version(
|
|
136
138
|
str(template_file.resolve())
|
|
137
139
|
)
|
|
138
|
-
|
|
140
|
+
tool_versioning.validate_template_version(latest_release, str(template_file.resolve()))
|
|
139
141
|
except IncompatibleMajorVersionException:
|
|
140
142
|
latest_compatible_symbol = no
|
|
141
143
|
compatible = False
|
|
@@ -162,14 +164,14 @@ def _check_tool_versions(platform_helper_versions, copilot_versions, aws_version
|
|
|
162
164
|
click.secho("Checking tooling versions...", fg="blue")
|
|
163
165
|
recommendations = {}
|
|
164
166
|
|
|
165
|
-
local_copilot_version = copilot_versions.
|
|
167
|
+
local_copilot_version = copilot_versions.installed
|
|
166
168
|
copilot_latest_release = copilot_versions.latest
|
|
167
169
|
if local_copilot_version is None:
|
|
168
170
|
recommendations["install-copilot"] = (
|
|
169
171
|
"Install AWS Copilot https://aws.github.io/copilot-cli/"
|
|
170
172
|
)
|
|
171
173
|
|
|
172
|
-
if aws_versions.
|
|
174
|
+
if aws_versions.installed is None:
|
|
173
175
|
recommendations["install-aws"] = "Install AWS CLI https://aws.amazon.com/cli/"
|
|
174
176
|
|
|
175
177
|
tool_versions_table = PrettyTable()
|
|
@@ -184,7 +186,7 @@ def _check_tool_versions(platform_helper_versions, copilot_versions, aws_version
|
|
|
184
186
|
tool_versions_table.add_row(
|
|
185
187
|
[
|
|
186
188
|
"aws",
|
|
187
|
-
str(aws_versions.
|
|
189
|
+
str(aws_versions.installed),
|
|
188
190
|
str(aws_versions.latest),
|
|
189
191
|
no if aws_versions.is_outdated() else yes,
|
|
190
192
|
]
|
|
@@ -192,7 +194,7 @@ def _check_tool_versions(platform_helper_versions, copilot_versions, aws_version
|
|
|
192
194
|
tool_versions_table.add_row(
|
|
193
195
|
[
|
|
194
196
|
"copilot",
|
|
195
|
-
str(copilot_versions.
|
|
197
|
+
str(copilot_versions.installed),
|
|
196
198
|
str(copilot_versions.latest),
|
|
197
199
|
no if copilot_versions.is_outdated() else yes,
|
|
198
200
|
]
|
|
@@ -200,7 +202,7 @@ def _check_tool_versions(platform_helper_versions, copilot_versions, aws_version
|
|
|
200
202
|
tool_versions_table.add_row(
|
|
201
203
|
[
|
|
202
204
|
"dbt-platform-helper",
|
|
203
|
-
str(platform_helper_versions.
|
|
205
|
+
str(platform_helper_versions.installed),
|
|
204
206
|
str(platform_helper_versions.latest),
|
|
205
207
|
no if platform_helper_versions.is_outdated() else yes,
|
|
206
208
|
]
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
#!/usr/bin/env python
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
|
|
5
|
+
from dbt_platform_helper.domain.copilot import Copilot
|
|
6
|
+
from dbt_platform_helper.domain.copilot_environment import CopilotTemplating
|
|
7
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
8
|
+
from dbt_platform_helper.providers.config import ConfigProvider
|
|
9
|
+
from dbt_platform_helper.providers.config_validator import ConfigValidator
|
|
10
|
+
from dbt_platform_helper.providers.files import FileProvider
|
|
11
|
+
from dbt_platform_helper.providers.io import ClickIOProvider
|
|
12
|
+
from dbt_platform_helper.providers.kms import KMSProvider
|
|
13
|
+
from dbt_platform_helper.utils.aws import get_aws_session_or_abort
|
|
14
|
+
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
15
|
+
|
|
16
|
+
# TODOs
|
|
17
|
+
# Figure out a pattern for copilot templating and the new copilot domain - probably a lot of overlap here that really belongs in the copilottemplating domain instead (atleast whatever is concerned with "templating")
|
|
18
|
+
# Check for E2E test coverage.
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
@click.group(chain=True, cls=ClickDocOptGroup)
|
|
22
|
+
def copilot():
|
|
23
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
@copilot.command()
|
|
27
|
+
def make_addons():
|
|
28
|
+
"""Generate addons CloudFormation for each environment."""
|
|
29
|
+
try:
|
|
30
|
+
session = get_aws_session_or_abort()
|
|
31
|
+
config_provider = ConfigProvider(ConfigValidator())
|
|
32
|
+
kms_provider = KMSProvider(session.client("kms"))
|
|
33
|
+
Copilot(config_provider, FileProvider(), CopilotTemplating(), kms_provider).make_addons()
|
|
34
|
+
except Exception as err:
|
|
35
|
+
ClickIOProvider().abort_with_error(str(err))
|
|
@@ -4,6 +4,7 @@ from dbt_platform_helper.constants import DEFAULT_TERRAFORM_PLATFORM_MODULES_VER
|
|
|
4
4
|
from dbt_platform_helper.domain.copilot_environment import CopilotEnvironment
|
|
5
5
|
from dbt_platform_helper.domain.maintenance_page import MaintenancePage
|
|
6
6
|
from dbt_platform_helper.domain.terraform_environment import TerraformEnvironment
|
|
7
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
7
8
|
from dbt_platform_helper.platform_exception import PlatformException
|
|
8
9
|
from dbt_platform_helper.providers.cloudformation import CloudFormation
|
|
9
10
|
from dbt_platform_helper.providers.config import ConfigProvider
|
|
@@ -13,9 +14,6 @@ from dbt_platform_helper.providers.vpc import VpcProvider
|
|
|
13
14
|
from dbt_platform_helper.utils.application import load_application
|
|
14
15
|
from dbt_platform_helper.utils.aws import get_aws_session_or_abort
|
|
15
16
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
16
|
-
from dbt_platform_helper.utils.versioning import (
|
|
17
|
-
check_platform_helper_version_needs_update,
|
|
18
|
-
)
|
|
19
17
|
|
|
20
18
|
AVAILABLE_TEMPLATES = ["default", "migration", "dmas-migration"]
|
|
21
19
|
|
|
@@ -23,7 +21,7 @@ AVAILABLE_TEMPLATES = ["default", "migration", "dmas-migration"]
|
|
|
23
21
|
@click.group(cls=ClickDocOptGroup)
|
|
24
22
|
def environment():
|
|
25
23
|
"""Commands affecting environments."""
|
|
26
|
-
|
|
24
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
27
25
|
|
|
28
26
|
|
|
29
27
|
@environment.command()
|
|
@@ -94,9 +92,11 @@ def generate(name):
|
|
|
94
92
|
help=f"Override the default version of terraform-platform-modules. (Default version is '{DEFAULT_TERRAFORM_PLATFORM_MODULES_VERSION}').",
|
|
95
93
|
)
|
|
96
94
|
def generate_terraform(name, terraform_platform_modules_version):
|
|
97
|
-
|
|
95
|
+
click_io = ClickIOProvider()
|
|
98
96
|
try:
|
|
97
|
+
# TODO = pass the session to ConfigValidator
|
|
98
|
+
get_aws_session_or_abort()
|
|
99
99
|
config_provider = ConfigProvider(ConfigValidator())
|
|
100
100
|
TerraformEnvironment(config_provider).generate(name, terraform_platform_modules_version)
|
|
101
101
|
except PlatformException as err:
|
|
102
|
-
|
|
102
|
+
click_io.abort_with_error(str(err))
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/generate.py
RENAMED
|
@@ -3,8 +3,8 @@ import click
|
|
|
3
3
|
|
|
4
4
|
from dbt_platform_helper.commands.copilot import make_addons
|
|
5
5
|
from dbt_platform_helper.commands.pipeline import generate as pipeline_generate
|
|
6
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
6
7
|
from dbt_platform_helper.utils.click import ClickDocOptCommand
|
|
7
|
-
from dbt_platform_helper.utils.versioning import RequiredVersion
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
@click.command(cls=ClickDocOptCommand)
|
|
@@ -16,7 +16,6 @@ def generate(ctx: click.Context):
|
|
|
16
16
|
|
|
17
17
|
Wraps pipeline generate and make-addons.
|
|
18
18
|
"""
|
|
19
|
-
|
|
20
|
-
RequiredVersion().check_platform_helper_version_mismatch()
|
|
19
|
+
PlatformHelperVersioning().check_platform_helper_version_mismatch()
|
|
21
20
|
ctx.invoke(pipeline_generate)
|
|
22
21
|
ctx.invoke(make_addons)
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/notify.py
RENAMED
|
@@ -2,16 +2,14 @@ import click
|
|
|
2
2
|
from slack_sdk import WebClient
|
|
3
3
|
from slack_sdk.models import blocks
|
|
4
4
|
|
|
5
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
5
6
|
from dbt_platform_helper.utils.arn_parser import ARN
|
|
6
7
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
7
|
-
from dbt_platform_helper.utils.versioning import (
|
|
8
|
-
check_platform_helper_version_needs_update,
|
|
9
|
-
)
|
|
10
8
|
|
|
11
9
|
|
|
12
10
|
@click.group(cls=ClickDocOptGroup, help="Send Slack notifications")
|
|
13
11
|
def notify():
|
|
14
|
-
|
|
12
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
15
13
|
|
|
16
14
|
|
|
17
15
|
@notify.command(
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/pipeline.py
RENAMED
|
@@ -3,6 +3,7 @@ import click
|
|
|
3
3
|
|
|
4
4
|
from dbt_platform_helper.constants import DEFAULT_TERRAFORM_PLATFORM_MODULES_VERSION
|
|
5
5
|
from dbt_platform_helper.domain.pipelines import Pipelines
|
|
6
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
6
7
|
from dbt_platform_helper.providers.config import ConfigProvider
|
|
7
8
|
from dbt_platform_helper.providers.config_validator import ConfigValidator
|
|
8
9
|
from dbt_platform_helper.providers.ecr import ECRProvider
|
|
@@ -11,15 +12,12 @@ from dbt_platform_helper.providers.terraform_manifest import TerraformManifestPr
|
|
|
11
12
|
from dbt_platform_helper.utils.aws import get_codestar_connection_arn
|
|
12
13
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
13
14
|
from dbt_platform_helper.utils.git import git_remote
|
|
14
|
-
from dbt_platform_helper.utils.versioning import (
|
|
15
|
-
check_platform_helper_version_needs_update,
|
|
16
|
-
)
|
|
17
15
|
|
|
18
16
|
|
|
19
17
|
@click.group(chain=True, cls=ClickDocOptGroup)
|
|
20
18
|
def pipeline():
|
|
21
19
|
"""Pipeline commands."""
|
|
22
|
-
|
|
20
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
23
21
|
|
|
24
22
|
|
|
25
23
|
@pipeline.command()
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/secrets.py
RENAMED
|
@@ -6,15 +6,13 @@ import click
|
|
|
6
6
|
from botocore.exceptions import ClientError
|
|
7
7
|
from cloudfoundry_client.client import CloudFoundryClient
|
|
8
8
|
|
|
9
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
9
10
|
from dbt_platform_helper.utils.application import get_application_name
|
|
10
11
|
from dbt_platform_helper.utils.aws import SSM_BASE_PATH
|
|
11
12
|
from dbt_platform_helper.utils.aws import get_aws_session_or_abort
|
|
12
13
|
from dbt_platform_helper.utils.aws import get_ssm_secrets
|
|
13
14
|
from dbt_platform_helper.utils.aws import set_ssm_param
|
|
14
15
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
15
|
-
from dbt_platform_helper.utils.versioning import (
|
|
16
|
-
check_platform_helper_version_needs_update,
|
|
17
|
-
)
|
|
18
16
|
|
|
19
17
|
|
|
20
18
|
def secret_should_be_skipped(secret_name):
|
|
@@ -42,7 +40,7 @@ def get_paas_env_vars(client: CloudFoundryClient, paas: str) -> dict:
|
|
|
42
40
|
|
|
43
41
|
@click.group(chain=True, cls=ClickDocOptGroup)
|
|
44
42
|
def secrets():
|
|
45
|
-
|
|
43
|
+
PlatformHelperVersioning().check_if_needs_update()
|
|
46
44
|
|
|
47
45
|
|
|
48
46
|
@secrets.command()
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/commands/version.py
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import click
|
|
2
2
|
|
|
3
|
+
from dbt_platform_helper.domain.versioning import PlatformHelperVersioning
|
|
3
4
|
from dbt_platform_helper.platform_exception import PlatformException
|
|
4
5
|
from dbt_platform_helper.providers.io import ClickIOProvider
|
|
5
6
|
from dbt_platform_helper.utils.click import ClickDocOptGroup
|
|
6
|
-
from dbt_platform_helper.utils.versioning import RequiredVersion
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
@click.group(chain=True, cls=ClickDocOptGroup)
|
|
@@ -32,6 +32,6 @@ def get_platform_helper_for_project(pipeline):
|
|
|
32
32
|
- Fall back on the version in the deprecated '.platform-helper-version' file
|
|
33
33
|
"""
|
|
34
34
|
try:
|
|
35
|
-
|
|
35
|
+
PlatformHelperVersioning().get_required_version(pipeline)
|
|
36
36
|
except PlatformException as err:
|
|
37
37
|
ClickIOProvider().abort_with_error(str(err))
|
{dbt_platform_helper-13.1.1 → dbt_platform_helper-13.2.0}/dbt_platform_helper/domain/codebase.py
RENAMED
|
@@ -12,12 +12,16 @@ from dbt_platform_helper.platform_exception import PlatformException
|
|
|
12
12
|
from dbt_platform_helper.providers.files import FileProvider
|
|
13
13
|
from dbt_platform_helper.providers.io import ClickIOProvider
|
|
14
14
|
from dbt_platform_helper.utils.application import Application
|
|
15
|
-
from dbt_platform_helper.utils.application import
|
|
15
|
+
from dbt_platform_helper.utils.application import (
|
|
16
|
+
ApplicationEnvironmentNotFoundException,
|
|
17
|
+
)
|
|
16
18
|
from dbt_platform_helper.utils.application import load_application
|
|
17
19
|
from dbt_platform_helper.utils.aws import check_image_exists
|
|
18
20
|
from dbt_platform_helper.utils.aws import get_aws_session_or_abort
|
|
19
21
|
from dbt_platform_helper.utils.aws import get_build_url_from_arn
|
|
20
22
|
from dbt_platform_helper.utils.aws import get_build_url_from_pipeline_execution_id
|
|
23
|
+
from dbt_platform_helper.utils.aws import get_image_build_project
|
|
24
|
+
from dbt_platform_helper.utils.aws import get_manual_release_pipeline
|
|
21
25
|
from dbt_platform_helper.utils.aws import list_latest_images
|
|
22
26
|
from dbt_platform_helper.utils.aws import start_build_extraction
|
|
23
27
|
from dbt_platform_helper.utils.aws import start_pipeline_and_return_execution_id
|
|
@@ -32,6 +36,8 @@ class Codebase:
|
|
|
32
36
|
load_application: Callable[[str], Application] = load_application,
|
|
33
37
|
get_aws_session_or_abort: Callable[[str], Session] = get_aws_session_or_abort,
|
|
34
38
|
check_image_exists: Callable[[str], str] = check_image_exists,
|
|
39
|
+
get_image_build_project: Callable[[str], str] = get_image_build_project,
|
|
40
|
+
get_manual_release_pipeline: Callable[[str], str] = get_manual_release_pipeline,
|
|
35
41
|
get_build_url_from_arn: Callable[[str], str] = get_build_url_from_arn,
|
|
36
42
|
get_build_url_from_pipeline_execution_id: Callable[
|
|
37
43
|
[str], str
|
|
@@ -48,6 +54,8 @@ class Codebase:
|
|
|
48
54
|
self.load_application = load_application
|
|
49
55
|
self.get_aws_session_or_abort = get_aws_session_or_abort
|
|
50
56
|
self.check_image_exists = check_image_exists
|
|
57
|
+
self.get_image_build_project = get_image_build_project
|
|
58
|
+
self.get_manual_release_pipeline = get_manual_release_pipeline
|
|
51
59
|
self.get_build_url_from_arn = get_build_url_from_arn
|
|
52
60
|
self.get_build_url_from_pipeline_execution_id = get_build_url_from_pipeline_execution_id
|
|
53
61
|
self.list_latest_images = list_latest_images
|
|
@@ -124,12 +132,13 @@ class Codebase:
|
|
|
124
132
|
self.check_if_commit_exists(commit)
|
|
125
133
|
|
|
126
134
|
codebuild_client = session.client("codebuild")
|
|
135
|
+
project_name = self.get_image_build_project(codebuild_client, app, codebase)
|
|
127
136
|
build_url = self.__start_build_with_confirmation(
|
|
128
137
|
codebuild_client,
|
|
129
138
|
self.get_build_url_from_arn,
|
|
130
139
|
f'You are about to build "{app}" for "{codebase}" with commit "{commit}". Do you want to continue?',
|
|
131
140
|
{
|
|
132
|
-
"projectName":
|
|
141
|
+
"projectName": project_name,
|
|
133
142
|
"artifactsOverride": {"type": "NO_ARTIFACTS"},
|
|
134
143
|
"sourceVersion": commit,
|
|
135
144
|
},
|
|
@@ -148,13 +157,14 @@ class Codebase:
|
|
|
148
157
|
|
|
149
158
|
application = self.load_application(app, default_session=session)
|
|
150
159
|
if not application.environments.get(env):
|
|
151
|
-
raise ApplicationEnvironmentNotFoundException(env)
|
|
160
|
+
raise ApplicationEnvironmentNotFoundException(application.name, env)
|
|
152
161
|
|
|
153
162
|
self.check_image_exists(session, application, codebase, commit)
|
|
154
163
|
|
|
155
|
-
pipeline_name = f"{app}-{codebase}-manual-release-pipeline"
|
|
156
164
|
codepipeline_client = session.client("codepipeline")
|
|
157
165
|
|
|
166
|
+
pipeline_name = self.get_manual_release_pipeline(codepipeline_client, app, codebase)
|
|
167
|
+
|
|
158
168
|
build_url = self.__start_pipeline_execution_with_confirmation(
|
|
159
169
|
codepipeline_client,
|
|
160
170
|
self.get_build_url_from_pipeline_execution_id,
|
|
@@ -242,13 +252,6 @@ class ApplicationDeploymentNotTriggered(PlatformException):
|
|
|
242
252
|
super().__init__(f"""Your deployment for {codebase} was not triggered.""")
|
|
243
253
|
|
|
244
254
|
|
|
245
|
-
class ApplicationEnvironmentNotFoundException(ApplicationException):
|
|
246
|
-
def __init__(self, environment: str):
|
|
247
|
-
super().__init__(
|
|
248
|
-
f"""The environment "{environment}" either does not exist or has not been deployed."""
|
|
249
|
-
)
|
|
250
|
-
|
|
251
|
-
|
|
252
255
|
class NotInCodeBaseRepositoryException(PlatformException):
|
|
253
256
|
def __init__(self):
|
|
254
257
|
super().__init__(
|