meldestelle/docs/99_Journal/2026-04-17_Ping-Service-Discovery-Fix.md
StefanMoCoAt 88983f2b4e
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
feat: verbessere Onboarding-Workflow, verbessere mDNS-Discovery & ZNS-Import
Signed-off-by: StefanMoCoAt <stefan.mo.co@gmail.com>
2026-04-17 22:52:37 +02:00

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

  1. Fehlende Discovery-Konfiguration: Der ping-service war in der dc-backend.yaml und application.yaml nicht robust genug für die Service-Discovery konfiguriert (fehlende Variablen wie SPRING_CLOUD_CONSUL_DISCOVERY_HOSTNAME).
  2. Build-Logik: Das spring-dependency-management Plugin fehlte in der build.gradle.kts des Ping-Service, was zu potenziellen Versions-Mismatches in der Spring Cloud Autokonfiguration führen konnte.
  3. 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-management Plugin 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-service via Gradle bootRun war erfolgreich.
  • curl Test 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]