Files
kiddo/docs/CONFIGURATION.md

2.6 KiB

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

Konfiguration

Speicherort

Die Konfiguration erfolgt per ENV-Datei, standardmaessig /etc/skd/env. Vorlage: env.example.

Authentifizierung

  • SKD_AUTH_MODE (default pam): pam oder oidc. Ungueltige Werte fallen auf pam zurueck. Hinweis: Der Wert wird aktuell nicht zur Erzwingung genutzt; OIDC ist aktiv, sobald die OIDC-Variablen gesetzt sind.
  • SKD_AUTH_SECRET (default change-me-secret): HMAC-Secret fuer JWTs.
  • SKD_TOKEN_TTL_SECONDS (default 900): Token-Laufzeit in Sekunden.
  • SKD_AUTH_ALLOWED_USERS (default leer): Kommagetrennte Liste erlaubter Admin-User (gilt fuer PAM und OIDC).
  • SKD_AUTH_ALLOWED_GROUPS (default sudo): Erlaubte Gruppen fuer PAM-Login.
  • SKD_AUTH_PAM_SERVICE (default login, auf Debian/Ubuntu via install.sh auf skd gesetzt).

OIDC

OIDC ist optional und zusaetzlich zu PAM.

  • SKD_OIDC_ISSUER
  • SKD_OIDC_CLIENT_ID
  • SKD_OIDC_CLIENT_SECRET
  • SKD_OIDC_REDIRECT_URI (default http://localhost:8000/login/oidc/callback)
  • SKD_OIDC_SCOPES (default openid profile email)
  • SKD_SESSION_COOKIE_SECURE (default false): Setze true fuer HTTPS.
  • SKD_OIDC_STATE_COOKIE_NAME (default skd_oidc_state)

Session/Benutzerverwaltung

  • SKD_SESSION_COOKIE_NAME (default skd_session)
  • SKD_ALLOWED_USERS (default leer): Optionales Allowlist fuer verwaltbare System-User.

Aktionen (Countdown/Notify/Sound)

  • SKD_DEFAULT_COUNTDOWN (default 60 Sekunden)
  • SKD_DEFAULT_SOUND (default false)
  • SKD_NOTIFY_TIMEOUT (default 5 Sekunden)
  • SKD_NOTIFY_SEND_PATH (default notify-send)
  • SKD_SOUND_PLAYER (default paplay)
  • SKD_SOUND_FILE (default /usr/share/sounds/freedesktop/stereo/dialog-warning.oga)

Update-Client

  • SKD_UPDATE_SERVICE_URL (default https://update.wlkns.org)
  • SKD_UPDATE_PROJECT_ID (default safe-kiddo-control)
  • SKD_UPDATE_ENROLL_TOKEN (optional; fuer /update/enroll)
  • SKD_UPDATE_TOKEN (optional; alternativ per Datei)
  • SKD_UPDATE_TOKEN_FILE (default /var/lib/skd/update_token)
  • SKD_UPDATE_STATUS_FILE (default /var/lib/skd/update_status.json)
  • SKD_UPDATE_LOG_FILE (default /var/lib/skd/update_logs.jsonl)
  • SKD_UPDATE_INTERVAL (default 3600): Hinweis: wird aktuell nur eingelesen, aber nicht automatisch genutzt.

Dry-Run

  • SKD_DRY_RUN (default false): Keine echten System-Aktionen, nur Logging.

Hinweise

  • scripts/install.sh erstellt /etc/skd/env und setzt Default-Werte fuer PAM/Allowed-User.
  • Aenderungen in /etc/skd/env erfordern einen Service-Restart (sudo systemctl restart skd.service).