CluPilotCloud/app/Provisioning
nexxo 3930cf12ae Mailversand darf eine bezahlte Bereitstellung nie aufhalten
ConfigureInstanceMail stand als Pflichtschritt in der customer-Pipeline und
liess den ganzen Lauf scheitern, wenn Server oder Postfach fehlten. Der
Mailserver dieses Produkts existiert noch nicht — er wird gerade erst
aufgesetzt. Jede neue bezahlte Bestellung waere damit an einer Nebenfunktion
haengengeblieben: der Kunde zahlt, die Cloud kommt nicht.

Denselben Fall hat dieses Projekt bei RegisterMonitoring schon richtig
entschieden: eine nicht erreichbare Ueberwachung blockiert die Bereitstellung
nie. Mailversand bekommt jetzt dieselbe Behandlung. Fehlt Server oder
Postfach, geht der Schritt mit advance() weiter und protokolliert den Grund
per Log::warning (Instanz-UUID + Grund) fuer den Betreiber; nachgeholt wird es
ueber clupilot:configure-instance-mail (Aufgabe 4), sobald beides steht.

Nicht eingerichtet bleibt etwas anderes als kaputt: sobald Server und
Postfach da sind, wird geschrieben wie zuvor, und ein echter Schreibfehler
(occ-Fehlercode, Gast antwortet nicht) bleibt weiterhin ein Fehlschlag ueber
CustomerStep::guest().

Der bestehende Test "schreibt GAR NICHTS, wenn der Mailserver fehlt" prueft
jetzt StepResult::ADVANCE statt FAIL und zusaetzlich, dass der Grund geloggt
wird. Ein neuer End-to-End-Test in CustomerProvisioningEndToEndTest faehrt
eine bezahlte Bestellung ohne jede Mail-Fixture vollstaendig bis "completed"
— die Zusicherung, um die es hier eigentlich geht.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 20:06:34 +02:00
..
Contracts Serve the custom domain, not just announce it 2026-07-29 16:44:52 +02:00
Events feat(engine-b): live provisioning progress (admin console + customer dashboard) 2026-07-25 11:57:35 +02:00
Jobs fix(security): Aufheben einer Sperre sagt die Wahrheit und wird nachgeholt 2026-08-03 17:28:28 +02:00
Steps Mailversand darf eine bezahlte Bereitstellung nie aufhalten 2026-08-03 20:06:34 +02:00
PipelineRegistry.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
RunRunner.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00
StepResult.php fix(engine): address Codex round 2 (poll budget, host error state, wg race) 2026-07-25 10:26:37 +02:00
WorkInFlight.php Fix nine defects in the provisioning pipelines 2026-07-30 01:34:55 +02:00