Files
aza/APP/backup 24.2.26/handover.md
2026-03-25 14:14:07 +01:00

2.6 KiB
Raw Blame History

AZA Master Handover / Operational Runbook

Arbeitsmodus / Regeln

User bastelt nicht; nur Composer-Patches (meist Opus) oder 1 exakter Command mit Pfad.

  • Alle Aenderungen kommen als fertige, vollstaendige Dateien (ready-to-paste).
  • User fuehrt nur vorgegebene Commands aus, keine manuellen Edits.
  • Jede Aenderung in 1 Patch, kein schrittweises Anleiten.
  • Keine risky Refactors immer minimal und sicher.

Lokaler Start

cd "C:\Users\surov\Documents\AZA\backup 24.2.26"
powershell -ExecutionPolicy Bypass -File .\deploy\local_reset_and_start.ps1

Tests (Lokal)

powershell -ExecutionPolicy Bypass -File .\deploy\authorized_test.ps1
powershell -ExecutionPolicy Bypass -File .\deploy\smoke_suite.ps1

Step 14 Docker/Compose Smoke-Test

Ziel: Container bauen, starten, smoke_suite PASS gegen Docker.

1 Command:

cd "C:\Users\surov\Documents\AZA\backup 24.2.26"
powershell -ExecutionPolicy Bypass -File .\deploy\docker_smoke.ps1

Was das Script macht:

  • docker compose up -d --build (baut und startet Container)
  • Wartet bis /health HTTP 200 liefert (max 60s)
  • Fuehrt smoke_suite.ps1 gegen den Container aus
  • Gibt [RESULT] PASS oder [RESULT] FAIL aus
  • Bei FAIL bleiben Container laufen (Logs inspizierbar)

Erwartete Checks (smoke_suite):

  • GET /health -> 200
  • GET /version -> 200 mit {name, build}
  • GET /license/status ohne Token -> 401/403
  • GET /license/status mit Token -> 200 mit {valid, valid_until}
  • GET /stripe/health -> 200 oder 404 (WARN)
  • GET /openapi.json -> 200

Bei Fehler:

docker compose -f .\deploy\docker-compose.yml logs --follow
docker compose -f .\deploy\docker-compose.yml down

Step 15 Caddy/HTTPS Reverse Proxy

Ziel: HTTPS live mit ACME-Zertifikat, Reverse Proxy auf :8000.

  • Caddyfile finalisieren (Domain, TLS)
  • ACME-Challenge testen
  • Reverse Proxy pruefen (curl https://DOMAIN/health)

Step 16 Go-Live Runbook

Ziel: Production-Deployment auf VPS oder Buero-PC.

  • Webhook erreichbar (Stripe)
  • Stripe Signatur ok (STRIPE_WEBHOOK_SECRET)
  • Billing Portal Return URL korrekt
  • Log-Hygiene: keine Secrets in Logs

Do-Not-Break Regeln

  1. Keine bestehenden API-Response-Formate aendern (besonders /license/status)
  2. Auth/Security nicht modifizieren (Token-Rotation, _check_token)
  3. Keine Secrets loggen/printen (Tokens, Keys, Passwoerter)
  4. backend_token.txt nie committen (steht in .gitignore)
  5. deploy/.env nie committen (enthaelt Produktions-Secrets)
  6. Immer try/except um History-Logging (darf Response nie blockieren)
  7. Windows PowerShell 5.1 kompatibel bleiben