← Übersicht

F16 Betriebsreife, Service-Management und Abhängigkeiten herstellen

Betriebsreife, Service-Management und Abhängigkeiten herstellen

Finding: F16 Priorität: P1 Status: IN UMSETZUNG Stand: 2026-07-16

Problembeschreibung

  • Kein versionierter Headless-Service-/Restart-/Hardening-Vertrag.
  • Host/Port defaulten 127.0.0.1:3001, Secret kann leer sein.
  • Playwright ^1.54, installiert 1.61.1; Node/Browser/Deploy nicht als Releaseartefakt belegt.
  • Node/NPM kollidiert mit Package-Manager-Verbot ohne Ausnahme.

Ziel

Prozess startet, überwacht, aktualisiert und stoppt reproduzierbar; Runtimeversionen und Regelentscheidung sind explizit.

Aufgabe

  1. Entscheidung externer Service vs. genehmigte Node-Ausnahme.
  2. Gehärtete systemd/container Definition.
  3. Node/Playwright/Browser pinnen.
  4. Readiness/Runbook für Upgrade, Rotation, Incident, Rollback.

Scope

  • In Scope: alle unter Code Blast genannten Komponenten, Daten, Verträge und Tests.
  • Out of Scope: neue Features und produktive externe Mutation ohne separate Freigabe.

Harte Spezifikation

  • MUST: keine impliziten Prod-Defaults.
  • MUST: Runtime reproduzierbar.
  • MUST: nichtprivilegierter Serviceuser.
  • MUST: Restart ohne Duplikat; Rules-Abweichung geklärt.

Harte Quality Gateways

  • Neuinstallation auf leerem Host grün.
  • Kill/Restart jeder Phase ohne Duplikat.
  • Versionen entsprechen Lock.
  • Hardening-/Rotation-/Rollback-Drill grün.
  • Global: PHPStan Level 8 und PHPUnit liefern 0 Fehler; kein Ignore oder Baseline.

Code Blast

  • Direkt: package files, server.js/README, Serviceconfig, PHP-Endpoint.
  • Betrieb: Manager, Browser, Monitoring.

Code-Impact-Analyse

  • Macht Dienst nach Reboot betreibbar.
  • Pinning erhöht kontrollierten Upgradeaufwand.

Risikoanalyse

| Risiko | Eintritt | Schaden | |---|---|---| | Dienst nach Reboot aus/Versionsdrift | hoch | hoch | | Restart-Duplikat | mittel | kritisch |

Strategie zur Risikonullierung

  1. Prevent: deklarativer Service/Pins.
  2. Detect: Readiness/Version.
  3. Contain: Limits/Exactly-once.
  4. Recover: Rollback/Reconciliation.

Abschlussnachweis

Erledigt erst, wenn alle MUST-Spezifikationen implementiert, alle Gateways mit unveränderlicher Evidenz grün und Restrisiken technisch ausgeschlossen oder ausdrücklich fachlich akzeptiert sind.

Supervisionsfortschritt 2026-07-16

  • Playwright 1.61.1 und Node 22 gepinnt, npm-ci-Vertrag und gehaertete systemd-Unit validiert. Installierter Dienst und Real-Login stehen aus.

Supervisionsfortschritt 2026-07-16 (Runbook)

  • Versioniertes Betriebsrunbook fuer Installation, Readiness, Restart, Reconciliation, Upgrade, Incident, Rotation und Roll-forward-Rollback ergaenzt.
  • Die produktive Installation und der reale Login bleiben ohne die ausgeschlossene externe Wetell-Konfiguration offen.

Supervisionsfortschritt 2026-07-16 (Finaler lokaler Lauf)

  • Das vollstaendige Offline-Gateway ist mit 67 PHPUnit-Tests/240 Assertions, PHPStan Level 8, 9 Node-Tests, YAML, Syntax und LOC gruen.
  • Ohne ausgeschlossene Wetell-Konfiguration endet `run-rechnung.php` fail-closed mit Exit 1; Rechnungsdateien bleiben exakt 0 zu 0 und Lexware wird nicht aufgerufen.
  • VCS-Vorpruefung: Runtime-Credentials sind ignoriert; Secret-/Grossdatei-Gateway prueft 223 Versionskandidaten ohne Fund.

Frühere Versionen

VersionZeitpunktOperation
63 2026-07-16 20:26:01.578688+02 UPDATE
51 2026-07-16 20:11:22.768558+02 UPDATE
43 2026-07-16 19:53:19.687794+02 UPDATE