Files
sshkeyvault/.env.example
T
florian.wildeandClaude Opus 5.5 d1ba822a4a feat(auth): Anmeldeseiten, TOTP-Einrichtung und Bestaetigung (#004)
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>
2026-10-12 09:28:51 +02:00

71 lines
3.3 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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