Bladeren bron

Bump to 4.0.7 modules, backlevel AWS provier in codebuild

Duane Waddle 3 jaren geleden
bovenliggende
commit
a2347ee58b

+ 1 - 1
common/aws-us-gov/afs-mdr-common-services-gov/004-iam-okta/terragrunt.hcl

@@ -14,7 +14,7 @@ locals {
 # working directory, into a temporary folder, and execute your Terraform commands in that folder.
 terraform {
   # Double slash is intentional and required to show root of modules
-  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/iam-okta?ref=v4.0.6"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/iam-okta?ref=v4.0.7"
 }
 
 # Include all settings from the root terragrunt.hcl file

+ 118 - 1
common/aws-us-gov/afs-mdr-common-services-gov/075-codebuild-ecr-base/terragrunt.hcl

@@ -7,13 +7,130 @@ locals {
   region_vars = read_terragrunt_config(find_in_parent_folders("region.hcl"))
   account_vars = read_terragrunt_config(find_in_parent_folders("account.hcl"))
   global_vars = read_terragrunt_config(find_in_parent_folders("globals.hcl"))
+
+  # Generate our standard tags
+  standard_tags = merge(
+    local.global_vars.locals.global_tags,
+    local.environment_vars.locals.environment_tags,
+    local.partition_vars.locals.partition_tags,
+    local.region_vars.locals.region_tags,
+    local.account_vars.locals.account_tags
+  )
+
+  # Extract the variables we need for easy access
+  account_name   = local.account_vars.locals.account_name
+  account_id     = local.account_vars.locals.aws_account_id
+  aws_region     = local.region_vars.locals.aws_region
+  aws_partition  = local.partition_vars.locals.aws_partition
+  common_services_account = local.partition_vars.locals.common_services_account
+  legacy_account = local.environment_vars.locals.legacy_account
+  tfstate_region = local.partition_vars.locals.tfstate_region
+
+  common_profile = local.partition_vars.locals.common_profile
+}
+
+# ---------------------------------------------------------------------------------------------------------------------
+# Generate an AWS provider block
+# Temp fix to backlevel provider because of codebuild issue
+# <insert github link here to provider issue>
+# ---------------------------------------------------------------------------------------------------------------------
+generate "provider" {
+  path      = "provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "template" {
+}
+
+provider "aws" {
+  region = "${local.aws_region}"
+
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.account_id}:role/user/mdr_terraformer"
+    session_name = "terraform-default"
+  }
+
+  profile = "${local.common_profile}"
+
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = ["${local.account_id}"]
+}
+
+# The "common" provider in the respective partition is always available
+provider "aws" {
+  region = "${local.aws_region}"
+  allowed_account_ids = [ "471284459109", "701290387780" ]
+  profile = "${local.common_profile}"
+  alias   = "common"
+
+  assume_role {
+    role_arn = "arn:${local.aws_partition}:iam::${local.common_services_account}:role/user/mdr_terraformer"
+    session_name = "terraform-common"
+  }
+}
+
+# The "mdr-common-services-commercial" provider is used for public DNS entries
+provider "aws" {
+  region = "us-east-1"
+  allowed_account_ids = [ "471284459109" ]
+  profile = "commercial"
+  alias   = "mdr-common-services-commercial"
+
+  assume_role {
+    role_arn = "arn:aws:iam::471284459109:role/user/mdr_terraformer"
+    session_name = "terraform-mdr-common-services-commercial"
+  }
+}
+
+# The "C2" provider, used for private DNS
+provider "aws" {
+  region = "us-gov-east-1"
+  allowed_account_ids = [ "721817724804", "738800754746" ]
+  profile = "govcloud"
+  alias   = "c2"
+  #use_fips_endpoint = true
+
+  assume_role {
+    role_arn = "arn:aws-us-gov:iam::${ local.environment_vars.locals.c2_accounts["aws-us-gov"] }:role/user/mdr_terraformer"
+    session_name = "terraform-c2"
+  }
+}
+EOF
+}
+
+
+#Github specific provider
+generate "required_providers" {
+  path      = "required_provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    aws = {
+      source = "hashicorp/aws"
+      version = "= 3.63.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+    }
+    vault = {
+      source = "hashicorp/vault"
+      version = "= 2.19.1" # 2021-04-29: upgrade from 2.18.0
+    }
+    sensu = {
+      source = "jtopjian/sensu"
+      version = "= 0.10.5"
+    }
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+EOF
 }
 
 # Terragrunt will copy the Terraform configurations specified by the source parameter, along with any files in the
 # working directory, into a temporary folder, and execute your Terraform commands in that folder.
 terraform {
   # Double slash is intentional and required to show root of modules
-  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_ecr_base?ref=v4.0.0"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_ecr_base?ref=v4.0.7"
 }
 
 # Include all settings from the root terragrunt.hcl file

+ 1 - 1
common/aws/mdr-common-services/004-iam-okta/terragrunt.hcl

@@ -14,7 +14,7 @@ locals {
 # working directory, into a temporary folder, and execute your Terraform commands in that folder.
 terraform {
   # Double slash is intentional and required to show root of modules
-  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/iam-okta?ref=v4.0.6"
+  source = "git@github.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/iam-okta?ref=v4.0.7"
 }
 
 # Include all settings from the root terragrunt.hcl file