From 87b231ecf99037d99ed352b61cb89569675989ba Mon Sep 17 00:00:00 2001 From: Katerina Chinnappan Date: Wed, 17 Apr 2024 12:39:12 -0700 Subject: [PATCH] feat: migrating TF state to S3 --- .aws/.terraform-version | 2 +- .aws/src/main.ts | 11 ++++++----- buildspec.yml | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/.aws/.terraform-version b/.aws/.terraform-version index 3336003d..ec70f755 100644 --- a/.aws/.terraform-version +++ b/.aws/.terraform-version @@ -1 +1 @@ -1.3.7 +1.6.6 diff --git a/.aws/src/main.ts b/.aws/src/main.ts index 27cc44ec..0427c3d7 100644 --- a/.aws/src/main.ts +++ b/.aws/src/main.ts @@ -2,7 +2,7 @@ import { Construct } from 'constructs'; import { App, DataTerraformRemoteState, - RemoteBackend, + S3Backend, TerraformStack, } from 'cdktf'; import { AwsProvider } from '@cdktf/provider-aws/lib/provider'; @@ -30,10 +30,11 @@ class BrazeContentProxy extends TerraformStack { new LocalProvider(this, 'local_provider'); new NullProvider(this, 'null_provider'); - new RemoteBackend(this, { - hostname: 'app.terraform.io', - organization: 'Pocket', - workspaces: [{ prefix: `${config.name}-` }], + new S3Backend(this, { + bucket: `mozilla-content-team-${config.environment.toLowerCase()}-terraform-state`, + dynamodbTable: `mozilla-content-team-${config.environment.toLowerCase()}-terraform-state`, + key: config.name, + region: 'us-east-1', }); const region = new DataAwsRegion(this, 'region'); diff --git a/buildspec.yml b/buildspec.yml index 787ad198..38b2e8d1 100644 --- a/buildspec.yml +++ b/buildspec.yml @@ -48,7 +48,7 @@ phases: # synthesize the js into terraform json with the proper node environment - 'if [ "$GIT_BRANCH" = "$DEV_BRANCH" ]; then NODE_ENV=development npm run synth; else npm run synth; fi' - cd cdktf.out/stacks/braze-content-proxy - - terraform init + - 'if [ "$GIT_BRANCH" = "$DEV_BRANCH" ]; then TF_WORKSPACE=$TF_DEV_WORKSPACE terraform init; else terraform init; fi' build: run-as: circleci commands: