--- type: Journal status: ACTIVE owner: Curator last_update: 2026-02-13 --- # Journal - 2026-02-13 ## 📝 Zusammenfassung Heute wurden Inkonsistenzen in der Konfiguration der Backend-Services behoben, die zu Verbindungsproblemen führten. Zudem wurde der Build-Prozess für das Frontend optimiert. ## 🛠️ Änderungen ### 1. Backend Konfiguration (Fix 503 Service Unavailable) * **Problem:** Der `ping-service` war über das Gateway nicht erreichbar (503), da die Route im Gateway hart auf `http://ping-service:8082` kodiert war. Dies funktionierte im Docker-Netzwerk, aber nicht beim lokalen Start (Localhost). * **Lösung:** * `GatewayConfig.kt`: Die URI für den Ping-Service wurde dynamisch gemacht (`${ping.service.url}`). * `application.yaml` (Gateway): Default-Wert für `ping.service.url` auf `http://localhost:8082` gesetzt (für lokale Entwicklung). * `dc-backend.yaml`: Environment-Variable `PING_SERVICE_URL` auf `http://ping-service:8082` gesetzt (für Docker). * Zusätzlich wurden Inkonsistenzen bei Port-Variablennamen (`PING_SERVER_PORT` vs `PING_SERVICE_PORT`) zwischen `.env` und `application.yaml` bereinigt. ### 2. Frontend Build Optimierung * **Problem:** Der Build `jsBrowserDistribution -Pproduction=true` dauerte extrem lange (>15 min) und hing. * **Ursache:** Generierung von Source Maps im Production-Mode bei großen Kotlin/JS Projekten. * **Lösung:** * `build.gradle.kts` (meldestelle-portal): Logik angepasst, sodass Source Maps im Production-Mode standardmäßig deaktiviert sind (`sourceMaps = false`), es sei denn, sie werden explizit angefordert. * Ergebnis: Build-Zeit auf ~9 Sekunden reduziert. ## 📚 Gelerntes * **Source Maps:** Sind essenziell für Debugging, aber extrem teuer im Build. Für Production-Builds (Docker Images) sollten sie deaktiviert werden, um Build-Zeiten und Image-Größe zu optimieren. * **Hybrid-Betrieb:** Services sollten so konfiguriert sein, dass sie sowohl "fully dockerized" als auch "lokal + Docker-Infra" laufen können, ohne Code-Änderungen (Nutzung von Properties/Env-Vars für Hostnames). ## 🔜 Nächste Schritte * Lokalen Test des gesamten Stacks (Frontend im Docker Container + Backend lokal/Docker) abschließen. * Verifizierung der Keycloak-Integration im Frontend.