feat(web-arm): static outbound IPv6 with Postfix pinned to IPv4 #84
No reviewers
Labels
No labels
bug
enhancement
in-progress
needs-info
needs-triage
p0
ready-for-agent
ready-for-human
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Cloonar/nixos!84
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "afk/81"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
What
Give web-arm its own outbound IPv6 by statically configuring the Hetzner-routed
/64onenp1s0, without regressing outbound mail.networking.interfaces.enp1s0.ipv6.addresses— static2a01:4f8:c012:43b::1/64networking.defaultGateway6— default v6 route via the link-localfe80::1onenp1s0services.postfix.settings.main.smtp_address_preference = "ipv4"— pin outbound mail to IPv4 in the same change, so Postfix doesn't start preferring an rDNS/SPF-less v6 source for dual-stack MXes (Gmail etc.). The route without the pin is the regression.docs/adr/0010-static-ipv6-on-web-arm.md— records static-over-DHCPv6/SLAAC and the mail-pin rationale.Notes for the reviewer
services.postfix.config, which does not exist in nixos-25.11 (the module was refactored). Used the currentservices.postfix.settings.main.*attribute set instead — verified against the channel; the dry-build validates it./64and gateway are opaque values from the Hetzner Cloud console that eval cannot check — please re-confirm2a01:4f8:c012:43b::1/64andfe80::1against the console before merge.AAAArecords are out of scope (tracked in #82 pilot, #83 rollout).Verification
:: web-arm OK).ip -6 routeshowsdefault via fe80::1 dev enp1s0;curl -6from the host reaches the v6 internet; nginx still listening on:::80/:::443;postconf smtp_address_preferencereportsipv4and mail deliverability is unchanged.Closes #81