Files
sshkeyvault/.env.example
T
florian.wildeandClaude Opus 5.5 e89112a761 test: SSH-Testziele und Mock-OIDC fuer Integrationstests (#011)
Bootstrap, Host-Key-Pruefung und spaeteres Ausrollen brauchen echte
sshd-Gegenstellen. Zwei Debian-13-Container (ziel-a, ziel-b) in einem
gemeinsamen Netz bilden frische Hosts vor dem Bootstrap nach: root- und
Passwort-Login sind absichtlich offen, Host-Keys entstehen erst beim
Start, und `hostkeys-tauschen` erlaubt den Test "geaenderter Host-Key
wird abgelehnt" ohne Neuerstellen des Containers.

Die Testhilfen lesen dieselben Adress-Variablen wie die Compose-Datei
und lassen Tests mit Hinweis auf den Startbefehl fehlschlagen, statt
sie still zu ueberspringen - ein uebersprungener Integrationstest sieht
sonst wie ein bestandener aus.

Der Mock-OIDC-Anbieter ersetzt authentik in der Entwicklung (PLAN.md,
Entscheidung 7). Bei interaktivem Login uebernimmt er nur Claims aus dem
Formular, daher belegt eine eigene Login-Seite email, name und groups
vor und laesst die Gruppen frei waehlen.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 09:13:56 +02:00

58 lines
2.7 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 -----------------------------------------------------------------
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=
# --- 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
# --- 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
# --- 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