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

42 lines
1.9 KiB
Markdown

# 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]