Files
kiddo/project-management/PROJECT_STATUS.md
stephan 806d768bbc fix: pass env vars to systemd-run via --setenv (v0.3.5)
- Previous fix failed because systemd-run does not inherit env vars by default
- Added explicit --setenv flags for SKD_UPDATE_* variables
- Bumped version to 0.3.5
2026-01-16 12:14:48 +01:00

7.4 KiB

ID: STATUS_000001 | Version: 0.3.5 | 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)

  • 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

Fehler / Bugs (History)

  • BUG_000001: Update-Apply scheitert an WorkingDirectory
  • BUG_000002: Update-Prozess wird beim Service-Stop gekillt
  • 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).