From bdae8a083e22b40dbb396e5e86cda4a076cd0f87 Mon Sep 17 00:00:00 2001 From: Alex Suraci Date: Mon, 17 May 2021 16:41:17 -0400 Subject: [PATCH] add mailgun setup Signed-off-by: Alex Suraci Co-authored-by: Taylor Silva --- terraform/dependencies/mailgun/main.tf | 52 +++++++++++++++++++++ terraform/dependencies/mailgun/variables.tf | 9 ++++ terraform/environments/production/dns.tf | 7 +++ 3 files changed, 68 insertions(+) create mode 100644 terraform/dependencies/mailgun/main.tf create mode 100644 terraform/dependencies/mailgun/variables.tf diff --git a/terraform/dependencies/mailgun/main.tf b/terraform/dependencies/mailgun/main.tf new file mode 100644 index 0000000..cc493c4 --- /dev/null +++ b/terraform/dependencies/mailgun/main.tf @@ -0,0 +1,52 @@ +data "google_dns_managed_zone" "main" { + name = var.dns_zone +} + +resource "google_dns_record_set" "mailgun_mx" { + name = data.google_dns_managed_zone.main.dns_name + type = "MX" + ttl = 300 + + managed_zone = data.google_dns_managed_zone.main.name + + rrdatas = [ + "10 mxa.mailgun.org", + "10 mxb.mailgun.org" + ] +} + +resource "google_dns_record_set" "mailgun_verification" { + name = data.google_dns_managed_zone.main.dns_name + type = "TXT" + ttl = 300 + + managed_zone = data.google_dns_managed_zone.main.name + + rrdatas = [ + "v=spf1 include:mailgun.org ~all" + ] +} + +resource "google_dns_record_set" "mailgun_verification_domainkey" { + name = "krs._domainkey.${data.google_dns_managed_zone.main.dns_name}" + type = "TXT" + ttl = 300 + + managed_zone = data.google_dns_managed_zone.main.name + + rrdatas = [ + var.verification + ] +} + +resource "google_dns_record_set" "mailgun_tracking" { + name = "email.${data.google_dns_managed_zone.main.dns_name}" + type = "CNAME" + ttl = 300 + + managed_zone = data.google_dns_managed_zone.main.name + + rrdatas = [ + "mailgun.org" + ] +} diff --git a/terraform/dependencies/mailgun/variables.tf b/terraform/dependencies/mailgun/variables.tf new file mode 100644 index 0000000..a238881 --- /dev/null +++ b/terraform/dependencies/mailgun/variables.tf @@ -0,0 +1,9 @@ +variable "dns_zone" { + description = "Name of the DNS zone" + type = string +} + +variable "verification" { + description = "Verification domainkey value provided from Mailgun settings" + type = string +} diff --git a/terraform/environments/production/dns.tf b/terraform/environments/production/dns.tf index 0fef40a..2d953ee 100644 --- a/terraform/environments/production/dns.tf +++ b/terraform/environments/production/dns.tf @@ -37,3 +37,10 @@ module "dutyfree_address" { dns_zone = var.dns_zone subdomain = "resource-types" } + +module "mailgun_records" { + source = "../../dependencies/mailgun" + + dns_zone = var.dns_zone + verification = "k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCiXNfw2u/anSOEvASvp94Rt+sp4ujO/AETVVtnqT3MC3By1EZBD8b0JowMZZKGkT9RwstC55fM66hhuJ0Az0lUZql2hex96k3mZjNUghaMoiPbIxa7bjYI2+vVEGIq5Y95PUJnKZMqEhe4WTob+vWGBsmKxHTr0lueShiO9fXFfwIDAQAB" +}