Browse Source

Merge pull request #164 from mdr-engineering/feature/bp_MSOCI-1569_codecommit_ecr_gc

Feature/bp msoci 1569 codecommit ecr gc
Brad Poulton 4 years ago
parent
commit
6d127b2e92

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

@@ -0,0 +1,33 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_ecr_base?ref=v1.10.8"
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Base module for Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+}

+ 74 - 0
common/aws-us-gov/afs-mdr-common-services-gov/080-codebuild-ecr-sample/terragrunt.hcl

@@ -0,0 +1,74 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_ecr_project?ref=v1.10.8"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "github-provider" {
+  path      = "github-provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+#Provider block for Github engineering. 
+provider "github" {
+  version      = "~> 4.2.0"
+  organization = "mdr-engineering"
+  base_url     = "https://github.mdr.defpoint.com/"
+}
+#Provider block for Github MDR Content. 
+#provider "github" {
+#  version      = "~> 4.1.0"
+#  organization = "MDR-Content"
+#  base_url     = "https://github.mdr.defpoint.com/"
+#}
+EOF
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Build Sample Docker Container with Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name                  = "xdr-container-sample"
+  service_role          = dependency.codebuild-ecr-base.outputs.service_role
+  kms_key               = dependency.codebuild-ecr-base.outputs.kms_key
+  codebuild_image       = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
+  #codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
+  #codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
+  artifact_s3_bucket    = ""
+  #artifact_s3_bucket   = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
+  webhook_branch_filter = "release/.*"
+}

+ 72 - 0
common/aws-us-gov/afs-mdr-common-services-gov/081-codebuild-rpm-collectd/terragrunt.hcl

@@ -0,0 +1,72 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_artifact?ref=v1.10.8"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "github-provider" {
+  path      = "github-provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+#Provider block for Github engineering. 
+provider "github" {
+  version      = "~> 4.2.0"
+  organization = "mdr-engineering"
+  base_url     = "https://github.mdr.defpoint.com/"
+}
+#Provider block for Github MDR Content. 
+#provider "github" {
+#  version      = "~> 4.2.0"
+#  organization = "MDR-Content"
+#  base_url     = "https://github.mdr.defpoint.com/"
+#}
+EOF
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Build RPM with Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name                = "collectd-rpm"
+  service_role        = dependency.codebuild-ecr-base.outputs.service_role
+  kms_key             = dependency.codebuild-ecr-base.outputs.kms_key
+  #codebuild_image     = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
+  #codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
+  codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
+  artifact_s3_bucket = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
+}

+ 74 - 0
common/aws-us-gov/afs-mdr-common-services-gov/085-codebuild-ecr-customer-portal/terragrunt.hcl

@@ -0,0 +1,74 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_ecr_customer_portal?ref=v1.10.8"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "github-provider" {
+  path      = "github-provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+#Provider block for Github engineering. 
+#provider "github" {
+#  version      = "~> 4.2.0"
+#  organization = "mdr-engineering"
+#  base_url     = "https://github.mdr.defpoint.com/"
+#}
+#Provider block for Github MDR Content. 
+provider "github" {
+  version      = "~> 4.2.0"
+  organization = "MDR-Content"
+  base_url     = "https://github.mdr.defpoint.com/"
+}
+EOF
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Build Docker Container with Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name                  = "customer_portal"
+  service_role          = dependency.codebuild-ecr-base.outputs.service_role
+  kms_key               = dependency.codebuild-ecr-base.outputs.kms_key
+  codebuild_image       = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
+  #codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
+  #codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
+  artifact_s3_bucket    = ""
+  #artifact_s3_bucket   = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
+  webhook_branch_filter = "release/.*"
+}

+ 72 - 0
common/aws-us-gov/afs-mdr-common-services-gov/090-codebuild-rpm-tmux/terragrunt.hcl

@@ -0,0 +1,72 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_artifact?ref=v1.10.8"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "github-provider" {
+  path      = "github-provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+#Provider block for Github engineering. 
+provider "github" {
+  version      = "~> 4.2.0"
+  organization = "mdr-engineering"
+  base_url     = "https://github.mdr.defpoint.com/"
+}
+#Provider block for Github MDR Content. 
+#provider "github" {
+#  version      = "~> 4.2.0"
+#  organization = "MDR-Content"
+#  base_url     = "https://github.mdr.defpoint.com/"
+#}
+EOF
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Build RPM with Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name                = "tmux-rpm"
+  service_role        = dependency.codebuild-ecr-base.outputs.service_role
+  kms_key             = dependency.codebuild-ecr-base.outputs.kms_key
+  #codebuild_image     = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
+  #codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
+  codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
+  artifact_s3_bucket = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
+}

