Files
craftvia/docs/PROMPT-lane-garage-abnahme.md
msolarczekandClaude Opus 5 c8e6f30a27
CI / build-and-check (push) Canceled after 0s
CI / audit (push) Canceled after 0s
CI / sbom (push) Canceled after 0s
Basis: Certvia dev@a48c5fb als Fundament für Craftvia
Unveränderter Stand von certvia/dev (a48c5fb) plus Craftvia-Spezifikation
und Brandbook unter docs/craftvia/. ISMS-Module werden im Folgecommit entfernt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-14 11:05:39 +02:00

2.9 KiB
Raw Permalink Blame History

Kickoff-Prompt — Lane D: Test, Cutover & Abnahme

Du übernimmst Lane D (Integration/Abnahme) der Umstellung MinIO → Garage. Lies docs/KONZEPT-garage-migration.md (v. a. §7 Runbook, §8 Rollback, §9 Abnahmekriterien). Randbedingung: nur Test-Instanzen, keine Datenmigration — Neu-Deploy.

Repo & Branch

  • origin: git.certvia.de/msolarczek/certvia — Basis-Branch dev.
  • Zweiter Remote (interner Coolify-Test): local-gitea = gitea.192.168.1.155.sslip.io/msolarczek/ISMS-Tool. Push auf dev löst den Test-Deploy aus.
  • Deploy-Ziel: interne Coolify-Instanz, certvia.192.168.1.155.sslip.io.

Ziel

Die integrierten Ergebnisse aus Lane A–C auf der Test-Instanz per Neu-Deploy in Betrieb nehmen und formal abnehmen — plus abgenommenes Runbook (auch für spätere Prod).

Aufgaben

  1. Cutover (Runbook §7) an der Test-Instanz durchspielen:
    • Im Compose minio → garage + garage-provision; Volumes garage_meta/garage_data.
    • Coolify-Env: S3_ENDPOINT=http://garage:3900, S3_REGION=us-east-1, GARAGE_RPC_SECRET, GARAGE_ADMIN_TOKEN (literal!), S3_ACCESS_KEY/S3_SECRET_KEY = provisionierter Garage-Key.
    • Deploy; Garage „ready", garage-provision legt Bucket/Key/Rechte an.
    • Optional DB-Reset (wie in bisherigen Deploys), falls alte Objekt-Referenzen stören.
  2. End-to-End-Abnahme (§9) — alle grün:
    • Upload (Richtlinie/Nachweis) → Objekt in Garage, <tenantId>/uploads/…-Präfix korrekt.
    • Download (/files/[...key]) inkl. korrektem Dateinamen/Content-Type.
    • Backup-Export .cvb (CVB1-Header), Persistenz + Download.
    • DSGVO-ZIP erzeugt + lesbar.
    • Restore → Datenintegrität + Mandanten-Isolation.
    • Backup-Historie: List + Aufräumen (Delete-Prefix).
    • Negativfall: fehlender Bucket → sprechender Konfigfehler (kein stiller CreateBucket).
    • scripts/test-backup-*.ts + scripts/test-garage-storage.ts grün gegen die Instanz.
  3. Runbook & Rollback in docs/DEPLOY-COOLIFY.md finalisieren (Schritt-für-Schritt, inkl. „garage_meta sichern").
  4. minio-Service + Volumes erst nach erfolgreicher Abnahme entfernen (bis dahin Rollback-Sicherheitsnetz).

Vorgaben

  • Keine echten Secrets in Chat/Repo/Logs (GARAGE_*, S3-Key). In Coolify literal setzen (Interpolationsfalle).
  • Bei „Container weg ohne Logs" die bekannte Log-Capture-Technik nutzen (Logs während des Deploys in Dateien mitschreiben; siehe Deployment-Erfahrungen).
  • Gefundene Bugs an die jeweilige Lane (A/B/C) zurückspielen, nicht selbst quer patchen.

Definition of Done

  • Test-Instanz läuft auf Garage, alle Abnahmekriterien (§9) abgehakt.
  • Runbook + Rollback dokumentiert und einmal real durchgespielt.
  • minio entfernt (oder bewusst als Netz belassen, dokumentiert). Freigabe für spätere Prod.

Abhängigkeiten

Integriert Lane A + B + C. PM koordiniert Reihenfolge (A→B, C parallel) und Go für die Abnahme.