Files
runbooks/dns-change-sheet.md
T
inference-bot 3a89c77cfc migration: fill in the new box addresses, decide IPv6, add box specs
New box: 179.237.86.116 / 2001:1600:18:206::89, 4CPU/12GB/250GB,
Ubuntu 26.04 LTS, one free snapshot slot, reverse DNS unset on both
addresses. IPv6 exists, so the 18 AAAA records are repointed rather
than deleted.
2026-10-30 17:58:48 +00:00

5.8 KiB
Raw Blame History

DNS change sheet — Cloudron migration (Hostinger → Infomaniak)

Prepared 2026-10-30 from a live zone inventory (zone_inventory.json, 41 records). Registrar: yoursrs.com (NS for domains.coop). Cloudron cannot manage these records; every change below is manual. Nothing here is time-sensitive except the TTL lowering.

Counts, so the switch is not underestimated

  • 19 A records → 179.199.135.72
  • 18 AAAA records → 2a02:4780:6e:83fd::1 (Hostinger's range)
  • 1 MX, 1 SPF TXT, 1 DKIM TXT, 1 DMARC TXT
  • No CAA records, so no certificate-authority restriction to update.
  • Configured TTL is 3600 s on every record. (Lower these a day early; the 1090–1204 s seen on some answers are cache countdowns, not zone values.)

Records to change at cutover

Name Type Current Set to
chat-legacy.inference.coop A 179.199.135.72 179.237.86.116
chat.inference.coop A 179.199.135.72 179.237.86.116
cloud.inference.coop A 179.199.135.72 179.237.86.116
dashboard.inference.coop A 179.199.135.72 179.237.86.116
docs.inference.coop A 179.199.135.72 179.237.86.116
email.inference.coop A 179.199.135.72 179.237.86.116
forum.inference.coop A 179.199.135.72 179.237.86.116
gateway.inference.coop A 179.199.135.72 179.237.86.116
git.inference.coop A 179.199.135.72 179.237.86.116
inference.coop A 179.199.135.72 179.237.86.116
matrix.inference.coop A 179.199.135.72 179.237.86.116
my.inference.coop A 179.199.135.72 179.237.86.116
newsletter.inference.coop A 179.199.135.72 179.237.86.116
panel.inference.coop A 179.199.135.72 179.237.86.116
portal.inference.coop A 179.199.135.72 179.237.86.116
search.inference.coop A 179.199.135.72 179.237.86.116
status.inference.coop A 179.199.135.72 179.237.86.116
vault.inference.coop A 179.199.135.72 179.237.86.116
www.inference.coop A 179.199.135.72 179.237.86.116
chat-legacy.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
chat.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
cloud.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
dashboard.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
docs.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
email.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
forum.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
gateway.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
git.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
matrix.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
my.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
newsletter.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
panel.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
portal.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
search.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
status.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89
vault.inference.coop AAAA 2a02:4780:6e:83fd::1 2001:1600:18:206::89

www has no app behind it in the Cloudron inventory — confirm whether it is an alias, a redirect, or stale before touching it.

Records that must NOT change, but must be re-verified after the restore

Name Type Value Why
inference.coop MX 10 my.inference.coop. Follows the A record; no MX edit needed.
inference.coop TXT (SPF) v=spf1 a:my.inference.coop ~all Hostname-based — survives the IP change.
cloudron._domainkey TXT (DKIM) v=DKIM1; t=s; p=MIGfMA0… Must match the key inside the restored mail app's data. Mismatch + DMARC below = silently discarded mail.
_dmarc TXT v=DMARC1; p=reject; pct=100 Reject policy: misaligned mail is DISCARDED, not junked.

Sequence (see the main runbook §4)

  1. A day early: set every A and AAAA TTL to 300 s.
  2. At cutover: point A records at 179.237.86.116; repoint every AAAA record to 2001:1600:18:206::89 (the new box has IPv6, so this is a repoint, not a delete — but it must happen in the same pass: an IPv6-capable client or homeserver left on Hostinger's address reaches the old box even after the A switch).
  3. Verify with the resolver set below, not one resolver.
for h in inference.coop my.inference.coop matrix.inference.coop gateway.inference.coop; do
  dig +short A $h @1.1.1.1; dig +short A $h @8.8.8.8; dig +short AAAA $h @1.1.1.1
done

The new box (given 2026-10-30)

  • IPv4 179.237.86.116 · IPv6 2001:1600:18:206::89
  • 4 CPU · 12 GB RAM · 250 GB disk · unlimited traffic
  • 1 snapshot slot free — take a snapshot after a clean restore and before the DNS switch, so a bad restore is a revert rather than a rebuild.
  • Location Plan-les-Ouates, Switzerland (same provider as the backup target, so the restore reads from inside Infomaniak's network).
  • Ubuntu 26.04 LTS — confirm Cloudron 9.x supports it before installing.
  • Reverse DNS is listed as "configure" for BOTH addresses. Set PTR → my.inference.coop on the IPv4 and the IPv6. A sending IP without matching PTR is the classic cause of fresh-IP mail landing in spam, and DMARC here is p=reject on our own domain.