Skip to content

fix: clawbench email dns#178

Merged
Perry2004 merged 2 commits into
mainfrom
clawbench-dns
Mar 20, 2026
Merged

fix: clawbench email dns#178
Perry2004 merged 2 commits into
mainfrom
clawbench-dns

Conversation

@Perry2004
Copy link
Copy Markdown
Owner

No description provided.

Copilot AI review requested due to automatic review settings March 20, 2026 02:45
@Perry2004 Perry2004 merged commit 46f4ad4 into main Mar 20, 2026
2 of 3 checks passed
@Perry2004 Perry2004 deleted the clawbench-dns branch March 20, 2026 02:45
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates the Terraform-managed Route53 DNS records for clawbench.<domain> email delivery, switching from a delegated sub-hosted-zone approach to managing Purelymail records directly in the parent hosted zone.

Changes:

  • Removed the dedicated clawbench Route53 hosted zone + NS delegation and instead target aws_route53_zone.perryz_net_zone for all records.
  • Defined MX, TXT (SPF + ownership), DKIM CNAMEs, and DMARC record for clawbench.<domain> under the parent zone.
  • Normalized TTLs to numeric literals (e.g., 3600).

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread common/dns/clawbench.tf
Comment on lines +12 to 21
# SPF record
resource "aws_route53_record" "clawbench_spf" {
zone_id = aws_route53_zone.clawbench_subzone.zone_id
name = ""
type = "TXT"
ttl = "3600"
records = [
"v=spf1 include:_spf.purelymail.com ~all"
]
}

# Ownership TXT Record
resource "aws_route53_record" "clawbench_ownership" {
zone_id = aws_route53_zone.clawbench_subzone.zone_id
zone_id = aws_route53_zone.perryz_net_zone.zone_id
name = "clawbench.${var.domain_name}"
type = "TXT"
ttl = "300"
ttl = 3600
records = [
"purelymail_ownership_proof=05ebc6732a9fdf83aaac36fac2bfc3df55b2c5c3a698f16e89086d610c7265e2777f2982e1646833e0eca00f6835ad74dc00b98fde13c4b6e7ab16d4c29032aa"
"v=spf1 include:_spf.purelymail.com ~all",
"purelymail_ownership_proof=05ebc6732a9fdf83aaac36fac2bfc3df55b2c5c3a698f16e89086d610c7265e2777f2982e1646833e0eca00f6835ad74dc00b98fde13c4b6e7ab16d4c29032aa",
]
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

clawbench_spf now contains both the SPF value and the purelymail_ownership_proof TXT value. The resource name/comment are misleading, and it makes future updates (e.g., rotating ownership vs SPF) harder to reason about. Consider either splitting this into two aws_route53_record resources (same name/type but different set_identifier / separate records) or renaming the resource/comment to reflect that it manages multiple TXT records.

Copilot uses AI. Check for mistakes.
Comment thread common/dns/clawbench.tf
Comment on lines 50 to +55
resource "aws_route53_record" "clawbench_dmarc" {
zone_id = aws_route53_zone.clawbench_subzone.zone_id
zone_id = aws_route53_zone.perryz_net_zone.zone_id
name = "_dmarc.clawbench.${var.domain_name}"
type = "CNAME"
ttl = "3600"
records = [
"dmarcroot.purelymail.com."
]
ttl = 3600
records = ["dmarcroot.purelymail.com."]
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The DMARC record is being published as a CNAME to dmarcroot.purelymail.com.. Elsewhere in this repo DMARC is consistently published as a TXT record at _dmarc.<domain> (e.g. apps/cloud-chat-app/usw2dev/dns.tf:26-32). If Purelymail doesn’t explicitly require a CNAME-based DMARC setup, consider switching this to a TXT v=DMARC1; ... policy record to align with the repo’s established DMARC pattern and avoid DMARC evaluation issues.

Copilot uses AI. Check for mistakes.
Comment thread common/dns/clawbench.tf
Comment on lines +3 to 6
# MX record
resource "aws_route53_record" "clawbench_mx" {
zone_id = aws_route53_zone.perryz_net_zone.zone_id
name = "clawbench.${var.domain_name}"
Copy link

Copilot AI Mar 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change removes the delegated clawbench hosted zone/NS delegation and instead manages all email records directly in the parent perryz_net_zone. That will cause Terraform to destroy the clawbench hosted zone in state, which can fail if the zone contains any unmanaged records (and can cause DNS cutover/downtime depending on TTLs). Consider confirming the hosted zone is otherwise empty / not referenced elsewhere before applying, or documenting the required migration steps (and/or using force_destroy if appropriate).

Copilot uses AI. Check for mistakes.
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.

2 participants