Files
kiddo/README.md

2.4 KiB

ID: README_000001 | Version: 0.2.1 | Status: Draft By: Codex (GPT-5)

Safe Kiddo Daemon

Kurzbeschreibung

Safe Kiddo Daemon ist ein lokaler Systemdienst, der Benutzerkonten auf Linux-Systemen sperrt/entsperrt, Sitzungen beendet und optional einen Shutdown ausloest. Der Dienst bietet eine REST-API und eine Web-UI fuer die Fernsteuerung. Ein Legacy-CLI-Script (sk.sh) bleibt als Fallback erhalten.

Zielgruppe

  • Einsteiger: moechten den Dienst schnell installieren und erste Aktionen ausfuehren.
  • Admins/Operatoren: konfigurieren Auth, OIDC und Update-Mechanik.
  • Entwickler: verstehen Architektur, Module und Erweiterungspunkte.

Hauptfunktionen

  • Sperren/Entsperren lokaler Nutzerkonten inkl. Session-Management und optionalem Shutdown.
  • Benachrichtigungen und optionaler Sound waehrend Countdown.
  • PAM-Login (immer aktiv) und optionaler OIDC-Login.
  • Systemd-Service mit Installations- und Update-Skripten.
  • Update-Client-Integration (Enrollment, Manifest, Apply, Rollback, Logs).
  • Dry-Run-Modus zum sicheren Testen.

Badges

Derzeit keine offiziellen Badges, da im Repository keine CI, Coverage, Release oder Docker-Pipeline definiert ist.

Quickstart (5 Minuten)

# 1) Repo holen
sudo mkdir -p /opt/sk
sudo git clone ssh://git@git.wlkns.org:2222/stephan/kiddo /opt/sk
# Hinweis: verwende hier die Repo-URL deiner Instanz
cd /opt/sk

# 2) Installieren (legt User, env und Systemd-Unit an)
./scripts/install.sh

# 3) Status pruefen
sudo systemctl status skd.service

# 4) Login testen (PAM)
curl -s -X POST -H "Content-Type: application/json" \
  -d '{"username":"root","password":"example-password"}' \
  http://localhost/login

Danach die Web-UI unter http://localhost/ oeffnen und anmelden.

Dokumentation

  • Einstieg und erster Lauf: docs/GETTING_STARTED.md
  • Nutzung (API, Web-UI, CLI): docs/USAGE.md
  • Konfiguration (ENV-Variablen): docs/CONFIGURATION.md
  • Architektur und Module: docs/ARCHITECTURE.md
  • Entwicklung: docs/DEVELOPMENT.md
  • Deployment & Betrieb: docs/DEPLOYMENT.md
  • FAQ: docs/FAQ.md
  • Troubleshooting: docs/TROUBLESHOOTING.md

Hinweise

  • Abweichung von der Zielstruktur: Die OpenAPI-Spezifikation des Update-Services bleibt unter docs/architecture/openapi.yaml und docs/architecture/openapi/ erhalten.
  • Altdokumente liegen unter docs/_archive/ und sind nicht geloescht.

Legacy Script

Das Script sk.sh bleibt als CLI-Fallback. Details und Beispiele: docs/USAGE.md.