diff --git a/CHANGELOG.md b/CHANGELOG.md index 5657566..a77b008 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,9 @@ By: Codex (GPT-5) | 28.12.2025 | 🏗️ Planning | ID: PAM immer aktiv; OIDC optional mit deaktivierter UI-Option dokumentiert. By: Codex (GPT-5) | | 28.12.2025 | ⚙️ Code | ID: Installer setzt PAM-Defaults in /etc/skd/env. By: Codex (GPT-5) | | 28.12.2025 | ⚙️ Code | ID: Root-Service auf Port 80, Account-Status und Self-Disable-Schutz. By: Codex (GPT-5) | +| 28.12.2025 | 🏗️ Planning | ID: EPIC_000008 und US_000026-US_000028 fuer Client-Updates dokumentiert. By: Codex (GPT-5) | +| 28.12.2025 | 🏗️ Planning | ID: Update-Format festgelegt (JSON + tar.gz). By: Codex (GPT-5) | +| 28.12.2025 | 🏗️ Planning | ID: Update-Service URL auf update.wlkns.org festgelegt. By: Codex (GPT-5) | --- ## Legende diff --git a/project-management/requirements/epics/EPIC_000008.md b/project-management/requirements/epics/EPIC_000008.md new file mode 100644 index 0000000..39aeb13 --- /dev/null +++ b/project-management/requirements/epics/EPIC_000008.md @@ -0,0 +1,41 @@ +ID: EPIC_000008 | Version: 0.1.0 | Status: Draft +By: Codex (GPT-5) + +# EPIC_000008: Client-Side Update Mechanism + +## Beschreibung +Der Kiddo-Client kann Updates aus einer zentralen Quelle beziehen, verifizieren und anwenden. + +## Ziel / Business Value +Schnelle, sichere Aktualisierung ohne SSH-Zugriff auf Zielgeraete. + +## Mission Statement +Ermoegliche einen robusten Client-Update-Flow mit Verifikation und Rollback. + +## Business Value & Metriken +- Reduzierter manueller Update-Aufwand. +- Erfolgsmetrik: Update kann automatisiert und nachvollziehbar erfolgen. + +## In-Scope +- Client zieht Update-Artefakte (Pull-Modell). +- Verifikation (Checksum/Signatur). +- Atomare Anwendung und Rollback bei Fehlern. +- Statusreporting vom Client. + +## Out-of-Scope +- Aufbau/Betrieb des zentralen Update-Webservice. +- Release-Publishing/CI/CD und Artefakt-Hosting. +- Service-Monitoring und Verfuegbarkeit des Update-Backends. + +## High-Level Akzeptanzkriterien +- Client kann Updates erkennen, verifizieren und anwenden. +- Fehler fuehren zu Rollback und klarer Statusmeldung. + +## Technische Constraints & Risiken +- Abhaengigkeit von Update-Backend und Netzverfuegbarkeit. +- Update-Service wird unter `update.wlkns.org` erwartet. + +## Zugeordnete User Stories +- US_000026: Client bezieht Updates (Pull) +- US_000027: Client verifiziert und wendet Updates an +- US_000028: Client meldet Update-Status diff --git a/project-management/requirements/stories/US_000026.md b/project-management/requirements/stories/US_000026.md new file mode 100644 index 0000000..4472a65 --- /dev/null +++ b/project-management/requirements/stories/US_000026.md @@ -0,0 +1,18 @@ +ID: US_000026 | Version: 0.1.0 | Status: Draft +By: Codex (GPT-5) + +# US_000026: Client bezieht Updates (Pull) + +Status: Draft + +Als Betreiber moechte ich, dass der Client Updates per Pull von einem Update-Service bezieht, damit Deployments ohne SSH moeglich sind. + +## Akzeptanzkriterien +- Given eine konfigurierte Update-URL (`https://update.wlkns.org`) und Auth-Credentials +- When der Client nach Updates fragt +- Then erhaelt er ein JSON-Manifest mit Version, Artefakt-URL und Checksumme +- And das Artefakt ist ein `tar.gz` +- And die Update-Quelle ist austauschbar per Konfiguration + +## Task-Platzhalter +- TASK_000027: Update endpoint config (Details bei Story-Start)