Zeiten und Entscheidungen der Sitzung festhalten, damit die Abnahme von 1.0.0 den vollständigen Stand sieht. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -9,10 +9,15 @@ und dieses Projekt folgt [Semantic Versioning](https://semver.org/lang/de/).
|
||||
|
||||
### Hinzugefügt
|
||||
- Geführte Rotation des Deployment-Keys in fünf Schritten (erzeugen, verteilen, prüfen, umstellen, aufräumen) – kein Host steht dabei ohne funktionierenden Key da; nicht erreichbare Hosts lassen sich bewusst übergehen (#031)
|
||||
- Laufende Schlüsselrotation abbrechen – der Nachfolger wird per Dry-Run wieder entfernt (#032)
|
||||
- „Zum Dry-Run“ in der Zuweisungsmatrix springt direkt zur Dry-Run-Karte (#032)
|
||||
|
||||
### Geändert
|
||||
- Protokoll-IDs werden lückenlos vergeben (#032)
|
||||
|
||||
### Behoben
|
||||
- Massenwiderruf lehnte im Browser erzeugte Schlüssel ab (IDs mit Bindestrich) (#032)
|
||||
- Hinweis nach verweigerter Bestätigung nannte beim Massenwiderruf den falschen Knopf (#032)
|
||||
|
||||
### Sicherheit
|
||||
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
## Zeitübersicht
|
||||
|
||||
**Gesamt (Wandzeit):** 4 h 25 min
|
||||
**Summe der Issue-Zeiten:** 13 h 18 min – Sub-Agenten arbeiteten parallel an #002, #006, #008, #011, #012–#014, #019 (Oberfläche), #023–#025, #027 und #028.
|
||||
**Gesamt (Wandzeit):** 5 h 20 min
|
||||
**Summe der Issue-Zeiten:** 15 h 13 min – Sub-Agenten arbeiteten parallel an #002, #006, #008, #011, #012–#014, #019 (Oberfläche), #023–#025, #027, #028 und #032.
|
||||
|
||||
| Issue | Zeit |
|
||||
|---|---|
|
||||
@@ -37,7 +37,9 @@
|
||||
| #027 Protokollansicht, CSV, Syslog | 0 h 20 min |
|
||||
| #028 Benachrichtigungen | 0 h 30 min |
|
||||
| #029 Handbuch und Betriebsdokumentation | 0 h 50 min |
|
||||
| #030 Gitea-Abgleich (vorbereitet) | 0 h 05 min |
|
||||
| #030 Gitea-Abgleich | 0 h 05 min |
|
||||
| #031 Rotation des Deployment-Keys | 1 h 10 min |
|
||||
| #032 Nacharbeiten Phase 4/5 | 0 h 45 min |
|
||||
|
||||
| Meilenstein | Zeit |
|
||||
|---|---|
|
||||
@@ -46,6 +48,7 @@
|
||||
| v0.3.0 | 0 h 30 min (Wandzeit) | **abgeschlossen**
|
||||
| v0.4.0 | 0 h 45 min (Wandzeit) | **abgeschlossen**
|
||||
| v0.5.0 | 0 h 45 min (Wandzeit) | **abgeschlossen**
|
||||
| v1.0.0 | 0 h 55 min (Wandzeit) | in Arbeit – Abnahme steht aus
|
||||
|
||||
---
|
||||
|
||||
@@ -149,3 +152,20 @@
|
||||
- **Master-Key nicht in die Sicherung,** nur ein Prüfwert; Worker verweigert den Start mit falschem Master-Key.
|
||||
- **Benachrichtigungen lesen ihre Anlässe aus der Datenbank** statt sich in den Abgleich einzuhängen; Doppelmeldungen verhindert ein Versandprotokoll mit Fingerabdruck je Anlass.
|
||||
- **Keine 1.0.0 ohne Abnahme:** 0.5.0 schließt die fünf Phasen; authentik, Gitea und ein Lauf auf echten Hosts stehen noch aus.
|
||||
|
||||
## 2026-10-12 · Sitzung 6 · 17:12–18:07
|
||||
**Issue:** #030–#032
|
||||
**Version:** unveröffentlicht (auf dem Weg zu 1.0.0)
|
||||
|
||||
### Erledigt
|
||||
- Remote-Repo in Gitea: `main` und Tags v0.1.0–v0.5.0 gepusht, Issues abgeglichen (Basic-Auth, weil die hinterlegten Zugangsdaten ein Passwort sind)
|
||||
- #031 Geführte Rotation des Deployment-Keys: Service, Worker-Schritte, Seite mit Schrittleiste, Integrationstest gegen beide Testziele, E2E
|
||||
- #032 Nacharbeiten (Sub-Agent): lückenlose Protokoll-IDs, Rotation abbrechen, Anker „Zum Dry-Run“, Massenwiderruf-E2E – der fand, dass der Massenwiderruf UUIDs mit Bindestrich abwies
|
||||
- Stand: 876 Unit-/DB-Tests, 46 Integrationstests, 27 E2E-Abläufe grün
|
||||
|
||||
### Entscheidungen
|
||||
- **Der Nachfolger des Deployment-Keys ist ein eigener Schlüssel,** der während der Rotation über `sollFuer()` in Block und Pflichtliste steht – so verteilt ihn der normale Dry-Run, und der Aussperrschutz deckt beide Keys.
|
||||
- **Umstellen erst nach Prüfung** auf allen Hosts; ein Host lässt sich nur bewusst und protokolliert übergehen.
|
||||
- **Rotation abbrechen nutzt den vorhandenen Widerruf** statt eines neuen Zustands (#032).
|
||||
- **Protokoll-ID nur noch aus dem Trigger** unter der Advisory-Sperre – keine Lücken mehr durch verworfene Sequenzwerte.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user