docs: overhaul repository documentation
This commit is contained in:
54
docs/CONFIGURATION.md
Normal file
54
docs/CONFIGURATION.md
Normal file
@ -0,0 +1,54 @@
|
||||
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`).
|
||||
Reference in New Issue
Block a user