Detaillierter Projektplan mit Teilplänen und Fragenliste

- docs/projektplan.md neu gegliedert: Arbeitsweise mit Freigaben, Zuständigkeiten,
  Meilensteine mit Abnahmekriterien, Arbeitspakete mit Status, Zeitplan, Entscheidungen
- docs/plaene/: Teilplan je Arbeitspaket (detailliert für AP0, AP1, AP2, AP3, AP5, AP11,
  AP13; grob für AP4, AP6–AP10, AP12, Optionen) und Vorlage
- docs/fragen.md: alle offenen Fragen mit Status, Empfänger und betroffenem Teilplan
- CLAUDE.md: Umsetzung nur nach freigegebenem Teilplan

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Christoph
2026-10-05 08:47:05 +02:00
co-authored by Claude Opus 5.5
parent 6aac8b0a16
commit 2143f4e955
19 changed files with 1653 additions and 212 deletions
+74
View File
@@ -0,0 +1,74 @@
# AP11 – Betrieb
| | |
|---|---|
| Status | in Arbeit (11a.1 erledigt); Schritte ab 11a.2 detailliert, warten auf Freigabe |
| Aufwand | 0,5 PW (wir) + 1–1,5 PW (ITM-Entwickler) |
| Zeitraum | KW 41–44 (Staging), KW 50–51 (Produktion), KW 3/2027 (Restore-Test) |
| Meilenstein | M2 (Staging), M3 (Produktion), M4 (abgesichert) |
| Freigabe | offen |
## Ziel
Staging und Produktion laufen auf den Servern von ITM, werden reproduzierbar bereitgestellt,
gesichert und überwacht. Ein Ausfall fällt auf, bevor BauIn ihn bemerkt.
## Umfang
**Enthalten:**
- **11a, wir:**
- Server-Anforderungen
- Vorlagen für Nginx, systemd und Cron
- Deploy-Skript
- Lebenszeichen- und Prüfbefehle
- Backup-Skript
- Betriebsdoku
- **11b, ITM-Entwickler:**
- Server aufsetzen, Domain und Zertifikat
- Backup-Ziel, Überwachung
- Restore-Test gemeinsam mit uns
**Nicht enthalten:** Hochverfügbarkeit, mehrere Server.
## Voraussetzungen
C10 (Ausstattung, Root-Zugang), B2 (Zugriff Internet/VPN), B3 (Domain, Mail), B5 und C10 (Backups),
C12 (wer deployt).
## Entscheidungen
| Nr. | Frage | Vorschlag | Entschieden |
|---|---|---|---|
| E11.1 | Deployment | Skript auf dem Server mit Versionsverzeichnissen (`releases/`, `current`), ausgelöst per SSH | offen |
| E11.2 | Backup-Werkzeug | restic, verschlüsselt, Ziel von ITM | offen (B5) |
| E11.3 | Alarmierung | E-Mail an dich und den ITM-Entwickler | offen |
## Schritte
- [x] **11a.1** Server-Anforderungen `docs/server-anforderungen.md`
- [ ] **11a.2** Vorlagen in `deploy/`:
- Nginx-Server-Block, systemd-Units (Worker, Meilisearch), Cron-Zeile
- Beispiel für `.env` ohne Werte
- [ ] **11a.3** Deploy-Skript nach E11.1 mit Prüfungen (Migration, Caches, Neustart der Worker),
zuerst gegen eine lokale Test-VM oder direkt auf Staging
- [ ] **11a.4** Betriebsbefehle:
- Lebenszeichen für Worker und Scheduler
- Zählung fehlgeschlagener Jobs
- Statusprüfung der KI-API (aus AP3)
- Mail bei Problemen (E11.3)
- [ ] **11b.1** Staging aufsetzen (ITM-Entwickler, KW 42–44), erstes Deployment gemeinsam
- [ ] **11a.5** Backup-Skript nach E11.2 und Betriebsdoku `docs/betrieb.md`:
- Deployment, Wiederherstellung, `APP_KEY` sicher aufbewahren
- [ ] **11b.2** Produktion aufsetzen (KW 50–51)
- [ ] **11a.6 / 11b.3** Restore-Test auf einem Ersatzsystem (KW 3), Protokoll in `docs/betrieb.md`
## Abnahmekriterien
- Ein Deployment aus dem Gitea auf Staging klappt mit einem Befehl.
- Ein absichtlich gestoppter Worker löst innerhalb von 10 Minuten eine Mail aus.
- Der Restore-Test war erfolgreich und ist dokumentiert.
## Risiken
- Antworten von ITM zu Zugang und Ausstattung kommen spät. Dann Staging per Bildschirmfreigabe
gemeinsam aufsetzen.