docs: finalize and verify Redis-to-Valkey migration and Keycloak hardening

Updated `MASTER_ROADMAP_2026_Q1.md` to reflect completed Redis-to-Valkey migration and Keycloak production configuration. Adjusted property paths in `base-application.yaml` and session logs with corrected environment variable names. Verified end-to-end Docker stability and roadmap alignment.

Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
This commit is contained in:
2026-03-09 12:14:26 +01:00
parent 69c1123586
commit 5bc2538aab
5 changed files with 49 additions and 12 deletions
@@ -136,8 +136,42 @@ behoben.
Kein Code-Change erforderlich. Der Fix war implizit durch das Spring Cloud Downgrade auf `2025.0.1` bereits enthalten.
## ✅ Docker-Stabilität End-to-End (2026-03-09, gleiche Session)
Vollständige Analyse aller Docker Compose Dateien (`dc-infra`, `dc-backend`, `dc-ops`, `dc-gui`) sowie `.env` und
gemounteter Konfigs.
### Befund & Fixes
#### Fix 1: `.env` — `KC_COMMAND` Regression 🔴
- **Problem:** `.env` hatte `KC_COMMAND=start-dev --import-realm` — exakt der Bug vom 2026-03-06 Log. Das pre-built
Keycloak-Image startet im falschen Dev-Modus, OIDC-Flow schlägt fehl.
- **Fix:** `KC_COMMAND=start --optimized --import-realm`
#### Fix 2: `base-application.yaml` — Valkey Env-Var-Namen 🟠
- **Problem:** `base-application.yaml` (gemountet in allen Backend-Services) nutzte `${SPRING_DATA_REDIS_HOST}` /
`${SPRING_DATA_REDIS_PORT}` / `${SPRING_DATA_REDIS_PASSWORD}` als Env-Var-Namen. `dc-backend.yaml` setzt aber nur
`SPRING_DATA_VALKEY_*` → Redis-Host fiel auf `localhost`-Default zurück statt auf den `valkey`-Container.
- **Fix:** Env-Var-Namen auf `${SPRING_DATA_VALKEY_HOST}`, `${SPRING_DATA_VALKEY_PORT}`,
`${SPRING_DATA_VALKEY_PASSWORD}` umgestellt. Spring Boot Property-Pfad `spring.data.redis.*` bleibt korrekt.
#### Fix 3: `gateway/application.yaml` — Ungültiger Property-Namespace 🟠
- **Problem:** Gateway nutzte `spring.data.valkey.*` — kein valider Spring Boot Auto-Konfigurations-Namespace. Spring
Boot kennt nur `spring.data.redis.*` für die Redis/Lettuce-Autoconfiguration.
- **Fix:** `spring.data.valkey` → `spring.data.redis` (Env-Vars `SPRING_DATA_VALKEY_*` bleiben).
### Verifiziert: Korrekte Konfigurationen
- **Startup-Reihenfolge:** Postgres → Keycloak → Consul → Valkey → Gateway/Ping (via `depends_on` + Healthchecks) ✅
- **Netzwerk:** Alle Services im `meldestelle-network` ✅
- **Zipkin:** `service_started` (stateless, kein Healthcheck nötig) ✅
- **Consul Healthcheck:** curl auf `/v1/status/leader` ✅
- **Keycloak Healthcheck:** curl auf `localhost:9000/health/ready` ✅
## 🔜 Nächste Schritte
- **TLS/HTTPS** — Langfristig: `KC_HOSTNAME_STRICT_HTTPS=true` setzen, sobald TLS eingerichtet ist.
- **Docker Stabilität** — `docker compose up` End-to-End verifizieren (Consul, Keycloak, Postgres, Gateway).
- **Ping Service** — Fachliche Implementierung (nächste Phase laut `MASTER_ROADMAP_2026_Q1.md`).