Browse Source

Merge pull request #100 from mdr-engineering/feature/ftd_MSOCI-1453_ProxyToGC

Creates a proxy server in Test and Prod GC
Frederick Damstra 5 years ago
parent
commit
d878c2cd51

+ 42 - 0
prod/aws-us-gov/mdr-prod-c2/080-instance-proxy-server/terragrunt.hcl

@@ -0,0 +1,42 @@
+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/proxy_server?ref=v0.9.3"
+}
+
+dependency "vpc-system-services" {
+  config_path = "../010-vpc-system-services"
+}
+
+# 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 = "Proxy Server - HTTP/HTTPS Access to Web"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  instance_name = "proxy" # TODO: Fix this when actual swap is taking place.
+  instance_type = local.account_vars.locals.proxy_server_instance_type
+  vpc_id = dependency.vpc-system-services.outputs.vpc_id
+  azs = dependency.vpc-system-services.outputs.azs
+  subnets = dependency.vpc-system-services.outputs.public_subnets
+}

+ 3 - 0
prod/aws-us-gov/mdr-prod-c2/account.hcl

@@ -69,6 +69,9 @@ locals {
   # Salt Master
   salt_master_instance_type = "t3a.large"
 
+  # Proxy
+  proxy_server_instance_type = "t3a.medium"
+
   # DNS Resolver
   resolver_instance_type = "t3a.micro"
   resolver_instance_key_name = "fdamstra"

+ 2 - 2
prod/env.hcl

@@ -90,7 +90,7 @@ locals {
     "mailrelay" = "10.80.1.107",
     #"openvpn" = "10.100.0.129",
     #"phantom" = "10.80.101.221",
-    "proxy" = "10.80.101.166",
+    #"proxy" = "10.80.101.166",
     "reposerver" = "10.80.101.197",
     "sensu" = "10.80.101.230",
     #"splunk-mc" = "10.80.1.27",
@@ -103,7 +103,7 @@ locals {
     "iratemoses" = "internal-moose-internal-187462540.us-east-1.elb.amazonaws.com"
   }
   legacy_public_dns = {
-    "proxy" = "35.153.103.164",
+    #"proxy" = "35.153.103.164",
     "reposerver" = "18.234.16.205",
     "salt-master-legacy" = "52.5.165.105",
     "sensu" = "52.6.95.246",

+ 42 - 0
test/aws-us-gov/mdr-test-c2/080-instance-proxy-server/terragrunt.hcl

@@ -0,0 +1,42 @@
+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/proxy_server?ref=v0.9.3"
+}
+
+dependency "vpc-system-services" {
+  config_path = "../010-vpc-system-services"
+}
+
+# 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 = "Proxy Server - HTTP/HTTPS Access to Web"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  instance_name = "proxy" # TODO: Fix this when actual swap is taking place.
+  instance_type = local.account_vars.locals.proxy_server_instance_type
+  vpc_id = dependency.vpc-system-services.outputs.vpc_id
+  azs = dependency.vpc-system-services.outputs.azs
+  subnets = dependency.vpc-system-services.outputs.public_subnets
+}

+ 3 - 0
test/aws-us-gov/mdr-test-c2/account.hcl

@@ -71,6 +71,9 @@ locals {
   # Salt Master
   salt_master_instance_type = "t3a.large"
 
+  # Proxy Server
+  proxy_server_instance_type = "t3a.micro"
+
   # For testing
   create_test_instance = false
   test_instance_key_name = "fdamstra" # They with which to provision the test instance

+ 2 - 2
test/env.hcl

@@ -95,7 +95,7 @@ locals {
     "mailrelay" = "10.96.1.160",
     #"openvpn" = "10.96.101.249",
     #"phantom" = "10.96.101.186",
-    "proxy" = "10.96.101.188",
+    #"proxy" = "10.96.101.188",
     "reposerver" = "10.96.101.160",
     "sensu" = "10.96.101.43",
     #"splunk-mc" = "10.96.1.133",
@@ -109,7 +109,7 @@ locals {
   }
   # not many public entries, as the use of saml negates their usefulness
   legacy_public_dns = {
-    "proxy" = "18.214.39.158",
+    #"proxy" = "18.214.39.158",
     "reposerver" = "34.202.16.40",
     "salt-master-legacy" = "18.233.43.236",
     "sensu" = "34.235.81.176"