- Implemented _get_fresh_token in backend/update.py - Ensures scripts receive the current token even if settings are cached - Bumped version to 0.3.3
7.2 KiB
7.2 KiB
ID: STATUS_000001 | Version: 0.3.3 | Status: Final By: Codex (GPT-5)
Projekt-Status
Vision
Sicheres, remote steuerbares System zum Sperren/Entsperren lokaler Nutzerkonten.
Aktuelle Phase
✅ Stabilization
Aktueller Fokus
- OIDC-Validierung abschliessen (EPIC_000003 / US_000025).
- Client-Update-Mechanik pflegen (EPIC_000008).
- 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)
- US_000001: Nutzerkonto per CLI deaktivieren
- TASK_000001: Disable user countdown
- US_000002: Nutzerkonto per CLI aktivieren
- TASK_000002: Enable user account
EPIC_000002: Backend API Service
- US_000003: Health-Status abfragen
- TASK_000003: Health response payload
- US_000004: Verfuegbare Nutzer auflisten
- TASK_000004: List users status
- US_000005: Nutzer per API deaktivieren
- TASK_000005: API disable action
- US_000006: Nutzer per API aktivieren
- TASK_000006: API enable action
- US_000021: Konfiguration per ENV steuern
- TASK_000021: ENV settings defaults
EPIC_000003: Authentication & Sessions
- US_000007: PAM-Login mit Token
- TASK_000007: PAM login token
- US_000008: OIDC-Login Flow
- TASK_000008: OIDC auth callback
- US_000009: Autorisierung und /me-Identitaet
- 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
- US_000010: Index-Seite ausliefern
- TASK_000010: Serve UI template
- US_000022: Web-UI Aktionen ausfuehren
- TASK_000022: UI login and actions
- US_000024: Watchtower Theme fuer Web-UI
- TASK_000024: Apply Watchtower theme
EPIC_000005: Automation Scripts
- US_000011: Virtualenv und Abhaengigkeiten erstellen
- TASK_000011: Provision venv deps
- US_000012: Service lokal starten
- TASK_000012: Run uvicorn service
- US_000013: Service installieren
- TASK_000013: Install service setup
- US_000014: Service aktualisieren
- TASK_000014: Update service refresh
- US_000015: Remote-Deployment durchfuehren
- TASK_000015: Remote deploy package
- US_000016: OIDC-Client registrieren
- TASK_000016: OIDC client register
- US_000020: Makefile-Automation bereitstellen
- TASK_000020: Makefile ops targets
EPIC_000006: Systemd & Deployment Artifacts
- US_000017: Systemd-Unit im Repo
- TASK_000017: Systemd unit template
- US_000018: Konfigurations-Templates verfuegbar
- TASK_000018: Config templates ready
- US_000019: Deployment-Archiv vorhanden
- TASK_000019: Deployment zip artifact
EPIC_000007: Documentation & Runbook
- US_000023: Runbook und Security-Hinweise dokumentieren
- TASK_000023: README runbook notes
EPIC_000008: Client-Side Update Mechanism
- US_000026: Client bezieht Updates (Pull)
- TASK_000027: Update endpoint config
- US_000027: Client verifiziert und wendet Updates an
- TASK_000028: Verify and apply update
- US_000028: Client meldet Update-Status
- TASK_000029: Report update status
- US_000029: Update-Status im Web-UI anzeigen
- TASK_000030: UI update status view
- US_000030: Update-Check im Web-UI ausloesen
- TASK_000031: UI update check trigger
- US_000031: Update im Web-UI anstossen
- TASK_000032: UI update apply action
- US_000032: Update-Logs im Web-UI anzeigen
- TASK_000033: UI update logs view
- US_000033: Rollback im Web-UI anstossen
- TASK_000034: UI rollback action
- US_000043: Enrollment-Token per Script abrufen
- TASK_000049: Script fuer Enrollment-Flow erstellen
- US_000046: Update-Service Erreichbarkeit anzeigen
- TASK_000055: Endpoint und UI fuer Update-Service Status
- US_000047: Update-Config auslagern
- TASK_000056: Update-ENV separieren
- US_000048: Release-Upload automatisieren
- TASK_000057: Script fuer Release-Upload erstellen
- US_000049: Lokale deployment.env fuer Update-Uploads
- TASK_000058: deployment.env Beispiel und Script-Anpassungen
EPIC_000009: Update Webservice (External Team)
- US_000026: Client bezieht Updates (Pull)
- US_000027: Client verifiziert und wendet Updates an
- US_000028: Client meldet Update-Status
EPIC_000010: Update-Service v1 Migration (Major Release)
- US_000034: Enrollment fuer Langzeit-Token
- TASK_000040: Enrollment-Flow implementieren
- US_000035: v1 Update-Endpoints und Status-Schema
- TASK_000041: v1 Endpunkte im Update-Client umstellen
EPIC_000011: Documentation and Configuration Alignment
- US_000036: Doku-Versionen auf VERSION synchronisieren
- US_000037: Update-API-Doku mit /update/enroll abgleichen
- US_000038: ENV-Beispiele und Healthcheck-Auth angleichen
- US_000039: Doku-Audit fuer verbleibende Abweichungen
- TASK_000042: Doku-Audit verbleibender Dateien
EPIC_000012: Dokumentations-Overhaul
- US_000040: Doku-Struktur und Inhalte erstellen
- TASK_000043: Neue Doku-Dateien erstellen und verlinken
- TASK_000044: Altdoku archivieren
- US_000041: Einbindung externer Services dokumentieren
- TASK_000045: Einbindung externer Services dokumentieren
- US_000042: Consumer-Perspektive und Audience-Split ergaenzen
- TASK_000046: Consumer-Doku erstellen (FOR_USERS.md)
- TASK_000047: README und Audience-Split anpassen
- TASK_000048: External Dependencies und Audience-Ergaenzungen
EPIC_000013: System Telemetry im Dashboard
- US_000044: Systemmetriken im Dashboard anzeigen
- TASK_000050: Backend-Endpoint fuer Systemmetriken
- TASK_000051: UI-Kacheln im Dashboard (System Information)
EPIC_000014: Login-Zeitfenster und Parent-Control Regeln
- US_000045: Regeln fuer Login-Zeitfenster definieren und durchsetzen
- TASK_000052: Regelmodell und Speicherung definieren
- TASK_000053: Login-Pruefung und Enforcement
- TASK_000054: Admin-UI fuer Regeln und Scheduler
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).