From 2af0e2e641b02eb4eeed222e147c60c25add8dd6 Mon Sep 17 00:00:00 2001 From: Bheesham Persaud Date: Mon, 25 Nov 2024 16:04:46 -0500 Subject: [PATCH 1/5] terraform/dev Upgrade to Terraform 1.10.0 and AWS 5.78.0 Jira: IAM-1502 --- terraform/dev/.terraform.lock.hcl | 28 ++++++++++++++++++++++++++++ terraform/dev/.tool-versions | 2 +- terraform/dev/provider.tf | 7 ------- terraform/dev/versions.tf | 9 +++++++-- 4 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 terraform/dev/.terraform.lock.hcl diff --git a/terraform/dev/.terraform.lock.hcl b/terraform/dev/.terraform.lock.hcl new file mode 100644 index 0000000..39eb02a --- /dev/null +++ b/terraform/dev/.terraform.lock.hcl @@ -0,0 +1,28 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.78.0" + constraints = "~> 5.0" + hashes = [ + "h1:/EKXECKi3XzLR0SwaEyQucvsQx2TdyIF2DYabr9DVqM=", + "h1:OUmta/bL/0S6g4K/Mn1LBkEnMWNCq4dLsfYrdrllcEo=", + "h1:cxjNJTMeoxw0csix1iWp4m2esNUOuFfVbIAacUGjYSQ=", + "h1:o7jz+dFixEcwjfdubken5ldmDJm1tkvM2adPtNDei3g=", + "zh:0ae7d41b96441d0cf7ce2e1337657bdb2e1e5c9f1c2227b0642e1dcec2f9dfba", + "zh:21f8f1edf477681ea3b095c02cad6b8e85262e45015de58e84e0c7b2bfe9a1f6", + "zh:2bdc335e341bf98445255549ae93d66cfb9bca706e62b949da98fe467c182cad", + "zh:2fe4096e260367a225a9faf4a424d62b87e5498f12cb43bdb6f4e713d11b82c3", + "zh:3c63bb7a7925d65118d17461f4691a22dbb55ea39a7404e4d71f6ccca8765f8b", + "zh:6609a28a1c638a1901d8007b5386868ccfd313b4df2e98b35d9fdef436974e3b", + "zh:7ae3aef43bc4b365824cca4659cf92459d766800656e354bdbf83feabab835e8", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:c314efe454adc6ca483261c6906e64315aeb9db0c0332818714e9b81e07df0f0", + "zh:cd3e30396b554bbc1d260252db8a0f344065d619038fe60ea870689cd32c6aa9", + "zh:d1ba48fd9d8a1cb1daa927fb9e8bb708b857f2792d796e110460c6fdcd896a47", + "zh:d31c8abe75cb9cdc1c59ad9d356a1c3ae1ba8cd29ac15eb7e01b6cd01221ab04", + "zh:dc27c5c2116b4d9b404753f73bccaa635bce21f3bfb4bb7bc8e63225c36c98fe", + "zh:de491f0d05408378413187475c815d8cb2ac6bfa63d0b42a30ad5ee492e51c07", + "zh:eb44b45a40f80a309dd5b0eb7d7fcb2cbfe588fe2f18b173ef5851346898a662", + ] +} diff --git a/terraform/dev/.tool-versions b/terraform/dev/.tool-versions index 134207a..9bdd3d8 100644 --- a/terraform/dev/.tool-versions +++ b/terraform/dev/.tool-versions @@ -1 +1 @@ -terraform 0.12.31 +terraform 1.10.0 diff --git a/terraform/dev/provider.tf b/terraform/dev/provider.tf index b5148a3..6bdc79b 100644 --- a/terraform/dev/provider.tf +++ b/terraform/dev/provider.tf @@ -7,13 +7,6 @@ provider "aws" { } terraform { - required_version = "~> 0.12" - required_providers { - aws = { - version = "~> 2.62.0" - } - } - backend "s3" { bucket = "eks-terraform-shared-state" key = "stage/us-west-2/apps/dino-park-packs-dev/terraform.tfstate" diff --git a/terraform/dev/versions.tf b/terraform/dev/versions.tf index ac97c6a..a8d9277 100644 --- a/terraform/dev/versions.tf +++ b/terraform/dev/versions.tf @@ -1,4 +1,9 @@ - terraform { - required_version = ">= 0.12" + required_version = "~> 1.0" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.0" + } + } } From e939770f727453ecde1f0488be10cf33b6aae441 Mon Sep 17 00:00:00 2001 From: Bheesham Persaud Date: Wed, 27 Nov 2024 12:53:39 -0500 Subject: [PATCH 2/5] terraform/test Upgrade to Terraform 1.10.0 and AWS 5.78.0 Jira: IAM-1502 --- terraform/test/.terraform.lock.hcl | 28 ++++++++++++++++++++++++++++ terraform/test/.tool-versions | 2 +- terraform/test/db.tf | 2 +- terraform/test/provider.tf | 7 ------- terraform/test/versions.tf | 9 +++++++-- 5 files changed, 37 insertions(+), 11 deletions(-) create mode 100644 terraform/test/.terraform.lock.hcl diff --git a/terraform/test/.terraform.lock.hcl b/terraform/test/.terraform.lock.hcl new file mode 100644 index 0000000..39eb02a --- /dev/null +++ b/terraform/test/.terraform.lock.hcl @@ -0,0 +1,28 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.78.0" + constraints = "~> 5.0" + hashes = [ + "h1:/EKXECKi3XzLR0SwaEyQucvsQx2TdyIF2DYabr9DVqM=", + "h1:OUmta/bL/0S6g4K/Mn1LBkEnMWNCq4dLsfYrdrllcEo=", + "h1:cxjNJTMeoxw0csix1iWp4m2esNUOuFfVbIAacUGjYSQ=", + "h1:o7jz+dFixEcwjfdubken5ldmDJm1tkvM2adPtNDei3g=", + "zh:0ae7d41b96441d0cf7ce2e1337657bdb2e1e5c9f1c2227b0642e1dcec2f9dfba", + "zh:21f8f1edf477681ea3b095c02cad6b8e85262e45015de58e84e0c7b2bfe9a1f6", + "zh:2bdc335e341bf98445255549ae93d66cfb9bca706e62b949da98fe467c182cad", + "zh:2fe4096e260367a225a9faf4a424d62b87e5498f12cb43bdb6f4e713d11b82c3", + "zh:3c63bb7a7925d65118d17461f4691a22dbb55ea39a7404e4d71f6ccca8765f8b", + "zh:6609a28a1c638a1901d8007b5386868ccfd313b4df2e98b35d9fdef436974e3b", + "zh:7ae3aef43bc4b365824cca4659cf92459d766800656e354bdbf83feabab835e8", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:c314efe454adc6ca483261c6906e64315aeb9db0c0332818714e9b81e07df0f0", + "zh:cd3e30396b554bbc1d260252db8a0f344065d619038fe60ea870689cd32c6aa9", + "zh:d1ba48fd9d8a1cb1daa927fb9e8bb708b857f2792d796e110460c6fdcd896a47", + "zh:d31c8abe75cb9cdc1c59ad9d356a1c3ae1ba8cd29ac15eb7e01b6cd01221ab04", + "zh:dc27c5c2116b4d9b404753f73bccaa635bce21f3bfb4bb7bc8e63225c36c98fe", + "zh:de491f0d05408378413187475c815d8cb2ac6bfa63d0b42a30ad5ee492e51c07", + "zh:eb44b45a40f80a309dd5b0eb7d7fcb2cbfe588fe2f18b173ef5851346898a662", + ] +} diff --git a/terraform/test/.tool-versions b/terraform/test/.tool-versions index 134207a..9bdd3d8 100644 --- a/terraform/test/.tool-versions +++ b/terraform/test/.tool-versions @@ -1 +1 @@ -terraform 0.12.31 +terraform 1.10.0 diff --git a/terraform/test/db.tf b/terraform/test/db.tf index 9a0d848..02d5504 100644 --- a/terraform/test/db.tf +++ b/terraform/test/db.tf @@ -4,7 +4,7 @@ resource "aws_db_instance" "dino_park_packs_db" { max_allocated_storage = 100 storage_type = "gp2" engine = "postgres" - engine_version = "11" + engine_version = "11.22" instance_class = "db.t3.micro" allow_major_version_upgrade = true username = "dinopark" diff --git a/terraform/test/provider.tf b/terraform/test/provider.tf index 099e5c8..44a699a 100644 --- a/terraform/test/provider.tf +++ b/terraform/test/provider.tf @@ -7,13 +7,6 @@ provider "aws" { } terraform { - required_version = "~> 0.12" - required_providers { - aws = { - version = "~> 2.62.0" - } - } - backend "s3" { bucket = "eks-terraform-shared-state" key = "stage/us-west-2/apps/dino-park-packs-test/terraform.tfstate" diff --git a/terraform/test/versions.tf b/terraform/test/versions.tf index ac97c6a..a8d9277 100644 --- a/terraform/test/versions.tf +++ b/terraform/test/versions.tf @@ -1,4 +1,9 @@ - terraform { - required_version = ">= 0.12" + required_version = "~> 1.0" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.0" + } + } } From 0bf10e3ab41941810d6e8b562f7d44bceead2562 Mon Sep 17 00:00:00 2001 From: Bheesham Persaud Date: Mon, 25 Nov 2024 16:04:46 -0500 Subject: [PATCH 3/5] terraform/prod Upgrade to Terraform 1.10.0 and AWS 5.78.0 Jira: IAM-1502 --- terraform/prod/.terraform.lock.hcl | 28 ++++++++++++++++++++++++++++ terraform/prod/.tool-versions | 2 +- terraform/prod/db.tf | 2 +- terraform/prod/provider.tf | 7 ------- terraform/prod/versions.tf | 8 +++++++- 5 files changed, 37 insertions(+), 10 deletions(-) create mode 100644 terraform/prod/.terraform.lock.hcl diff --git a/terraform/prod/.terraform.lock.hcl b/terraform/prod/.terraform.lock.hcl new file mode 100644 index 0000000..39eb02a --- /dev/null +++ b/terraform/prod/.terraform.lock.hcl @@ -0,0 +1,28 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.78.0" + constraints = "~> 5.0" + hashes = [ + "h1:/EKXECKi3XzLR0SwaEyQucvsQx2TdyIF2DYabr9DVqM=", + "h1:OUmta/bL/0S6g4K/Mn1LBkEnMWNCq4dLsfYrdrllcEo=", + "h1:cxjNJTMeoxw0csix1iWp4m2esNUOuFfVbIAacUGjYSQ=", + "h1:o7jz+dFixEcwjfdubken5ldmDJm1tkvM2adPtNDei3g=", + "zh:0ae7d41b96441d0cf7ce2e1337657bdb2e1e5c9f1c2227b0642e1dcec2f9dfba", + "zh:21f8f1edf477681ea3b095c02cad6b8e85262e45015de58e84e0c7b2bfe9a1f6", + "zh:2bdc335e341bf98445255549ae93d66cfb9bca706e62b949da98fe467c182cad", + "zh:2fe4096e260367a225a9faf4a424d62b87e5498f12cb43bdb6f4e713d11b82c3", + "zh:3c63bb7a7925d65118d17461f4691a22dbb55ea39a7404e4d71f6ccca8765f8b", + "zh:6609a28a1c638a1901d8007b5386868ccfd313b4df2e98b35d9fdef436974e3b", + "zh:7ae3aef43bc4b365824cca4659cf92459d766800656e354bdbf83feabab835e8", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:c314efe454adc6ca483261c6906e64315aeb9db0c0332818714e9b81e07df0f0", + "zh:cd3e30396b554bbc1d260252db8a0f344065d619038fe60ea870689cd32c6aa9", + "zh:d1ba48fd9d8a1cb1daa927fb9e8bb708b857f2792d796e110460c6fdcd896a47", + "zh:d31c8abe75cb9cdc1c59ad9d356a1c3ae1ba8cd29ac15eb7e01b6cd01221ab04", + "zh:dc27c5c2116b4d9b404753f73bccaa635bce21f3bfb4bb7bc8e63225c36c98fe", + "zh:de491f0d05408378413187475c815d8cb2ac6bfa63d0b42a30ad5ee492e51c07", + "zh:eb44b45a40f80a309dd5b0eb7d7fcb2cbfe588fe2f18b173ef5851346898a662", + ] +} diff --git a/terraform/prod/.tool-versions b/terraform/prod/.tool-versions index 134207a..9bdd3d8 100644 --- a/terraform/prod/.tool-versions +++ b/terraform/prod/.tool-versions @@ -1 +1 @@ -terraform 0.12.31 +terraform 1.10.0 diff --git a/terraform/prod/db.tf b/terraform/prod/db.tf index f385ced..4fbf5bf 100644 --- a/terraform/prod/db.tf +++ b/terraform/prod/db.tf @@ -4,7 +4,7 @@ resource "aws_db_instance" "dino_park_packs_db" { max_allocated_storage = 100 storage_type = "gp2" engine = "postgres" - engine_version = "11" + engine_version = "11.22" instance_class = "db.t3.micro" allow_major_version_upgrade = true username = "dinopark" diff --git a/terraform/prod/provider.tf b/terraform/prod/provider.tf index 2a89444..b90691c 100644 --- a/terraform/prod/provider.tf +++ b/terraform/prod/provider.tf @@ -7,13 +7,6 @@ provider "aws" { } terraform { - required_version = "~> 0.12" - required_providers { - aws = { - version = "~> 2.62.0" - } - } - backend "s3" { bucket = "eks-terraform-shared-state" key = "prod/us-west-2/apps/dino-park-packs-prod/terraform.tfstate" diff --git a/terraform/prod/versions.tf b/terraform/prod/versions.tf index d9b6f79..a8d9277 100644 --- a/terraform/prod/versions.tf +++ b/terraform/prod/versions.tf @@ -1,3 +1,9 @@ terraform { - required_version = ">= 0.12" + required_version = "~> 1.0" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.0" + } + } } From 95ecd2e1f1ec69dd754ac581dbdec695e4e6bd7a Mon Sep 17 00:00:00 2001 From: Bheesham Persaud Date: Mon, 25 Nov 2024 16:04:46 -0500 Subject: [PATCH 4/5] terraform/codebuild Upgrade to Terraform 1.10.0 and AWS 5.78.0 Jira: IAM-1502 --- terraform/codebuild/.terraform.lock.hcl | 28 +++++++++++++++++++++++++ terraform/codebuild/.tool-versions | 2 +- terraform/codebuild/provider.tf | 7 ------- terraform/codebuild/versions.tf | 9 ++++++-- 4 files changed, 36 insertions(+), 10 deletions(-) create mode 100644 terraform/codebuild/.terraform.lock.hcl diff --git a/terraform/codebuild/.terraform.lock.hcl b/terraform/codebuild/.terraform.lock.hcl new file mode 100644 index 0000000..39eb02a --- /dev/null +++ b/terraform/codebuild/.terraform.lock.hcl @@ -0,0 +1,28 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/aws" { + version = "5.78.0" + constraints = "~> 5.0" + hashes = [ + "h1:/EKXECKi3XzLR0SwaEyQucvsQx2TdyIF2DYabr9DVqM=", + "h1:OUmta/bL/0S6g4K/Mn1LBkEnMWNCq4dLsfYrdrllcEo=", + "h1:cxjNJTMeoxw0csix1iWp4m2esNUOuFfVbIAacUGjYSQ=", + "h1:o7jz+dFixEcwjfdubken5ldmDJm1tkvM2adPtNDei3g=", + "zh:0ae7d41b96441d0cf7ce2e1337657bdb2e1e5c9f1c2227b0642e1dcec2f9dfba", + "zh:21f8f1edf477681ea3b095c02cad6b8e85262e45015de58e84e0c7b2bfe9a1f6", + "zh:2bdc335e341bf98445255549ae93d66cfb9bca706e62b949da98fe467c182cad", + "zh:2fe4096e260367a225a9faf4a424d62b87e5498f12cb43bdb6f4e713d11b82c3", + "zh:3c63bb7a7925d65118d17461f4691a22dbb55ea39a7404e4d71f6ccca8765f8b", + "zh:6609a28a1c638a1901d8007b5386868ccfd313b4df2e98b35d9fdef436974e3b", + "zh:7ae3aef43bc4b365824cca4659cf92459d766800656e354bdbf83feabab835e8", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:c314efe454adc6ca483261c6906e64315aeb9db0c0332818714e9b81e07df0f0", + "zh:cd3e30396b554bbc1d260252db8a0f344065d619038fe60ea870689cd32c6aa9", + "zh:d1ba48fd9d8a1cb1daa927fb9e8bb708b857f2792d796e110460c6fdcd896a47", + "zh:d31c8abe75cb9cdc1c59ad9d356a1c3ae1ba8cd29ac15eb7e01b6cd01221ab04", + "zh:dc27c5c2116b4d9b404753f73bccaa635bce21f3bfb4bb7bc8e63225c36c98fe", + "zh:de491f0d05408378413187475c815d8cb2ac6bfa63d0b42a30ad5ee492e51c07", + "zh:eb44b45a40f80a309dd5b0eb7d7fcb2cbfe588fe2f18b173ef5851346898a662", + ] +} diff --git a/terraform/codebuild/.tool-versions b/terraform/codebuild/.tool-versions index 134207a..9bdd3d8 100644 --- a/terraform/codebuild/.tool-versions +++ b/terraform/codebuild/.tool-versions @@ -1 +1 @@ -terraform 0.12.31 +terraform 1.10.0 diff --git a/terraform/codebuild/provider.tf b/terraform/codebuild/provider.tf index 575d40c..ee3a7b9 100644 --- a/terraform/codebuild/provider.tf +++ b/terraform/codebuild/provider.tf @@ -7,13 +7,6 @@ provider "aws" { } terraform { - required_version = "~> 0.12" - required_providers { - aws = { - version = "~> 2.62.0" - } - } - backend "s3" { bucket = "eks-terraform-shared-state" key = "global/codebuild/dino-park-packs/terraform.tfstate" diff --git a/terraform/codebuild/versions.tf b/terraform/codebuild/versions.tf index ac97c6a..a8d9277 100644 --- a/terraform/codebuild/versions.tf +++ b/terraform/codebuild/versions.tf @@ -1,4 +1,9 @@ - terraform { - required_version = ">= 0.12" + required_version = "~> 1.0" + required_providers { + aws = { + source = "hashicorp/aws" + version = "~> 5.0" + } + } } From d820b2133c4843444258fba6c871c7100fa80a91 Mon Sep 17 00:00:00 2001 From: Bheesham Persaud Date: Wed, 27 Nov 2024 16:08:16 -0500 Subject: [PATCH 5/5] terraform Nothing special required to run on recent Macs now. Jira: IAM-1502 --- terraform/INFRA.md | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/terraform/INFRA.md b/terraform/INFRA.md index 1d50131..f9fa54f 100644 --- a/terraform/INFRA.md +++ b/terraform/INFRA.md @@ -6,40 +6,3 @@ psql -U dinopark -W oneTimePassword -h XXX.rds.amazonaws.com postgres alter user dinopark with encrypted password 'XXX'; create database "dino-park-packs"; ``` - -### Setting up Terraform on an ARM Mac - -New developers at Mozilla are issued an ARM-based Mac, and so the installation -steps will be different. - -To get started, install Terraform (using [asdf](https://asdf-vm.com/)): - -``` -ASDF_HASHICORP_OVERWRITE_ARCH=amd64 asdf install terraform 0.12.31 -``` - -Next, you'll need to export your credentials: - -``` -$(aws configure export-credentials --format env --profile iam-admin) -``` - -(Consider using something like [direnv](https://direnv.net/).) - -Next, initialize the working directory: - -``` -arch -arch x86_64 terraform init -``` - -And then, finally, when you're ready, generate a plan: - -``` -arch -arch x86_64 terraform plan -out plan -``` - -Once you're ready, you can ship your changes using: - -``` -arch -arch x86_64 terraform apply plan -```