From 8c03d142370907d2e88807717be20f0c9eb919f7 Mon Sep 17 00:00:00 2001 From: Carlo Costino Date: Tue, 30 Jan 2024 09:25:05 -0500 Subject: [PATCH 1/4] Update Cloud Foundry Terraform module This changeset updates the Cloud Foundry Terraform to its latest release. Our file were previously referencing a very old version, which was contributing to infrastructure check and deployment failures. Signed-off-by: Carlo Costino --- terraform/bootstrap/providers.tf | 2 +- terraform/demo/providers.tf | 2 +- terraform/development/providers.tf | 2 +- terraform/production/providers.tf | 2 +- terraform/sandbox/providers.tf | 2 +- terraform/shared/egress_space/providers.tf | 2 +- terraform/shared/ses/providers.tf | 2 +- terraform/shared/sns/providers.tf | 2 +- terraform/staging/providers.tf | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/terraform/bootstrap/providers.tf b/terraform/bootstrap/providers.tf index a2d023da3..5dcaece3e 100644 --- a/terraform/bootstrap/providers.tf +++ b/terraform/bootstrap/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "0.15.5" + version = "0.53.0" } } } diff --git a/terraform/demo/providers.tf b/terraform/demo/providers.tf index 180959761..5c10e8064 100644 --- a/terraform/demo/providers.tf +++ b/terraform/demo/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "0.15.5" + version = "0.53.0" } } diff --git a/terraform/development/providers.tf b/terraform/development/providers.tf index d8ae4488e..5dcaece3e 100644 --- a/terraform/development/providers.tf +++ b/terraform/development/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "0.50.7" + version = "0.53.0" } } } diff --git a/terraform/production/providers.tf b/terraform/production/providers.tf index 360f648f4..e2a8431c6 100644 --- a/terraform/production/providers.tf +++ b/terraform/production/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "0.15.5" + version = "0.53.0" } } diff --git a/terraform/sandbox/providers.tf b/terraform/sandbox/providers.tf index 00ea2888d..3d1e18222 100644 --- a/terraform/sandbox/providers.tf +++ b/terraform/sandbox/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "0.15.5" + version = "0.53.0" } } diff --git a/terraform/shared/egress_space/providers.tf b/terraform/shared/egress_space/providers.tf index 8db86ca90..21ac567a2 100644 --- a/terraform/shared/egress_space/providers.tf +++ b/terraform/shared/egress_space/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "~> 0.15" + version = "0.53.0" } } } diff --git a/terraform/shared/ses/providers.tf b/terraform/shared/ses/providers.tf index 8db86ca90..21ac567a2 100644 --- a/terraform/shared/ses/providers.tf +++ b/terraform/shared/ses/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "~> 0.15" + version = "0.53.0" } } } diff --git a/terraform/shared/sns/providers.tf b/terraform/shared/sns/providers.tf index 8db86ca90..21ac567a2 100644 --- a/terraform/shared/sns/providers.tf +++ b/terraform/shared/sns/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "~> 0.15" + version = "0.53.0" } } } diff --git a/terraform/staging/providers.tf b/terraform/staging/providers.tf index 181b5fd69..7ceec6593 100644 --- a/terraform/staging/providers.tf +++ b/terraform/staging/providers.tf @@ -3,7 +3,7 @@ terraform { required_providers { cloudfoundry = { source = "cloudfoundry-community/cloudfoundry" - version = "0.15.5" + version = "0.53.0" } } From 033f43931364fcb2763550737345e4bd78d3bc9d Mon Sep 17 00:00:00 2001 From: Carlo Costino Date: Tue, 30 Jan 2024 09:39:54 -0500 Subject: [PATCH 2/4] Updated 18F/terraform-cloudgov to v0.7.1 Signed-off-by: Carlo Costino --- terraform/bootstrap/main.tf | 2 +- terraform/demo/main.tf | 6 +++--- terraform/development/main.tf | 2 +- terraform/production/main.tf | 8 ++++---- terraform/sandbox/main.tf | 6 +++--- terraform/staging/main.tf | 6 +++--- 6 files changed, 15 insertions(+), 15 deletions(-) diff --git a/terraform/bootstrap/main.tf b/terraform/bootstrap/main.tf index 5f30791c6..625cb8093 100644 --- a/terraform/bootstrap/main.tf +++ b/terraform/bootstrap/main.tf @@ -3,7 +3,7 @@ locals { } module "s3" { - source = "github.com/18f/terraform-cloudgov//s3?ref=v0.3.0" + source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1" cf_org_name = "gsa-tts-benefits-studio" cf_space_name = "notify-management" diff --git a/terraform/demo/main.tf b/terraform/demo/main.tf index b1224bb4e..615f92670 100644 --- a/terraform/demo/main.tf +++ b/terraform/demo/main.tf @@ -7,7 +7,7 @@ locals { } module "database" { - source = "github.com/18f/terraform-cloudgov//database?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//database?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -17,7 +17,7 @@ module "database" { } module "redis" { - source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -27,7 +27,7 @@ module "redis" { } module "csv_upload_bucket" { - source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name diff --git a/terraform/development/main.tf b/terraform/development/main.tf index 4dd7d741c..1f45b2b6a 100644 --- a/terraform/development/main.tf +++ b/terraform/development/main.tf @@ -6,7 +6,7 @@ locals { } module "csv_upload_bucket" { - source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name diff --git a/terraform/production/main.tf b/terraform/production/main.tf index 7476338d2..5a2c520b1 100644 --- a/terraform/production/main.tf +++ b/terraform/production/main.tf @@ -7,7 +7,7 @@ locals { } module "database" { - source = "github.com/18f/terraform-cloudgov//database?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//database?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -17,7 +17,7 @@ module "database" { } module "redis" { - source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -27,7 +27,7 @@ module "redis" { } module "csv_upload_bucket" { - source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -78,7 +78,7 @@ module "sns_sms" { # `cf create-domain gsa-tts-benefits-studio api.notify.gov` ########################################################################### # module "domain" { -# source = "github.com/18f/terraform-cloudgov//domain?ref=v0.2.0" +# source = "github.com/18f/terraform-cloudgov//domain?ref=v0.7.1" # # cf_org_name = local.cf_org_name # cf_space_name = local.cf_space_name diff --git a/terraform/sandbox/main.tf b/terraform/sandbox/main.tf index 4076d3d53..fae30073c 100644 --- a/terraform/sandbox/main.tf +++ b/terraform/sandbox/main.tf @@ -7,7 +7,7 @@ locals { } module "database" { - source = "github.com/18f/terraform-cloudgov//database?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//database?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -17,7 +17,7 @@ module "database" { } module "redis" { - source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -27,7 +27,7 @@ module "redis" { } module "csv_upload_bucket" { - source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name diff --git a/terraform/staging/main.tf b/terraform/staging/main.tf index 414c18bc9..c46e0d3fa 100644 --- a/terraform/staging/main.tf +++ b/terraform/staging/main.tf @@ -7,7 +7,7 @@ locals { } module "database" { - source = "github.com/18f/terraform-cloudgov//database?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//database?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -17,7 +17,7 @@ module "database" { } module "redis" { - source = "github.com/18f/terraform-cloudgov//redis?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//redis?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name @@ -27,7 +27,7 @@ module "redis" { } module "csv_upload_bucket" { - source = "github.com/18f/terraform-cloudgov//s3?ref=v0.2.0" + source = "github.com/18f/terraform-cloudgov//s3?ref=v0.7.1" cf_org_name = local.cf_org_name cf_space_name = local.cf_space_name From b63130c1bad4d64fe70da9ee392abf1a0895ef74 Mon Sep 17 00:00:00 2001 From: Carlo Costino Date: Tue, 30 Jan 2024 10:35:27 -0500 Subject: [PATCH 3/4] Remove profile attribute from environment providers Signed-off-by: Carlo Costino --- terraform/demo/providers.tf | 2 +- terraform/development/reset.sh | 2 +- terraform/production/providers.tf | 2 +- terraform/sandbox/providers.tf | 2 +- terraform/staging/providers.tf | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/terraform/demo/providers.tf b/terraform/demo/providers.tf index 5c10e8064..44aad9281 100644 --- a/terraform/demo/providers.tf +++ b/terraform/demo/providers.tf @@ -12,7 +12,7 @@ terraform { key = "api.tfstate.demo" encrypt = "true" region = "us-gov-west-1" - profile = "notify-terraform-backend" + # profile = "notify-terraform-backend" } } diff --git a/terraform/development/reset.sh b/terraform/development/reset.sh index fba5f104b..ec5cf25a5 100755 --- a/terraform/development/reset.sh +++ b/terraform/development/reset.sh @@ -51,7 +51,7 @@ if [[ ! -s "secrets.auto.tfvars" ]]; then fi echo "Importing terraform state for $username" -terraform init +terraform init -upgrade key_name=$username-api-dev-key diff --git a/terraform/production/providers.tf b/terraform/production/providers.tf index e2a8431c6..4bed2d44f 100644 --- a/terraform/production/providers.tf +++ b/terraform/production/providers.tf @@ -12,7 +12,7 @@ terraform { key = "api.tfstate.prod" encrypt = "true" region = "us-gov-west-1" - profile = "notify-terraform-backend" + # profile = "notify-terraform-backend" } } diff --git a/terraform/sandbox/providers.tf b/terraform/sandbox/providers.tf index 3d1e18222..3b8234dfe 100644 --- a/terraform/sandbox/providers.tf +++ b/terraform/sandbox/providers.tf @@ -12,7 +12,7 @@ terraform { key = "api.tfstate.sandbox" encrypt = "true" region = "us-gov-west-1" - profile = "notify-terraform-backend" + # profile = "notify-terraform-backend" } } diff --git a/terraform/staging/providers.tf b/terraform/staging/providers.tf index 7ceec6593..808e06dc0 100644 --- a/terraform/staging/providers.tf +++ b/terraform/staging/providers.tf @@ -12,7 +12,7 @@ terraform { key = "api.tfstate.stage" encrypt = "true" region = "us-gov-west-1" - profile = "notify-terraform-backend" + # profile = "notify-terraform-backend" } } From 123b19d83578228be77b8b5ecdc0ccaeb69bdf13 Mon Sep 17 00:00:00 2001 From: Carlo Costino Date: Tue, 30 Jan 2024 10:47:16 -0500 Subject: [PATCH 4/4] Remove the profile attribute entirely This was what was apparently breaking our Terraform actions. I traced this to an undocumented breaking change with the AWS provider; more details can be seen here: https://discuss.hashicorp.com/t/error-error-configuring-terraform-aws-provider-failed-to-get-shared-config-profile-default/39417/2 Signed-off-by: Carlo Costino --- terraform/README.md | 2 ++ terraform/demo/providers.tf | 1 - terraform/production/providers.tf | 1 - terraform/sandbox/providers.tf | 1 - terraform/staging/providers.tf | 1 - 5 files changed, 2 insertions(+), 4 deletions(-) diff --git a/terraform/README.md b/terraform/README.md index a812b2208..40ab78a19 100644 --- a/terraform/README.md +++ b/terraform/README.md @@ -88,6 +88,8 @@ The below steps rely on you first configuring access to the Terraform state in s terraform plan ``` + If the `terraform init` command fails, you may need to run `terraform init -upgrade` to make sure new module versions are picked up. + 1. Apply changes with `terraform apply`. 1. Remove the space deployer service instance if it doesn't need to be used again, such as when manually running terraform once. diff --git a/terraform/demo/providers.tf b/terraform/demo/providers.tf index 44aad9281..f13333d3e 100644 --- a/terraform/demo/providers.tf +++ b/terraform/demo/providers.tf @@ -12,7 +12,6 @@ terraform { key = "api.tfstate.demo" encrypt = "true" region = "us-gov-west-1" - # profile = "notify-terraform-backend" } } diff --git a/terraform/production/providers.tf b/terraform/production/providers.tf index 4bed2d44f..499759f48 100644 --- a/terraform/production/providers.tf +++ b/terraform/production/providers.tf @@ -12,7 +12,6 @@ terraform { key = "api.tfstate.prod" encrypt = "true" region = "us-gov-west-1" - # profile = "notify-terraform-backend" } } diff --git a/terraform/sandbox/providers.tf b/terraform/sandbox/providers.tf index 3b8234dfe..d5a3313de 100644 --- a/terraform/sandbox/providers.tf +++ b/terraform/sandbox/providers.tf @@ -12,7 +12,6 @@ terraform { key = "api.tfstate.sandbox" encrypt = "true" region = "us-gov-west-1" - # profile = "notify-terraform-backend" } } diff --git a/terraform/staging/providers.tf b/terraform/staging/providers.tf index 808e06dc0..11dceea7d 100644 --- a/terraform/staging/providers.tf +++ b/terraform/staging/providers.tf @@ -12,7 +12,6 @@ terraform { key = "api.tfstate.stage" encrypt = "true" region = "us-gov-west-1" - # profile = "notify-terraform-backend" } }