Anmeldung, Einrichtung des zweiten Faktors fuer den Notfall-Admin, erneute Bestaetigung vor kritischen Aktionen und die Seite fuer fehlende Rechte. Die Huelle zeigt jetzt den echten Benutzer, und jede Seite prueft die Sitzung selbst; ein struktureller Test haelt das fest. Die Ablaeufe sind im gebauten Stand gegen den Mock-OIDC geprueft (pnpm test:e2e): Admin, Konto ohne Gruppe, Notfall-Admin mit TOTP. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
71 lines
3.3 KiB
Bash
71 lines
3.3 KiB
Bash
# SSHKeyVault – Konfiguration. Kopieren nach .env und Werte eintragen.
|
||
# Alle eigenen Variablen tragen das Praefix SSHKV_ (Ausnahme: DATABASE_URL fuer Prisma).
|
||
|
||
# --- Datenbank -----------------------------------------------------------------
|
||
# Betrieb (docker-compose.yml): Passwort der Datenbank; DATABASE_URL setzt Compose selbst.
|
||
POSTGRES_PASSWORD=
|
||
# Entwicklung:
|
||
DATABASE_URL=postgresql://sshkv:sshkv@localhost:5436/sshkv?schema=public
|
||
# Nur fuer Tests (wird von Vitest geleert!)
|
||
TEST_DATABASE_URL=postgresql://sshkv:sshkv@localhost:5436/sshkv_test?schema=public
|
||
|
||
# --- Web -----------------------------------------------------------------------
|
||
# Oeffentliche Adresse (hinter dem Reverse Proxy). Bestimmt Secure-Cookie und OIDC-Rueckruf.
|
||
SSHKV_APP_URL=http://localhost:3400
|
||
# Signiert Sitzungen. Erzeugen mit: openssl rand -base64 48
|
||
SSHKV_APP_SECRET=
|
||
|
||
# --- Betrieb -------------------------------------------------------------------
|
||
# Adresse/Port, an die die Weboberflaeche gebunden wird (Reverse Proxy davor).
|
||
SSHKV_BIND=127.0.0.1
|
||
SSHKV_PORT=3400
|
||
|
||
# --- Master-Key (nur Worker!) --------------------------------------------------
|
||
# Datei mit 32 zufaelligen Bytes. Erzeugen mit: head -c 32 /dev/urandom > master.key
|
||
# Ohne diese Datei ist jedes Datenbank-Backup wertlos – getrennt sichern!
|
||
SSHKV_MASTER_KEY_FILE=./geheim/master.key
|
||
# Betrieb: Datei auf dem Docker-Host, die als Secret nur in den Worker kommt.
|
||
# Rechte: chown 1001:1001, chmod 400 (der Worker verweigert lesbare Schluessel).
|
||
SSHKV_MASTER_KEY_HOST_FILE=./geheim/master.key
|
||
|
||
# --- OIDC (authentik) ----------------------------------------------------------
|
||
SSHKV_OIDC_ISSUER=
|
||
SSHKV_OIDC_CLIENT_ID=
|
||
SSHKV_OIDC_CLIENT_SECRET=
|
||
SSHKV_OIDC_NAME=authentik
|
||
# Gruppen im Anbieter, die auf Rollen abgebildet werden
|
||
SSHKV_OIDC_GROUP_ADMIN=sshkv-admins
|
||
SSHKV_OIDC_GROUP_OPERATOR=sshkv-operators
|
||
SSHKV_OIDC_GROUP_READER=sshkv-readers
|
||
|
||
# Entwicklung ohne authentik: Mock-OIDC aus docker-compose.test.yml (pnpm test:ziele:up).
|
||
# Der Issuer haengt am Host-Header – genau 127.0.0.1 verwenden, nicht localhost.
|
||
# Client-ID und -Secret prueft der Mock nicht; beliebige Werte funktionieren.
|
||
# Im Login-Formular sind Claims (email, name, groups …) vorbelegt und frei aenderbar.
|
||
# SSHKV_OIDC_ISSUER=http://127.0.0.1:8090/sshkv
|
||
# SSHKV_OIDC_CLIENT_ID=sshkv-dev
|
||
# SSHKV_OIDC_CLIENT_SECRET=sshkv-dev-geheim
|
||
# SSHKV_OIDC_NAME=Mock-OIDC
|
||
# Nur Entwicklung: OIDC ueber http erlauben (Mock-Anbieter). Im Betrieb nie setzen.
|
||
# SSHKV_OIDC_HTTP_ERLAUBT=1
|
||
|
||
# --- Notfall-Admin -------------------------------------------------------------
|
||
# Wird beim ersten Seed angelegt. TOTP wird bei der ersten Anmeldung eingerichtet.
|
||
SSHKV_BREAKGLASS_USER=notfall
|
||
SSHKV_BREAKGLASS_PASSWORD=
|
||
|
||
# --- Worker --------------------------------------------------------------------
|
||
# Zeitplan fuer den Abgleich aller Hosts (cron)
|
||
SSHKV_SYNC_CRON=30 2 * * *
|
||
|
||
# --- Integrationstests (#011) ---------------------------------------------------
|
||
# SSH-Testziele aus docker-compose.test.yml. Die Compose-Datei liest dieselben Variablen
|
||
# fuer die Port-Bindung (host:port, nur 127.0.0.1).
|
||
SSHKV_TEST_ZIEL_A=127.0.0.1:2221
|
||
SSHKV_TEST_ZIEL_B=127.0.0.1:2222
|
||
# Passwoerter der Testziele fuer root und den Benutzer "test"
|
||
SSHKV_TEST_ROOT_PASSWORT=sshkv-test
|
||
SSHKV_TEST_TEST_PASSWORT=sshkv-test
|
||
# Mock-OIDC (Port-Bindung)
|
||
SSHKV_TEST_OIDC=127.0.0.1:8090
|