CluPilotCloud/app/Provisioning/Steps/Customer
nexxo 6314bb60fb Schalter je Paket, ehrliche Statusanzeige, Reste der alten Leiter
Die Umschaltmigration verglich beim Erkennen eines bereits umgeschalteten
Bestands nur Kontingent und Platte. Bei Intern waren beide schon vorher
richtig (5/20 GB), also hielt sie das Paket für erledigt und ließ RAM, Kerne
und Plätze auf ihren alten Werten stehen (1024 MB/1 Kern/5 statt 4096 MB/2/3).
Die Prüfung vergleicht jetzt alle neun Vorgaben; eine zweite, kleine Migration
hebt einen Bestand nach, auf dem die erste schon lief, und tut nichts auf einer
Neuinstallation.

Die Statusanzeige unterschied bisher nicht zwischen "kein Angebot" und "läuft,
aber nicht im Laden" — ein internes Paket zeigte "Nichts verfügbar" in der
Liste und "Im Verkauf" auf der Versionsseite darunter. Vier Zustände statt
zwei, mit fester Reihenfolge: der Notausschalter (sales_enabled) schlägt die
Konsolen-Kennzeichnung (internal).

Ein zweiter Schalter je Paketfamilie nimmt sie aus dem Preisblatt, ohne sie
unverkäuflich zu machen — nach dem Vorbild des vorhandenen Verkaufsschalters,
ohne Bestätigungsmodal, weil reversibel. Enterprise wechselt von
sales_enabled=false (weder käuflich noch verschenkbar) auf internal=true, wie
das Testpaket.

Dazu die liegengebliebenen Zahlen der alten Leiter in Produktattrappe,
Mail-Vorschau, Fabrik-Vorgaben und Seedern, sowie eine Testzusicherung, die auf
eine wandernde ID statt auf den berechneten Wert hätte treffen können.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-01 17:53:06 +02:00
..
ApplyStorageQuota.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
CloneVirtualMachine.php fix(engine-b): clean re-clone on lost task ref; idempotent firewall rules 2026-07-25 13:04:48 +02:00
CompleteProvisioning.php Stop mailing the initial admin password, hold it in the panel until noted 2026-07-28 23:19:20 +02:00
CompleteRestart.php Restart a machine, enforce the quota that was sold, end a route that ended 2026-07-29 18:28:28 +02:00
ConfigureCloudInit.php fix(engine-b): apply plan CPU/RAM; idempotent backup + monitoring registration 2026-07-25 12:42:10 +02:00
ConfigureDnsAndTls.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
ConfigureNetwork.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
ConfigureNextcloud.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
CreateCustomerAdmin.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
CustomerStep.php fix(billing): a paid order opens a contract, and provisioning obeys it 2026-07-26 11:10:00 +02:00
DeployApplicationStack.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
GrowGuestFilesystem.php Deliver the storage a customer actually buys 2026-07-29 19:13:10 +02:00
RegisterBackup.php fix(engine-b): clone recovery waits for lock; register rows before breadcrumb 2026-07-25 12:44:22 +02:00
RegisterMonitoring.php Add the SSH identity to the vault, and give deployment config a console page 2026-07-29 00:52:44 +02:00
ReserveResources.php Ein reservierter Host gehoert seinem Kunden 2026-08-01 16:06:14 +02:00
ResizeVirtualMachine.php Schalter je Paket, ehrliche Statusanzeige, Reste der alten Leiter 2026-08-01 17:53:06 +02:00
RunAcceptanceChecks.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
SettlePlanServices.php Apply a bought plan change instead of only pricing it 2026-07-29 17:18:55 +02:00
ShutDownVirtualMachine.php Restart a machine, enforce the quota that was sold, end a route that ended 2026-07-29 18:28:28 +02:00
StartVirtualMachine.php feat(engine-b): 15-step customer pipeline + DNS/Traefik services 2026-07-25 11:50:26 +02:00
ValidateOrder.php fix(billing): a paid order opens a contract, and provisioning obeys it 2026-07-26 11:10:00 +02:00
WaitForGuestAgent.php fix(engine): don't reset started_at on poll so step deadlines accumulate 2026-07-25 12:15:26 +02:00