ID: STATUS_000001 | Version: 0.3.4 | Status: Final By: Codex (GPT-5) # Projekt-Status ## Vision Sicheres, remote steuerbares System zum Sperren/Entsperren lokaler Nutzerkonten. ## Aktuelle Phase ✅ Stabilization ## Aktueller Fokus 1. OIDC-Validierung abschliessen (EPIC_000003 / US_000025). 2. Client-Update-Mechanik pflegen (EPIC_000008). 3. Anforderungen bei neuen Features sauber dokumentieren. ## Projekt-Tagebuch (Kurz, optional) | Datum | Typ | Beschreibung | |---|---|---| | 28.12.2025 | 🏗️ Planning | Anforderungen als Epics und Stories dokumentiert. | | 15.01.2026 | 📝 Req | Doku und ENV-Beispiele an Code-Stand angepasst. | | 15.01.2026 | 📝 Req | Doku-Overhaul mit neuer Struktur und Archivierung. | | 15.01.2026 | 📝 Req | Externe Service-Links in der Doku ergaenzt. | | 15.01.2026 | 📝 Req | Makefile als Einstieg in Doku aufgenommen. | | 15.01.2026 | ⚙️ Code | Makefile restart-Target hinzugefuegt. | | 16.01.2026 | ✨ Feat | Login-Zeitfenster (Rules & Scheduler) implementiert (US_000045). | | 16.01.2026 | 🐞 Fix | Update-Prozess entkoppelt (systemd-run), damit er beim Service-Stop weiterlaeuft. | ## Epic-Backlog (Uebersicht) ### EPIC_000001: Legacy CLI Account Control (sk.sh) - [x] US_000001: Nutzerkonto per CLI deaktivieren - [x] TASK_000001: Disable user countdown - [x] US_000002: Nutzerkonto per CLI aktivieren - [x] TASK_000002: Enable user account ### EPIC_000002: Backend API Service - [x] US_000003: Health-Status abfragen - [x] TASK_000003: Health response payload - [x] US_000004: Verfuegbare Nutzer auflisten - [x] TASK_000004: List users status - [x] US_000005: Nutzer per API deaktivieren - [x] TASK_000005: API disable action - [x] US_000006: Nutzer per API aktivieren - [x] TASK_000006: API enable action - [x] US_000021: Konfiguration per ENV steuern - [x] TASK_000021: ENV settings defaults ### EPIC_000003: Authentication & Sessions - [x] US_000007: PAM-Login mit Token - [x] TASK_000007: PAM login token - [x] US_000008: OIDC-Login Flow - [x] TASK_000008: OIDC auth callback - [x] US_000009: Autorisierung und /me-Identitaet - [x] TASK_000009: Authorization /me gate - [ ] US_000025: OIDC End-to-End Validierung und Runbook - [ ] TASK_000025: OIDC E2E validation - [ ] TASK_000026: OIDC runbook update ### EPIC_000004: Web UI - [x] US_000010: Index-Seite ausliefern - [x] TASK_000010: Serve UI template - [x] US_000022: Web-UI Aktionen ausfuehren - [x] TASK_000022: UI login and actions - [x] US_000024: Watchtower Theme fuer Web-UI - [x] TASK_000024: Apply Watchtower theme ### EPIC_000005: Automation Scripts - [x] US_000011: Virtualenv und Abhaengigkeiten erstellen - [x] TASK_000011: Provision venv deps - [x] US_000012: Service lokal starten - [x] TASK_000012: Run uvicorn service - [x] US_000013: Service installieren - [x] TASK_000013: Install service setup - [x] US_000014: Service aktualisieren - [x] TASK_000014: Update service refresh - [x] US_000015: Remote-Deployment durchfuehren - [x] TASK_000015: Remote deploy package - [x] US_000016: OIDC-Client registrieren - [x] TASK_000016: OIDC client register - [x] US_000020: Makefile-Automation bereitstellen - [x] TASK_000020: Makefile ops targets ### EPIC_000006: Systemd & Deployment Artifacts - [x] US_000017: Systemd-Unit im Repo - [x] TASK_000017: Systemd unit template - [x] US_000018: Konfigurations-Templates verfuegbar - [x] TASK_000018: Config templates ready - [x] US_000019: Deployment-Archiv vorhanden - [x] TASK_000019: Deployment zip artifact ### EPIC_000007: Documentation & Runbook - [x] US_000023: Runbook und Security-Hinweise dokumentieren - [x] TASK_000023: README runbook notes ### EPIC_000008: Client-Side Update Mechanism - [x] US_000026: Client bezieht Updates (Pull) - [x] TASK_000027: Update endpoint config - [x] US_000027: Client verifiziert und wendet Updates an - [x] TASK_000028: Verify and apply update - [x] US_000028: Client meldet Update-Status - [x] TASK_000029: Report update status - [x] US_000029: Update-Status im Web-UI anzeigen - [x] TASK_000030: UI update status view - [x] US_000030: Update-Check im Web-UI ausloesen - [x] TASK_000031: UI update check trigger - [x] US_000031: Update im Web-UI anstossen - [x] TASK_000032: UI update apply action - [x] US_000032: Update-Logs im Web-UI anzeigen - [x] TASK_000033: UI update logs view - [x] US_000033: Rollback im Web-UI anstossen - [x] TASK_000034: UI rollback action - [x] US_000043: Enrollment-Token per Script abrufen - [x] TASK_000049: Script fuer Enrollment-Flow erstellen - [x] US_000046: Update-Service Erreichbarkeit anzeigen - [x] TASK_000055: Endpoint und UI fuer Update-Service Status - [x] US_000047: Update-Config auslagern - [x] TASK_000056: Update-ENV separieren - [x] US_000048: Release-Upload automatisieren - [x] TASK_000057: Script fuer Release-Upload erstellen - [x] US_000049: Lokale deployment.env fuer Update-Uploads - [x] TASK_000058: deployment.env Beispiel und Script-Anpassungen ### EPIC_000009: Update Webservice (External Team) - [x] US_000026: Client bezieht Updates (Pull) - [x] US_000027: Client verifiziert und wendet Updates an - [x] US_000028: Client meldet Update-Status ### EPIC_000010: Update-Service v1 Migration (Major Release) - [x] US_000034: Enrollment fuer Langzeit-Token - [x] TASK_000040: Enrollment-Flow implementieren - [x] US_000035: v1 Update-Endpoints und Status-Schema - [x] TASK_000041: v1 Endpunkte im Update-Client umstellen ### EPIC_000011: Documentation and Configuration Alignment - [x] US_000036: Doku-Versionen auf VERSION synchronisieren - [x] US_000037: Update-API-Doku mit /update/enroll abgleichen - [x] US_000038: ENV-Beispiele und Healthcheck-Auth angleichen - [x] US_000039: Doku-Audit fuer verbleibende Abweichungen - [x] TASK_000042: Doku-Audit verbleibender Dateien ### EPIC_000012: Dokumentations-Overhaul - [x] US_000040: Doku-Struktur und Inhalte erstellen - [x] TASK_000043: Neue Doku-Dateien erstellen und verlinken - [x] TASK_000044: Altdoku archivieren - [x] US_000041: Einbindung externer Services dokumentieren - [x] TASK_000045: Einbindung externer Services dokumentieren - [x] US_000042: Consumer-Perspektive und Audience-Split ergaenzen - [x] TASK_000046: Consumer-Doku erstellen (FOR_USERS.md) - [x] TASK_000047: README und Audience-Split anpassen - [x] TASK_000048: External Dependencies und Audience-Ergaenzungen ### EPIC_000013: System Telemetry im Dashboard - [x] US_000044: Systemmetriken im Dashboard anzeigen - [x] TASK_000050: Backend-Endpoint fuer Systemmetriken - [x] TASK_000051: UI-Kacheln im Dashboard (System Information) ### EPIC_000014: Login-Zeitfenster und Parent-Control Regeln - [x] US_000045: Regeln fuer Login-Zeitfenster definieren und durchsetzen - [x] TASK_000052: Regelmodell und Speicherung definieren - [x] TASK_000053: Login-Pruefung und Enforcement - [x] TASK_000054: Admin-UI fuer Regeln und Scheduler ## Fehler / Bugs (History) - [x] BUG_000001: Update-Apply scheitert an WorkingDirectory - [x] BUG_000002: Update-Prozess wird beim Service-Stop gekillt - [x] BUG_000003: Veralteter Update-Token durch Caching ## Offene Risiken / Abhaengigkeiten - Betrieb erfordert Root/sudo und lokale System-Tools (notify-send, sound player, uvicorn). - OIDC-Validierung blockiert bis IdP bereit und Service laeuft. - Update-Service (update.wlkns.org) liegt ausserhalb des Kiddo-Scopes. ## Naechste Schritte - Anforderungen beim naechsten Feature-Start erweitern. - OIDC-Validierung abschliessen und US_000025 auf Done setzen. - Doku-Audit fuer weitere Abweichungen priorisieren (wenn Zeitfenster frei).