Updated `MASTER_ROADMAP_2026_Q1.md` and session logs to reflect completion of the Ping Service tracer bullet. Verified the end-to-end stack, including frontend, backend, and Gateway integration. Fixed query parameter mismatch in `PingApiKoinClient.syncPings()` (`lastSyncTimestamp` → `since`) for proper Delta-Sync functionality. Marked related roadmap tasks as completed. Signed-off-by: Stefan Mogeritsch <stefan.mo.co@gmail.com>
4.5 KiB
4.5 KiB
| type | status | owner | last_update |
|---|---|---|---|
| Roadmap | ACTIVE | Lead Architect | 2026-03-09 (Ping Service Tracer Bullet abgeschlossen) |
MASTER ROADMAP Q1 2026: "Operation Tracer Bullet"
Strategisches Ziel: Wir validieren die gesamte Architektur-Kette (Frontend -> Gateway -> Service -> DB) anhand des Ping-Service. Dieser Service dient als technischer Blueprint (Vorlage) für alle kommenden Fach-Services. Er muss "Production Ready" gehärtet sein, bevor wir Fachlichkeit implementieren.
Aktueller technischer Stand (07.02.2026):
- Build System: ✅ Grün (Gradle, Kotlin 2.3, Spring Boot 3.5.9, Spring Cloud 2025.0.1).
- Code-Basis: ✅
ping-serviceexistiert, Delta-Sync implementiert. - Infrastruktur: ✅ Docker Environment stabil (Valkey, Keycloak, Consul, Zipkin).
- Frontend: ✅ Web-App & Desktop-App (KMP), Login funktioniert, Sync-Logik vorhanden.
- Hardware: ✅ Minisforum MS-R1 eingetroffen.
2. Arbeitsaufträge an die AGENTS (Phasenplan)
PHASE 1: Backend Hardening & Infrastructure (ABGESCHLOSSEN)
Ziel: Der Ping-Service läuft sicher, stabil und beobachtbar in der Docker-Umgebung.
👷 Agent: Senior Backend Developer
- Security Implementation: OAuth2 Resource Server & RBAC implementiert.
- Resilience: CircuitBreaker für
/ping/enhancedaktiv. - Observability: Actuator, Micrometer & Zipkin Tracing aktiv.
- Persistence: Flyway & Postgres Integration stabil.
🏗️ Agent: Infrastructure & DevOps
- Docker Environment:
dc-infra,dc-backend,dc-guistabil. Valkey als Redis-Ersatz integriert. ( verifiziert 2026-03-09: KC_COMMAND-Regression + Valkey/Redis Property-Mismatch behoben) - Gateway Config: Routing
/api/ping/**->ping-servicemit CircuitBreaker Fallback konfiguriert.
PHASE 2: Frontend Integration (ABGESCHLOSSEN)
Ziel: Das Frontend kann authentifiziert mit dem Backend sprechen.
🎨 Agent: KMP Frontend Expert
- HTTP Client Core: Ktor Client mit Auth & Error Handling.
- Authentication Flow: OIDC Login Flow (Keycloak) implementiert.
- UI Implementation: Debug-Screen für Pings vorhanden.
- Sync-Fix:
PingApiKoinClient.syncPings()Query-ParameterlastSyncTimestamp→sincekorrigiert. ( verifiziert 2026-03-09)
PHASE 3: Offline & Sync (ABGESCHLOSSEN)
Ziel: Datenkonsistenz auch bei Netzwerk-Verlust.
🤝 Joint Task Force (Backend & Frontend)
- Sync-Protokoll:
PingEventContract definiert. - Sync-Fix (CRITICAL): Typ-Mismatch behoben! Backend und Frontend nutzen nun konsistent
since: Long. - Web-App Sync: SQLDelight Integration vorbereitet.
3. Definition of Done (für Phase 1 & 2)
docker compose upstartet den kompletten Stack fehlerfrei.- Frontend-User kann sich einloggen (Keycloak).
- Frontend zeigt Daten vom
ping-servicean. - Beim Abschalten der DB zeigt der Service einen sauberen Fallback (CircuitBreaker offen).
- In Zipkin ist der komplette Request-Trace (Frontend -> Gateway -> Service -> DB) sichtbar.
4. Next Steps (Q1/2026)
- Entries Service: Beginn der Implementierung des ersten echten Fach-Services ("Nennungen"). ← **NÄCHSTE PRIORITÄT **
System Hardening: Keycloak Production-Config (kein✅ (erledigt 2026-03-09:start-dev)..envKC_COMMAND aufstart --optimized --import-realmkorrigiert)- Reporting / Printing: (Vorgemerkt)
- Anforderung: PDF-Generierung für Startlisten, Ergebnislisten, Dressur-Protokolle (personalisiert).
- Architektur-Entscheidung: Dezentraler Microservice (wegen Resource-Bursts).
- Technologie-Evaluierung: JasperReports, Thymeleaf + Flying Saucer, etc.
- Infrastructure Setup (Home-Server):
- Hardware: Minisforum MS-R1 (ARM64, 12 Cores, 10G LAN) ✅ GELIEFERT (07.02.2026).
- OS: Debian 12 (Vendor Variant) als Host.
- Hypervisor: Proxmox VE 8.4.10 (
pve.mo-code.at). - Virtualization Strategy:
infra-gitea(LXC Container): Gitea + Actions Runner (Native ARM Builds).docker-host-prod(VM): Debian VM als Docker Host für den Meldestelle-Stack (Isolation, keine Nesting-Probleme).
- CI/CD: Multi-Arch Support (Native ARM64 Builds + x86_64 via
docker buildx& QEMU). - Networking: Cloudflare Tunnel (Remote Access).
- Local Discovery: DNS/mDNS Strategie für Offline-Szenarien (Main-App als lokaler Anchor).
- Backup: Automatisierte Snapshots auf externe USB-SSD.