mirror of
https://github.com/GSA/notifications-api.git
synced 2025-12-10 07:12:20 -05:00
106 lines
3.1 KiB
HCL
106 lines
3.1 KiB
HCL
locals {
|
|
cf_org_name = "gsa-tts-benefits-studio"
|
|
cf_space_name = "notify-production"
|
|
env = "production"
|
|
app_name = "notify-api"
|
|
}
|
|
|
|
resource "null_resource" "prevent_destroy" {
|
|
|
|
lifecycle {
|
|
prevent_destroy = true
|
|
}
|
|
}
|
|
|
|
module "database" {
|
|
source = "github.com/GSA-TTS/terraform-cloudgov//database?ref=v1.0.0"
|
|
|
|
cf_org_name = local.cf_org_name
|
|
cf_space_name = local.cf_space_name
|
|
name = "${local.app_name}-rds-${local.env}"
|
|
rds_plan_name = "small-psql-redundant"
|
|
}
|
|
|
|
module "redis" { # default v6.2; delete after v7.0 resource is bound
|
|
source = "github.com/GSA-TTS/terraform-cloudgov//redis?ref=v1.0.0"
|
|
|
|
cf_org_name = local.cf_org_name
|
|
cf_space_name = local.cf_space_name
|
|
name = "${local.app_name}-redis-${local.env}"
|
|
redis_plan_name = "redis-3node-large"
|
|
}
|
|
|
|
module "redis-v70" {
|
|
source = "github.com/GSA-TTS/terraform-cloudgov//redis?ref=v1.0.0"
|
|
|
|
cf_org_name = local.cf_org_name
|
|
cf_space_name = local.cf_space_name
|
|
name = "${local.app_name}-redis-v70-${local.env}"
|
|
redis_plan_name = "redis-3node-large"
|
|
json_params = jsonencode(
|
|
{
|
|
"engineVersion" : "7.0",
|
|
}
|
|
)
|
|
}
|
|
|
|
module "csv_upload_bucket" {
|
|
source = "github.com/GSA-TTS/terraform-cloudgov//s3?ref=v1.0.0"
|
|
|
|
cf_org_name = local.cf_org_name
|
|
cf_space_name = local.cf_space_name
|
|
name = "${local.app_name}-csv-upload-bucket-${local.env}"
|
|
}
|
|
|
|
module "egress-space" {
|
|
source = "../shared/egress_space"
|
|
|
|
cf_org_name = local.cf_org_name
|
|
cf_restricted_space_name = local.cf_space_name
|
|
deployers = [
|
|
var.cf_user
|
|
]
|
|
}
|
|
|
|
module "ses_email" {
|
|
source = "../shared/ses"
|
|
|
|
cf_org_name = local.cf_org_name
|
|
cf_space_name = local.cf_space_name
|
|
name = "${local.app_name}-ses-${local.env}"
|
|
aws_region = "us-gov-west-1"
|
|
email_domain = "notify.gov"
|
|
mail_from_subdomain = "mail"
|
|
email_receipt_error = "notify-support@gsa.gov"
|
|
}
|
|
|
|
module "sns_sms" {
|
|
source = "../shared/sns"
|
|
|
|
cf_org_name = local.cf_org_name
|
|
cf_space_name = local.cf_space_name
|
|
name = "${local.app_name}-sns-${local.env}"
|
|
aws_region = "us-gov-west-1"
|
|
monthly_spend_limit = 1000
|
|
}
|
|
|
|
###########################################################################
|
|
# The following lines need to be commented out for the initial `terraform apply`
|
|
# It can be re-enabled after:
|
|
# TODO: decide on public API domain name
|
|
# 1) the app has first been deployed
|
|
# 2) the route has been manually created by an OrgManager:
|
|
# `cf create-domain gsa-tts-benefits-studio api.notify.gov`
|
|
###########################################################################
|
|
# module "domain" {
|
|
# source = "github.com/18f/terraform-cloudgov//domain?ref=v0.7.1"
|
|
#
|
|
# cf_org_name = local.cf_org_name
|
|
# cf_space_name = local.cf_space_name
|
|
# app_name_or_id = "${local.app_name}-${local.env}"
|
|
# name = "${local.app_name}-domain-${local.env}"
|
|
# recursive_delete = local.recursive_delete
|
|
# cdn_plan_name = "domain"
|
|
# domain_name = "api.notify.gov"
|
|
# }
|