+ 72 - 0
common/aws-us-gov/afs-mdr-common-services-gov/095-codebuild-rpm-aws-efs-utils/terragrunt.hcl

@@ -0,0 +1,72 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_artifact?ref=v1.10.8"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "github-provider" {
+  path      = "github-provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+#Provider block for Github engineering. 
+provider "github" {
+  version      = "~> 4.2.0"
+  organization = "mdr-engineering"
+  base_url     = "https://github.mdr.defpoint.com/"
+}
+#Provider block for Github MDR Content. 
+#provider "github" {
+#  version      = "~> 4.2.0"
+#  organization = "MDR-Content"
+#  base_url     = "https://github.mdr.defpoint.com/"
+#}
+EOF
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Build RPM with Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name                = "aws-efs-utils"
+  service_role        = dependency.codebuild-ecr-base.outputs.service_role
+  kms_key             = dependency.codebuild-ecr-base.outputs.kms_key
+  #codebuild_image     = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
+  #codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
+  codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
+  artifact_s3_bucket = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
+}

+ 72 - 0
common/aws-us-gov/afs-mdr-common-services-gov/100-codebuild-rpm-syslog-ng/terragrunt.hcl

@@ -0,0 +1,72 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_artifact?ref=v1.10.8"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "github-provider" {
+  path      = "github-provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+#Provider block for Github engineering. 
+provider "github" {
+  version      = "~> 4.2.0"
+  organization = "mdr-engineering"
+  base_url     = "https://github.mdr.defpoint.com/"
+}
+#Provider block for Github MDR Content. 
+#provider "github" {
+#  version      = "~> 4.2.0"
+#  organization = "MDR-Content"
+#  base_url     = "https://github.mdr.defpoint.com/"
+#}
+EOF
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Build RPM with Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name                = "syslog-ng-rpm"
+  service_role        = dependency.codebuild-ecr-base.outputs.service_role
+  kms_key             = dependency.codebuild-ecr-base.outputs.kms_key
+  #codebuild_image     = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
+  #codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
+  codebuild_image    = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
+  artifact_s3_bucket = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
+}

+ 73 - 0
common/aws-us-gov/afs-mdr-common-services-gov/105-codebuild-ecr-mcas-container/terragrunt.hcl

@@ -0,0 +1,73 @@
+locals {
+  # If you want to use any of the variables in _this_ file, you have to load them here.
+  # However, they will all be available as inputs to the module loaded in terraform.source
+  # below.
+  environment_vars = read_terragrunt_config(find_in_parent_folders("env.hcl"))
+  partition_vars = read_terragrunt_config(find_in_parent_folders("partition.hcl"))
+  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"))
+}
+
+# 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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_ecr_project?ref=v1.10.8"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "github-provider" {
+  path      = "github-provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    github = {
+      source = "integrations/github"
+      version = "4.2.0"
+    }
+  }
+}
+#Provider block for Github engineering. 
+provider "github" {
+  version      = "~> 4.2.0"
+  organization = "mdr-engineering"
+  base_url     = "https://github.mdr.defpoint.com/"
+}
+#Provider block for Github MDR Content. 
+#provider "github" {
+#  version      = "~> 4.2.0"
+#  organization = "MDR-Content"
+#  base_url     = "https://github.mdr.defpoint.com/"
+#}
+EOF
+}
+
+# Include all settings from the root terragrunt.hcl file
+include {
+  path = find_in_parent_folders()
+}
+
+# These are the variables we have to pass in to use the module specified in the terragrunt source above
+inputs = {
+  # All of the inputs from the inherited hcl files are available automatically
+  # (via the `inputs` section of the root `terragrunt.hcl`). However, modules
+  # will be more flexible if you specify particular input values.
+  tags = {
+    Purpose = "Build Docker Container with Codebuild"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name                  = "mcas-agent-container"
+  service_role          = dependency.codebuild-ecr-base.outputs.service_role
+  kms_key               = dependency.codebuild-ecr-base.outputs.kms_key
+  #codebuild_image       = "aws/codebuild/amazonlinux2-x86_64-standard:3.0"
+  #codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_centos7
+  codebuild_image      = dependency.codebuild-ecr-base.outputs.codebuild_image_rhel7
+  artifact_s3_bucket    = ""
+  #artifact_s3_bucket   = dependency.codebuild-ecr-base.outputs.artifact_s3_bucket
+}