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>
This commit is contained in:
2026-10-12 09:13:56 +02:00
co-authored by Claude Opus 5.5
parent 224386106b
commit e89112a761
11 changed files with 614 additions and 6 deletions
+14
View File
@@ -0,0 +1,14 @@
#!/bin/sh
# Einstieg des SSH-Testziels (#011).
set -eu
echo "root:${SSHKV_ROOT_PASSWORT}" | chpasswd
echo "test:${SSHKV_TEST_PASSWORT}" | chpasswd
# Host-Keys erst hier erzeugen: Jeder neu erstellte Container bekommt eigene Keys,
# so wie ein frisch installierter Host. ssh-keygen -A legt nur fehlende Keys an,
# ein blosser Neustart desselben Containers behaelt sie also.
ssh-keygen -A
# Vordergrund (-D) als PID 1, Log nach stderr (-e) – landet in `docker compose logs`.
exec /usr/sbin/sshd -D -e