CluPilotCloud/docs/superpowers/specs
nexxo 200df30b9d Hetzner-Cloud-DNS, Bereitschaftsseite aus sich heraus behebbar
Die alte Hetzner-DNS-API ist abgeschaltet (301 auf die Weboberflaeche).
Jede Bereitstellung starb in ConfigureDnsAndTls, nachdem der Kunde bezahlt
hatte. HttpHetznerDnsClient und DnsTokenCheck sprechen jetzt die Cloud-API:
Bearer statt Auth-API-Token, RRSets ueber {name}/{typ} statt Record-IDs, der
Zonen-Lookup entfaellt. Gegen das Live-Konto gemessen, nicht geraten.

Drei Fallen, die am Konto gemessen wurden: TXT-Werte muessen in
Anfuehrungszeichen (sonst 422, was als read_only gemeldet worden waere), ein
Name mit Zonensuffix wird STILL angenommen (201), und der Fake gab andere IDs
aus als der echte Client -- zwoelf Tests waren gruen ueber einem Abbau, der im
Betrieb geworfen haette.

Bereitschaftspunkte, die nur eine Shell beheben konnte, sind jetzt bedienbar:
SSH-Schluesselpaar erzeugen (Ed25519 ueber phpseclib, privater Teil direkt in
den Tresor), Stripe-Katalog abgleichen (Warteschlange, Trockenlauf, Ausgabe
wortgleich), Mailzustellung als Schalter statt MAIL_MAILER, Neustart der
Arbeiterprozesse. Stripe hat jetzt alle drei Werte in der Konsole: Secret Key,
Signatur-Secret (Tresor, je Modus getrennt) und Publishable Key (Klartext).

Codex-Review (R15), zwei P1 behoben: der Signaturschluessel faellt nicht mehr
vom Live- in den Testplatz, und eine Record-ID aus der alten API macht einen
Host nicht mehr unloeschbar -- was adressierbar ist, wandelt eine Migration um,
der Rest wird beim Loeschen laut uebergangen statt geworfen.

2109 Tests gruen.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 19:50:01 +02:00
..
2026-07-25-host-onboarding-design.md fix(engine): fail on unresolvable pipeline step; make worker the WG hub 2026-07-25 10:53:40 +02:00
2026-07-27-mailboxes-design.md Design mailboxes as records, not as one more secret 2026-07-27 20:51:03 +02:00
2026-07-27-operator-identity-design.md Delete the users row once the operator has moved out of it 2026-07-27 20:44:56 +02:00
2026-07-30-betriebsmodus-und-betriebsbereitschaft-design.md Design a test/live switch and a page that says what is missing 2026-07-30 10:11:26 +02:00
2026-07-30-host-uebernahme-statt-installation-design.md Write down the network boundary, the subdomain, and two decided follow-ups 2026-07-30 19:05:23 +02:00
2026-07-30-stripe-adoption-followups-design.md Name the recurring filter, and stop the spec contradicting itself 2026-07-30 19:24:18 +02:00
2026-07-30-stripe-price-adoption-design.md Give the operator something to do about an orphan nobody can adopt 2026-07-30 18:36:06 +02:00
2026-07-31-zahlungsmittel-und-mahnlauf-design.md Hetzner-Cloud-DNS, Bereitschaftsseite aus sich heraus behebbar 2026-07-31 19:50:01 +02:00