From 7e4968f2ea472b38793a85c647b8c7106305abf8 Mon Sep 17 00:00:00 2001 From: Florian Wilde Date: Mon, 12 Oct 2026 22:52:52 +0200 Subject: [PATCH] docs(devlog): Sitzung 8 mit #035 und #036 (#036) Zeiten und Entscheidungen der Sitzung festhalten. Co-Authored-By: Claude Opus 5.5 --- DEVLOG.md | 23 +++++++++++++++++++--- docs/issues/035-lokale-konten.md | 2 +- docs/issues/036-deploymentkey-abbrechen.md | 2 +- 3 files changed, 22 insertions(+), 5 deletions(-) diff --git a/DEVLOG.md b/DEVLOG.md index 93bc3a5..0cd6102 100644 --- a/DEVLOG.md +++ b/DEVLOG.md @@ -2,8 +2,8 @@ ## Zeitübersicht -**Gesamt (Wandzeit):** 5 h 50 min -**Summe der Issue-Zeiten:** 15 h 43 min – Sub-Agenten arbeiteten parallel an #002, #006, #008, #011, #012–#014, #019 (Oberfläche), #023–#025, #027, #028 und #032. +**Gesamt (Wandzeit):** 6 h 40 min +**Summe der Issue-Zeiten:** 16 h 38 min – Sub-Agenten arbeiteten parallel an #002, #006, #008, #011, #012–#014, #019 (Oberfläche), #023–#025, #027, #028 und #032. | Issue | Zeit | |---|---| @@ -42,6 +42,8 @@ | #032 Nacharbeiten Phase 4/5 | 0 h 45 min | | #033 Erneut rotieren nach Abbruch | 0 h 20 min | | #034 Abnahme-Checkliste | 0 h 10 min | +| #035 Lokale Benutzerkonten | 0 h 35 min | +| #036 Deployment-Key-Rotation abbrechen | 0 h 20 min | | Meilenstein | Zeit | |---|---| @@ -50,7 +52,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 | 1 h 25 min (Wandzeit) | in Arbeit – Abnahme steht aus +| v1.0.0 | 2 h 15 min (Wandzeit) | in Arbeit – Abnahme steht aus --- @@ -185,3 +187,18 @@ - **Neustart erst nach abgeschlossenem Abbruch** – sonst stünden zwei neue Schlüssel gleichzeitig auf den Hosts. - **Bestätigung „Rotation abgebrochen“ bleibt sichtbar** über dem Neustart, statt kommentarlos auf Schritt 1 zu springen (fand der E2E-Test). +## 2026-10-12 · Sitzung 8 · 22:05–22:55 +**Issue:** #035, #036 +**Version:** unveröffentlicht (auf dem Weg zu 1.0.0) + +### Erledigt +- #035 Lokale Benutzerkonten mit Pflicht-TOTP: Einmal-Passwort, eigenes Passwort bei der ersten Anmeldung, Benutzerverwaltung unter Einstellungen, Schalter `SSHKV_LOKALE_KONTEN` +- #036 Rotation des Deployment-Keys vor dem Umstellen abbrechen +- Stand: 911 Unit-/DB-Tests, 47 Integrationstests, 29 E2E-Abläufe grün + +### Entscheidungen +- **TOTP auch für lokale Konten Pflicht; lokale Konten dauerhaft, aber abschaltbar** (Florian). +- **Admins wählen keine Passwörter für andere** – sshkv erzeugt ein Einmal-Passwort, das genau einmal angezeigt wird. +- **`SSHKV_LOKALE_KONTEN` muss in `docker-compose.yml` stehen:** Compose reicht nur ausdrücklich genannte Variablen an den Web-Container weiter – sonst hätte der Schalter im Betrieb nicht gewirkt. +- **Testreste machen Produktlücken sichtbar:** Eine hängengebliebene Rotation auf verwaisten Testhosts zeigte, dass es keinen Weg zurück gab (#036). Die E2E-Tests räumen solche Reste jetzt selbst ab. + diff --git a/docs/issues/035-lokale-konten.md b/docs/issues/035-lokale-konten.md index 8e1a818..154c993 100644 --- a/docs/issues/035-lokale-konten.md +++ b/docs/issues/035-lokale-konten.md @@ -2,7 +2,7 @@ **Status:** erledigt **Meilenstein:** v1.0.0 **Labels:** sicherheit, backend, ui -**Geschätzt:** 2 h **Tatsächlich:** 0 h 55 min +**Geschätzt:** 2 h **Tatsächlich:** 0 h 35 min ## Ziel sshkv ohne authentik in Betrieb nehmen können – mit eigenen Konten je Person statt eines geteilten Notfall-Admins, damit Rollen und Audit-Log stimmen. Später laufen lokale Konten und OIDC nebeneinander, oder die lokalen werden abgeschaltet. diff --git a/docs/issues/036-deploymentkey-abbrechen.md b/docs/issues/036-deploymentkey-abbrechen.md index 9ef39d1..8394a81 100644 --- a/docs/issues/036-deploymentkey-abbrechen.md +++ b/docs/issues/036-deploymentkey-abbrechen.md @@ -2,7 +2,7 @@ **Status:** erledigt **Meilenstein:** v1.0.0 **Labels:** sicherheit, backend -**Geschätzt:** 0,5 h **Tatsächlich:** 0 h 25 min +**Geschätzt:** 0,5 h **Tatsächlich:** 0 h 20 min ## Ziel Eine begonnene Rotation des Deployment-Keys (#031) zurücknehmen können, etwa wenn ein Host den neuen Key dauerhaft nicht annimmt – bisher blieb nur, Hosts beim Umstellen zu übergehen.