Kaynağa Gözat

Adds Legacy ALBs

* Legacy DNS zone info added to environment dns info
* Added outputs to the indexer cluster
* Adds the legacy ALB modules
Fred Damstra 4 yıl önce
ebeveyn
işleme
774210f0dd

+ 10 - 1
common/env.hcl

@@ -51,7 +51,16 @@ locals {
     "public" = {
       zone = "xdr.accenturefederalcyber.com"
       zone_id = "Z0083657A94URZM2TM87"
-    }
+    },
+    # unused, but may need it in the future
+    #"legacy_private" = {
+    #  zone = "msoc.defpoint.local"
+    #  zone_id = "Z2JVOIKXZP64QP""
+    #},
+    "legacy_public" = {
+      zone = "mdr.defpoint.com"
+      zone_id = "Z2HYR9YEZ4KLDE"
+    },
   }
 
   # legacy DNS

+ 10 - 1
prod/env.hcl

@@ -56,7 +56,16 @@ locals {
     "public" = {
       zone = "xdr.accenturefederalcyber.com"
       zone_id = "Z0083657A94URZM2TM87"
-    }
+    },
+    # unused, but may need it in the future
+    #"legacy_private" = {
+    #  zone = "msoc.defpoint.local"
+    #  zone_id = "Z2JVOIKXZP64QP""
+    #},
+    "legacy_public" = {
+      zone = "mdr.defpoint.com"
+      zone_id = "Z2HYR9YEZ4KLDE"
+    },
   }
 
   aws_flowlogs_hec_token = "4a2cacb2-fea1-4328-8f25-9bef26333e91"

+ 1 - 1
test/aws-us-gov/mdr-test-c2/160-splunk-indexer-cluster/terragrunt.hcl

@@ -13,7 +13,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.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/splunk_servers/indexer_cluster?ref=v1.10.1"
+  source = "git@github.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/splunk_servers/indexer_cluster?ref=v1.10.2"
 }
 
 dependency "vpc" {

+ 1 - 0
test/aws-us-gov/mdr-test-c2/165-splunk-legacy-hec/.tfswitch.toml

@@ -0,0 +1 @@
+../../../../.tfswitch.toml

+ 70 - 0
test/aws-us-gov/mdr-test-c2/165-splunk-legacy-hec/terragrunt.hcl

@@ -0,0 +1,70 @@
+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/splunk_servers/legacy_hec?ref=v1.10.2"
+}
+
+generate "provider" {
+  path      = "provider-legacy.tf"
+  if_exists = "overwrite_terragrunt"
+  contents  = <<EOF
+provider "aws" {
+  version = "~> 3.0"
+  region = "us-east-1"
+
+  assume_role {
+    role_arn = "arn:aws:iam::${local.environment_vars.locals.legacy_account}:role/user/mdr_terraformer"
+    session_name = "terraform-legacy"
+  }
+
+  profile = "commercial"
+  alias   = "legacy"
+
+  # Only these AWS Account IDs may be operated on by this template
+  allowed_account_ids = [ ${local.environment_vars.locals.legacy_account} ]
+}
+EOF
+}
+
+dependency "vpc" {
+  config_path = "../010-vpc-splunk"
+}
+
+dependency "indexers" {
+  config_path = "../160-splunk-indexer-cluster"
+}
+
+# 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 = "Legacy ELB for Splunk Migration"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+    Schedule  = "none"
+  }
+  prefix = local.account_vars.locals.splunk_prefix
+  vpc_id = dependency.vpc.outputs.vpc_id
+  vpc_cidr = local.account_vars.locals.vpc_info["vpc-splunk"]["cidr"]
+  azs = dependency.vpc.outputs.azs
+  public_subnets  = dependency.vpc.outputs.public_subnets
+  elb_attachments = dependency.indexers.outputs.elb_attachments
+}

+ 13 - 4
test/env.hcl

@@ -13,9 +13,9 @@ locals {
   proxy_ip = "10.96.101.188"
   salt_master = "salt-master.pvt.xdrtest.accenturefederalcyber.com"
   salt_master_ip = "10.96.101.161"
-  hec = "iratemoses.pvt.xdrtest.accenturefederalcyber.com"
-  hec_pub = "moose-hec.mdr-test.defpoint.com"
-  hec_pub_ack = "moose-hec-ack.mdr-test.defpoint.com"
+  hec = "moose-hec.xdrtest.accenturefederalcyber.com"
+  hec_pub = "moose-hec.xdrtest.accenturefederalcyber.com"
+  hec_pub_ack = "moose-hec-ack.xdrtest.accenturefederalcyber.com"
 
   # Todo: Add CIDRs from new environment as they are assigned
   # When there are multiples, put govcloud first, then commercial, and alternate if there are more than 2.
@@ -79,7 +79,16 @@ locals {
     "public" = {
       zone = "xdrtest.accenturefederalcyber.com"
       zone_id = "Z01677392W0QM639KU2KC"
-    }
+    },
+    # unused, but may need it in the future
+    #"legacy_private" = {
+    #  zone = "msoc.defpoint.local"
+    #  zone_id = "Z39OIGEKXXGJZ2"
+    #},
+    "legacy_public" = {
+      zone = "mdr-test.defpoint.com"
+      zone_id = "Z3E22S3CIP0UCO"
+    },
   }
 
   aws_flowlogs_hec_token = "4a2cacb2-fea1-4328-8f25-9bef26333e91"