CluPilotCloud/docs/handoffs
nexxo a91e8525d2 Write down the Hetzner DNS migration before starting it
The root cause of the zone_not_found hunt: the old DNS API is gone. It answers
301 to the web console, and the owner's token already returns 200 against
api.hetzner.cloud — so this is code work, not a credential problem.

The note holds what the next session needs and would otherwise have to rediscover:
the endpoints, taken from cloud.spec.json rather than guessed, the fact that
records are now RRSets addressed by name and type, that a zone can be addressed
by NAME directly, and two traps in the name field — it must not end with the zone
name, which is exactly what the current client sends, and PUT on an rrset sets
labels rather than records.

Recorded rather than started, deliberately. HttpHetznerDnsClient writes the A
record for every customer instance; rewriting it is not something to begin
without room left to test it properly, and a half-migrated DNS client is worse
than a documented broken one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 15:52:55 +02:00
..
2026-07-25-clupilot-engine-v1.0-handoff.md docs: provisioning engine v1.0 build handoff (standalone fleet + cluster-per-DC target) 2026-07-25 09:31:51 +02:00
2026-07-25-clupilot-state-handoff.md Ask the tunnel gateway where it actually listens 2026-07-27 14:43:23 +02:00
2026-07-27-portal-design-handoff.md Write the handoff, and rescue the approved templates into the repo 2026-07-27 20:18:20 +02:00
2026-07-28-operator-identity-handoff.md Hand off with the effort rule at the top, not the feature list 2026-07-28 16:13:08 +02:00
2026-07-28-session-handoff.md Hand off with the process failure at the top, not the feature list 2026-07-28 21:44:04 +02:00
2026-07-30-real-run-handoff.md Name the recurring filter, and stop the spec contradicting itself 2026-07-30 19:24:18 +02:00
2026-07-31-hetzner-dns-api-migration.md Write down the Hetzner DNS migration before starting it 2026-07-31 15:52:55 +02:00