CluPilotCloud/docs/superpowers/specs
nexxo 5fe33553ad
tests / pest (push) Waiting to run Details
tests / assets (push) Waiting to run Details
tests / release (push) Blocked by required conditions Details
Zertifikats-Spec auf Weg B umgeschrieben, Registereintrag gestrichen
Die Spec fuer die Host-Konsole (docs/superpowers/specs/2026-08-01-host-
konsole-zertifikat-design.md) war auf einer eigenen DNS-Zone und Proxmox'
Alias-Modus fuer DNS-01 gebaut. Hetzner kennt keine Subzonen (docs.hetzner.
com/networking/dns/faq/zones/, Artikel NE-7597D: "Subzones are not
supported") -- damit entfallen eigene Zone, CNAME je Host, Alias-Modus und
der pro Host verteilte DNS-Token ersatzlos. Der Grund bleibt in der Spec
stehen, statt geloescht zu werden, damit niemand denselben Weg in einem
halben Jahr erneut vorschlaegt.

Weg B, wie im Register vorgegeben: CluPilot stellt zentral aus, DNS-01
ueber den vorhandenen kontoweiten Hetzner-Token, Zertifikat per SSH
(RemoteShell::putFile + `pvenode cert set --force --restart`, geprueft
gegen die Proxmox-Dokumentation) auf den Host, Erneuerung als geplanter Job
auf der Bereitstellungs-Warteschlange (dieselbe Grenze wie SyncVpnPeers --
nur queue-provisioning erreicht einen Host ueber den Tunnel). Dazu ein
Vergleich mit der Kundeninstanz (ConfigureDnsAndTls, HTTP-01) und eine
genaue Bestandsaufnahme der Bereitschaftsseite: sie kennt heute kein
Zertifikat, weder fuer Hosts noch, trotz ersten Anscheins, uebertragbar
fuer die Plattform -- CertificateSweep/ProxyHost misst nur oeffentlich
erreichbare Namen und laeuft im falschen Container fuer einen Host-FQDN.

Im Code bestaetigt und in der Spec vermerkt: RrsetId::zone() ist heute fest
auf die Kundenzone verdrahtet, ein Host-FQDN liegt aber in der
Plattformzone -- das ist Bauarbeit, keine offene Entscheidung. Offen bleibt
nur, welches Werkzeug das ACME-Protokoll auf CluPilot-Seite spricht (keine
Bibliothek/kein Tool dafuer im Repo) und ob Plattform- und Kundenzone im
selben Hetzner-Projekt liegen -- beides als offene Fragen benannt, keine
davon blockiert den Rest des Ablaufs.

Registereintrag in OpenWork.php gestrichen: die Spec beschreibt keinen
toten Weg mehr, und genau das war der einzige Punkt, den der Eintrag
festhielt.

Getestet: php artisan test --filter=OpenWork, 8 passed.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-04 15:31:28 +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
2026-08-01-host-detailseite-last-design.md Release v1.3.93 — die Seite konnte den Host gar nicht fragen 2026-08-01 11:23:00 +02:00
2026-08-01-host-konsole-zertifikat-design.md Zertifikats-Spec auf Weg B umgeschrieben, Registereintrag gestrichen 2026-08-04 15:31:28 +02:00
2026-08-01-hostname-vergabe-design.md Fix-Runde 2: Warnung fuer nicht reparierte Hosts, case-sichere Vorabpruefung, wiederholbare Migration 2026-08-01 14:52:15 +02:00
2026-08-01-network-bridge-design.md Entwurf: vmbr0 automatisch bauen 2026-08-01 11:47:38 +02:00
2026-08-01-neue-pakete-design.md Entwurf: geprueft, dass ein laufender Vertrag seine Version einfriert 2026-08-01 11:55:30 +02:00
2026-08-01-vorlagenbau-design.md Release v1.3.88 — die Vorlage baut sich selbst 2026-08-01 05:01:44 +02:00
2026-08-02-terminal-container-design.md Terminal-Bruecke: ein Container, eine Aufgabe, ein Ticket 2026-08-02 19:09:15 +02:00
2026-08-02-versandtakt-design.md Entwurf: der Versandtakt 2026-08-03 15:18:47 +02:00
2026-08-03-fruehwarnsystem-design.md Spec richtiggestellt: Gaeste werden ueber den Proxmox-Gastagenten gelesen, nicht ueber SSH 2026-08-03 12:23:41 +02:00
2026-08-03-mitarbeiterverwaltung-design.md Plan berichtigt: der Nachruestbefehl haette nie einen Lauf gefahren 2026-08-03 20:32:25 +02:00
2026-08-04-konsolen-seitenleiste-design.md Entwurf: die Seitenleiste der Konsole neu geordnet 2026-08-04 01:47:03 +02:00
2026-08-04-kuendigung-export-abbau-design.md Der Export braucht eine Momentaufnahme, sonst ist er keiner 2026-08-04 01:46:20 +02:00
2026-08-04-release-decke-design.md Entwurf: Release-Decke — gezielt vorwaerts festnageln aus der Konsole 2026-08-04 14:25:21 +02:00
2026-08-04-server-terminal-design.md Entwurf: ein Terminal fuer den CluPilot-Server selbst 2026-08-04 09:41:18 +02:00