Răsfoiți Sursa

Merge pull request #714 from mdr-engineering/feature/bp_MSOCI-2177_migrate-packer-to-codebuild

Adds ubuntu image to codebuild
Brad Poulton 3 ani în urmă
părinte
comite
1b220f8c86

+ 87 - 0
common/aws-us-gov/afs-mdr-common-services-gov/390-codebuild-xdr-ubuntu-image/terragrunt.hcl

@@ -0,0 +1,87 @@
+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.xdr.accenturefederalcyber.com:mdr-engineering/xdr-terraform-modules.git//base/codebuild_project_no_artifact?ref=v5.1.3"
+}
+
+# Service Role
+dependency "standard-iam" {
+  config_path = "../005-standard-iam"
+}
+
+dependency "codebuild-ecr-base" {
+  config_path = "../075-codebuild-ecr-base"
+}
+
+#Github specific provider
+generate "required_providers" {
+  path      = "required_provider.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+terraform {
+  required_providers {
+    aws = {
+      source  = "hashicorp/aws"
+      version = "4.4.0" # 2022-03-08: upgrade from 3.63.0; 2021-09-21: upgrade from 3.37.0
+    }
+    vault = {
+      source  = "hashicorp/vault"
+      version = "3.4.1" # 2022-04-08: upgrade from 2.19.1; 2021-04-29: upgrade from 2.18.0
+    }
+    sensu = {
+      source  = "jtopjian/sensu"
+      version = "0.12.1" # 2022-04-06: upgrade from 0.10.5
+    }
+    github = {
+      source  = "integrations/github"
+      version = "~> 4.0" # 2022-04-06: upgrade from 4.2.0
+    }
+  }
+}
+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 EC2 Ubuntu Image"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  name             = "xdr-ec2-ubuntu-image"
+  service_role     = dependency.standard-iam.outputs.service_role
+  kms_key          = dependency.codebuild-ecr-base.outputs.kms_key
+  image            = "701290387780.dkr.ecr.us-gov-east-1.amazonaws.com/codebuild-rhel7"
+  github_clone_url = "https://github.xdr.accenturefederalcyber.com/mdr-engineering/xdr-images"
+  source_version   = "main"
+  
+  secondary_sources = [
+    {
+      secondary_github_clone_url  = "https://github.xdr.accenturefederalcyber.com/mdr-engineering/xdr-cis-benchmarks"
+      secondary_source_version    = "main"
+      secondary_source_identifier = "salt"
+    },
+  ]
+  buildspec        = "base/ubuntu/aws/buildspec.yml"
+}
+terraform_version_constraint  = "= 1.1.6"
+terragrunt_version_constraint = "= 0.36.2"