Skip to content

feat(edge): manage the SES DKIM records and publish DMARC - #57

Merged
jm-rivera merged 1 commit into
devfrom
feat/edge-ses-mail-dns
Oct 23, 2026
Merged

jm-rivera merged 1 commit into
devfrom
feat/edge-ses-mail-dns

Conversation

@jm-rivera

Copy link
Copy Markdown
Contributor

Prepares the sending domain for the website's email sign-in (#48). ONE's infrastructure team published three DKIM CNAMEs in the developmentfinance.org zone for mail that its Amazon SES account sends as studio@developmentfinance.org. infra/stacks/edge/cloudflare_dns.tf adopts them with import blocks keyed by DKIM token, unproxied and with their content unchanged, so a plan shows if anyone proxies or edits one. SES can only read the signing keys through DNS-only records, and the domain loses its verified status without them. AWS rotates the keys behind the names, so the records never change.

A new _dmarc TXT record publishes v=DMARC1; p=none. Receivers apply no policy, and the record names no report mailbox, so nobody receives aggregate reports until a rua tag is added. Gmail and Yahoo expect a sending domain to publish DMARC. Mail passes it through the aligned DKIM signature, since SES sends from its own MAIL FROM domain and SPF aligns with that.

Testing: terraform fmt -check passes. A terraform plan -lock=false of infra/dfo-prod/edge with the plan token shows 3 to import, 1 to add and 3 to change. Each change adds only the Managed by Terraform comment to an imported DKIM record. Not applied.

ONE published three DKIM CNAMEs for mail sent through its Amazon SES
account as studio@developmentfinance.org. Import adopts them, unproxied,
so a plan shows if one changes. A new _dmarc TXT record publishes
v=DMARC1; p=none.
@jm-rivera
jm-rivera merged commit f789221 into dev Oct 23, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant