Browse Source

Creates Bastion Host in Prod

Removes legacy-compatible DNS entry
`bastion.xdr.accenturefederalcyber.com` to be replace via new module.
Fred Damstra 4 years ago
parent
commit
0c5e22fe93

+ 42 - 0
prod/aws-us-gov/mdr-prod-c2/070-instance-bastion/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/bastion?ref=v0.8.6"
+}
+
+dependency "vpc-access" {
+  config_path = "../010-vpc-access"
+}
+
+# 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 = "Bastion Access"
+    Terraform = "aws/${basename(get_parent_terragrunt_dir())}/${path_relative_to_include()}/"
+  }
+  instance_name = "bastion"
+  instance_type = local.account_vars.locals.bastion_instance_type
+  vpc_id = dependency.vpc-access.outputs.vpc_id
+  azs = dependency.vpc-access.outputs.azs
+  subnets = dependency.vpc-access.outputs.public_subnets
+}

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

@@ -63,6 +63,9 @@ locals {
     },
   }
 
+  # Bastion
+  bastion_instance_type = "t3a.micro"
+
   # DNS Resolver
   resolver_instance_type = "t3a.micro"
   resolver_instance_key_name = "fdamstra"

+ 0 - 1
prod/env.hcl

@@ -100,7 +100,6 @@ locals {
     "iratemoses" = "internal-moose-internal-187462540.us-east-1.elb.amazonaws.com"
   }
   legacy_public_dns = {
-    "bastion" = "18.233.216.6",
     "proxy" = "35.153.103.164",
     "reposerver" = "18.234.16.205",
     "salt-master" = "52.5.165.105",

+ 1 - 1
test/aws-us-gov/mdr-test-c2/070-instance-bastion/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/bastion?ref=v0.8.5"
+  source = "git@github.mdr.defpoint.com:mdr-engineering/xdr-terraform-modules.git//base/bastion?ref=v0.8.6"
 }
 
 dependency "vpc-access" {