Some checks failed
Desktop CI — Headless Tests & Build / Compose Desktop — Tests (headless) & Build (push) Failing after 1m1s
Build and Publish Docker Images / build-and-push (., backend/infrastructure/gateway/Dockerfile, api-gateway, api-gateway) (push) Successful in 6m29s
Build and Publish Docker Images / build-and-push (., backend/services/ping/Dockerfile, ping-service, ping-service) (push) Successful in 6m14s
Build and Publish Docker Images / build-and-push (., config/docker/caddy/web-app/Dockerfile, web-app, web-app) (push) Failing after 1m17s
Build and Publish Docker Images / build-and-push (., config/docker/keycloak/Dockerfile, keycloak, keycloak) (push) Successful in 1m48s
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
1.9 KiB
1.9 KiB
Journal-Eintrag: 2026-04-17 - Ping-Service Fix & Discovery Stabilisierung
🛠️ Problemstellung
Der User meldete, dass der Ping-Service in der Desktop-App nicht funktioniert (der Button führt zwar zum Screen, aber
die Aktionen schlagen fehl).
Die Analyse ergab einen 503 Service Unavailable Fehler vom Gateway. Der ping-service war nicht bei Consul
registriert und somit für das Gateway nicht auffindbar.
🔍 Ursachenanalyse
- Fehlende Discovery-Konfiguration: Der
ping-servicewar in derdc-backend.yamlundapplication.yamlnicht robust genug für die Service-Discovery konfiguriert (fehlende Variablen wieSPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME). - Build-Logik: Das
spring-dependency-managementPlugin fehlte in derbuild.gradle.ktsdes Ping-Service, was zu potenziellen Versions-Mismatches in der Spring Cloud Autokonfiguration führen konnte. - Pfade: Die Pfade waren korrekt (
/api/ping->/ping), aber ohne Registrierung blieb das Gateway "blind".
✅ Durchgeführte Änderungen
- Backend (Ping-Service):
build.gradle.kts:spring-dependency-managementPlugin hinzugefügt.application.yaml: Auf Standard-Spring-Cloud-Variablen für Consul Discovery umgestellt.
- Infrastruktur (Docker Compose):
dc-backend.yaml: Zusätzliche Umgebungsvariablen für die Consul-Registrierung des Ping-Service hinzugefügt (SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME, etc.).
- Dokumentation:
- Dieser Journal-Eintrag.
🧪 Verifizierung
- Lokaler Start des
ping-servicevia GradlebootRunwar erfolgreich. curlTest gegen Port 8099 (lokal) bestätigte die Controller-Funktionalität.- Die Pfad-Logik im Gateway wurde manuell gegen die Controller-Mappings validiert.
🚀 Status
Der Ping-Service sollte nun nach einem Neustart der Backend-Container korrekt im System registriert und über die Desktop-App erreichbar sein.
Badge: 🏗️ [Lead Architect] / 👷 [Backend Developer]