From b14f476003667f5e80d8bb3ff059e0a522e6e602 Mon Sep 17 00:00:00 2001 From: Ali Abbas Jaffri Date: Sat, 21 Dec 2024 00:14:56 +0100 Subject: [PATCH] Changed terraform s3 backend from dynamodb to s3 lockfile (#175) * Changed terraform s3 backend from dynamodb to s3 lockfile Signed-off-by: Ali Abbas Jaffri * Updated terraform version Signed-off-by: Ali Abbas Jaffri * Added terraform Signed-off-by: Ali Abbas Jaffri * Updated lock Signed-off-by: Ali Abbas Jaffri * Added terraform Signed-off-by: Ali Abbas Jaffri * Added terraform Signed-off-by: Ali Abbas Jaffri * Added terraform version file Signed-off-by: Ali Abbas Jaffri * Added terraform Signed-off-by: Ali Abbas Jaffri --------- Signed-off-by: Ali Abbas Jaffri --- .github/actions/setup-python/action.yaml | 8 ++++++++ .terraform-version | 1 + .verified_terraform_versions | 6 ------ .../stack_processor/deployment_processor/deployment.py | 2 +- .../stack_processor/provider_processor/aws_provider.py | 2 +- src/mlinfra/utils/utils.py | 2 +- uv.lock | 2 +- 7 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 .terraform-version delete mode 100644 .verified_terraform_versions diff --git a/.github/actions/setup-python/action.yaml b/.github/actions/setup-python/action.yaml index 098cc74d..95cd0c69 100644 --- a/.github/actions/setup-python/action.yaml +++ b/.github/actions/setup-python/action.yaml @@ -8,6 +8,14 @@ runs: with: # Install a specific version of uv. version: "0.4.30" + - name: Get Terraform Version + id: tf_version + run: | + echo "value=$(cat .terraform-version)" >> $GITHUB_OUTPUT + shell: bash + - uses: hashicorp/setup-terraform@v3 + with: + terraform_version: ${{ steps.env_name.outputs.value }} - name: Set up Python uses: actions/setup-python@v5 with: diff --git a/.terraform-version b/.terraform-version new file mode 100644 index 00000000..5ad2491c --- /dev/null +++ b/.terraform-version @@ -0,0 +1 @@ +1.10.2 diff --git a/.verified_terraform_versions b/.verified_terraform_versions deleted file mode 100644 index 43a90edd..00000000 --- a/.verified_terraform_versions +++ /dev/null @@ -1,6 +0,0 @@ -{ - "verified": [ - "1.6.3", - "1.6.2" - ] -} diff --git a/src/mlinfra/stack_processor/deployment_processor/deployment.py b/src/mlinfra/stack_processor/deployment_processor/deployment.py index 4bb51239..0a53b3a2 100644 --- a/src/mlinfra/stack_processor/deployment_processor/deployment.py +++ b/src/mlinfra/stack_processor/deployment_processor/deployment.py @@ -78,7 +78,7 @@ def get_provider_backend(self, provider: CloudProvider) -> dict: "s3": { "bucket": self.get_statefile_name(), "key": "ultimate-mlops-stack", - "dynamodb_table": self.get_statefile_name(), + "use_lockfile": True, "region": self.region, "encrypt": True, } diff --git a/src/mlinfra/stack_processor/provider_processor/aws_provider.py b/src/mlinfra/stack_processor/provider_processor/aws_provider.py index 19658ae3..1357d65f 100644 --- a/src/mlinfra/stack_processor/provider_processor/aws_provider.py +++ b/src/mlinfra/stack_processor/provider_processor/aws_provider.py @@ -97,7 +97,7 @@ def configure_provider(self): # "config": { # "bucket": self.get_statefile_name(), # "key": "ultimate-mlops-stack", - # "dynamodb_table": self.get_statefile_name(), + # "use_lockfile": True, # "region": self.region, # }, # } diff --git a/src/mlinfra/utils/utils.py b/src/mlinfra/utils/utils.py index be817b10..3fbc7122 100644 --- a/src/mlinfra/utils/utils.py +++ b/src/mlinfra/utils/utils.py @@ -88,7 +88,7 @@ def create_symlinks(source: str, destination: str) -> None: def terraform_tested_version(): # TODO: read from a file and then populate this field - return "1.6.3" + return "1.10.2" # def _verify_aws_cloud_credentials(self) -> None: diff --git a/uv.lock b/uv.lock index ccb5cc63..5d06bc57 100644 --- a/uv.lock +++ b/uv.lock @@ -538,7 +538,7 @@ wheels = [ [[package]] name = "mlinfra" -version = "0.0.25.dev26+g98ef64c.d20241129" +version = "0.0.25.dev5+g7882e1f.d20241220" source = { editable = "." } dependencies = [ { name = "boto3" },