Skip to content

Commit

Permalink
Merge pull request #225 from adhocteam/prod-domain-terraform
Browse files Browse the repository at this point in the history
Production domain terraform
  • Loading branch information
rahearn committed Mar 11, 2021
2 parents 79cab99 + 3090d99 commit fad3c70
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 32 deletions.
21 changes: 12 additions & 9 deletions terraform/dev/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ data "cloudfoundry_service" "rds" {
}

resource "cloudfoundry_service_instance" "database" {
name = "ttahub-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.rds.service_plans["micro-psql"]
name = "ttahub-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.rds.service_plans["micro-psql"]
recursive_delete = true
}

###
Expand All @@ -65,9 +66,10 @@ data "cloudfoundry_service" "s3" {
}

resource "cloudfoundry_service_instance" "document_upload_bucket" {
name = "ttahub-document-upload-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.s3.service_plans["basic"]
name = "ttahub-document-upload-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.s3.service_plans["basic"]
recursive_delete = true
}

###
Expand All @@ -79,9 +81,10 @@ data "cloudfoundry_service" "elasticache" {
}

resource "cloudfoundry_service_instance" "redis" {
name = "ttahub-redis-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.elasticache.service_plans["redis-dev"]
name = "ttahub-redis-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.elasticache.service_plans["redis-dev"]
recursive_delete = true
}

###
Expand Down
42 changes: 37 additions & 5 deletions terraform/prod/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -85,22 +85,54 @@ resource "cloudfoundry_service_instance" "redis" {
}

###
# ClamAV networking
# Route mapping
# The following lines should be commented out for the initial `terraform apply`
# run to bootstrap the application.
# Run them after the ttahub and ClamAV apps have all been deployed
# Run them after the ttahub app has been deployed and after
# `cf create-private-domain hhs-acf-ohs-tta ttahub.ohs.acf.hhs.gov`
# has been run manually by an Org Manager
###

data "cloudfoundry_app" "clamav_api" {
name_or_id = var.clamav_api_app_name
space = data.cloudfoundry_space.space.id
data "cloudfoundry_domain" "url" {
name = var.prod_url
}

data "cloudfoundry_app" "ttahub" {
name_or_id = "tta-smarthub-${var.env}"
space = data.cloudfoundry_space.space.id
}

resource "cloudfoundry_route" "production_route" {
domain = data.cloudfoundry_domain.url.id
space = data.cloudfoundry_space.space.id
target {
app = data.cloudfoundry_app.ttahub.id
}
}

data "cloudfoundry_service" "external_domain" {
name = "external-domain"
}

resource "cloudfoundry_service_instance" "production_domain" {
name = "domain-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.external_domain.service_plans["domain"]
json_params = "{\"domains\": \"${var.prod_url}\"}"
}

###
# ClamAV networking
# The following lines should be commented out for the initial `terraform apply`
# run to bootstrap the application.
# Run them after the ttahub and ClamAV apps have all been deployed
###

data "cloudfoundry_app" "clamav_api" {
name_or_id = var.clamav_api_app_name
space = data.cloudfoundry_space.space.id
}

resource "cloudfoundry_network_policy" "clamav_routing" {
policy {
source_app = data.cloudfoundry_app.ttahub.id
Expand Down
6 changes: 6 additions & 0 deletions terraform/prod/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,9 @@ variable "clamav_api_app_name" {
description = "app name for clamav api server"
default = "clamav-api-ttahub-prod"
}

variable "prod_url" {
type = string
description = "Production URL endpoint"
default = "ttahub.ohs.acf.hhs.gov"
}
21 changes: 12 additions & 9 deletions terraform/sandbox/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ data "cloudfoundry_service" "rds" {
}

resource "cloudfoundry_service_instance" "database" {
name = "ttahub-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.rds.service_plans["micro-psql"]
name = "ttahub-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.rds.service_plans["micro-psql"]
recursive_delete = true
}

###
Expand All @@ -65,9 +66,10 @@ data "cloudfoundry_service" "s3" {
}

resource "cloudfoundry_service_instance" "document_upload_bucket" {
name = "ttahub-document-upload-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.s3.service_plans["basic"]
name = "ttahub-document-upload-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.s3.service_plans["basic"]
recursive_delete = true
}

###
Expand All @@ -79,9 +81,10 @@ data "cloudfoundry_service" "elasticache" {
}

resource "cloudfoundry_service_instance" "redis" {
name = "ttahub-redis-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.elasticache.service_plans["redis-dev"]
name = "ttahub-redis-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.elasticache.service_plans["redis-dev"]
recursive_delete = true
}

###
Expand Down
21 changes: 12 additions & 9 deletions terraform/staging/main.tf
Original file line number Diff line number Diff line change
Expand Up @@ -51,9 +51,10 @@ data "cloudfoundry_service" "rds" {
}

resource "cloudfoundry_service_instance" "database" {
name = "ttahub-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.rds.service_plans["micro-psql"]
name = "ttahub-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.rds.service_plans["micro-psql"]
recursive_delete = true
}

###
Expand All @@ -65,9 +66,10 @@ data "cloudfoundry_service" "s3" {
}

resource "cloudfoundry_service_instance" "document_upload_bucket" {
name = "ttahub-document-upload-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.s3.service_plans["basic"]
name = "ttahub-document-upload-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.s3.service_plans["basic"]
recursive_delete = true
}

###
Expand All @@ -79,9 +81,10 @@ data "cloudfoundry_service" "elasticache" {
}

resource "cloudfoundry_service_instance" "redis" {
name = "ttahub-redis-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.elasticache.service_plans["redis-dev"]
name = "ttahub-redis-${var.env}"
space = data.cloudfoundry_space.space.id
service_plan = data.cloudfoundry_service.elasticache.service_plans["redis-dev"]
recursive_delete = true
}

###
Expand Down

0 comments on commit fad3c70

Please sign in to comment.