From 86684b464aa759ea2060421017bdeb26a8ffe70d Mon Sep 17 00:00:00 2001 From: Brian Manifold Date: Tue, 26 Dec 2023 09:29:06 -0500 Subject: [PATCH] Update email provider settings in TF to use Mailgun (#2978) New TF variables have been added to both Staging and Production workspaces under the key `mailgun_server_api_token` --- elixir/apps/domain/priv/repo/seeds.exs | 2 +- terraform/environments/production/main.tf | 11 +++++++---- terraform/environments/production/variables.tf | 4 ++++ terraform/environments/staging/main.tf | 7 ++++--- terraform/environments/staging/variables.tf | 4 ++++ 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/elixir/apps/domain/priv/repo/seeds.exs b/elixir/apps/domain/priv/repo/seeds.exs index 8d5e6015c..e3cb474d4 100644 --- a/elixir/apps/domain/priv/repo/seeds.exs +++ b/elixir/apps/domain/priv/repo/seeds.exs @@ -2,7 +2,7 @@ alias Domain.{Repo, Accounts, Auth, Actors, Relays, Gateways, Resources, Policie # Seeds can be run both with MIX_ENV=prod and MIX_ENV=test, for test env we don't have # an adapter configured and creation of email provider will fail, so we will override it here. -System.put_env("OUTBOUND_EMAIL_ADAPTER", "Elixir.Swoosh.Adapters.Postmark") +System.put_env("OUTBOUND_EMAIL_ADAPTER", "Elixir.Swoosh.Adapters.Mailgun") # This function is used to update fields if STATIC_SEEDS is set, # which helps with static docker-compose environment for local development. diff --git a/terraform/environments/production/main.tf b/terraform/environments/production/main.tf index 4a8b2a49b..278463c2d 100644 --- a/terraform/environments/production/main.tf +++ b/terraform/environments/production/main.tf @@ -510,15 +510,18 @@ locals { # Emails { name = "OUTBOUND_EMAIL_ADAPTER" - value = "Elixir.Swoosh.Adapters.Postmark" + value = "Elixir.Swoosh.Adapters.Mailgun" }, { name = "OUTBOUND_EMAIL_FROM" - value = "support@firezone.dev" + value = "notifications@firezone.dev" }, { - name = "OUTBOUND_EMAIL_ADAPTER_OPTS" - value = "{\"api_key\":\"${var.postmark_server_api_token}\"}" + name = "OUTBOUND_EMAIL_ADAPTER_OPTS" + value = jsonencode({ + api_key = var.mailgun_server_api_token, + domain = local.tld + }) }, # Feature Flags { diff --git a/terraform/environments/production/variables.tf b/terraform/environments/production/variables.tf index dc42e40a9..0ddb1e539 100644 --- a/terraform/environments/production/variables.tf +++ b/terraform/environments/production/variables.tf @@ -33,6 +33,10 @@ variable "postmark_server_api_token" { type = string } +variable "mailgun_server_api_token" { + type = string +} + variable "pagerduty_auth_token" { type = string } diff --git a/terraform/environments/staging/main.tf b/terraform/environments/staging/main.tf index 3692f47b2..70412805b 100644 --- a/terraform/environments/staging/main.tf +++ b/terraform/environments/staging/main.tf @@ -463,16 +463,17 @@ locals { # Emails { name = "OUTBOUND_EMAIL_ADAPTER" - value = "Elixir.Swoosh.Adapters.Postmark" + value = "Elixir.Swoosh.Adapters.Mailgun" }, { name = "OUTBOUND_EMAIL_FROM" - value = "support@firez.one" + value = "notifications@firez.one" }, { name = "OUTBOUND_EMAIL_ADAPTER_OPTS" value = jsonencode({ - api_key = var.postmark_server_api_token + api_key = var.mailgun_server_api_token, + domain = local.tld }) }, # Feature Flags diff --git a/terraform/environments/staging/variables.tf b/terraform/environments/staging/variables.tf index f2a84af18..0694c4e93 100644 --- a/terraform/environments/staging/variables.tf +++ b/terraform/environments/staging/variables.tf @@ -27,3 +27,7 @@ variable "slack_alerts_auth_token" { variable "postmark_server_api_token" { type = string } + +variable "mailgun_server_api_token" { + type = string +}