--- type: Reference status: ACTIVE owner: DevOps Engineer --- # SSoT Konfigurations-Masterplan für Zora (ARM64) ## 1. System-Umgebung (Infrastruktur) | Parameter | Wert | Erklärung | |:-------------------|:--------------|:-------------------------------------------------| | **Architektur** | `linux/arm64` | Native Architektur von Zora (Host). | | **Host-IP (Zora)** | `10.0.6.1` | Gateway für alle Container (Bridge `incusbr0`). | | **Projekt-IP** | `10.0.6.50` | Feste IP für den Docker-Host `prod-meldestelle`. | | **DNS-Server** | `10.0.6.1` | Zora übernimmt die Namensauflösung. | ## 2. Mail-Relay (SSoT Identity) Diese Daten müssen in der Spring Boot `application.yml` oder `.env` abgeglichen werden. * **SMTP-Host:** `10.0.6.1` (Zora Host Relay) * **SMTP-Port:** `25` (Passwortloser interner Zugriff via `mynetworks`) * **Absender:** `zora@mo-code.at` (Verifizierte World4You Identität) ## 3. Docker-Image Checkliste (ARM64 Kompatibilität) Bitte prüfe in deinen `docker-compose.yaml` Dateien, ob diese Images genutzt werden (alle unterstützen offiziell ARM64): | Dienst | Empfohlenes Image | Status | |:---------------|:---------------------------------|:-----------------------------------------------| | **Datenbank** | `postgres:15-alpine` | ARM64 Support: Ja | | **Cache** | `valkey/valkey:8-alpine` | ARM64 Support: Ja (Besserer Support als Redis) | | **Identity** | `quay.io/keycloak/keycloak:24.0` | ARM64 Support: Ja (Offiziell) | | **Monitoring** | `prom/prometheus:latest` | ARM64 Support: Ja | | **Dashboards** | `grafana/grafana:latest` | ARM64 Support: Ja | ## 4. Backend & Gateway (Spring Boot) Da du diese selbst baust, ist die Dockerfile-Konfiguration entscheidend: * **Base Image:** Nutze `eclipse-temurin:17-jre-alpine` oder `21-jre-alpine`. Diese sind für ARM64 optimiert. * **Build-Prozess:** Dein Gitea-Runner auf Zora baut automatisch für ARM64, da er auf der gleichen Hardware läuft. ## 5. Keycloak SSoT Integration Wichtige Endpunkte für deine Microservices in der IDEA: * **External Issuer:** `https://auth.mo-code.at/realms/mocode-realm` * **Internal Issuer:** `http://infra-keycloak:8080/realms/mocode-realm` (Für die Kommunikation innerhalb des Docker-Netzwerks) * **Client-ID:** `meldestelle-client` ## 6. Cloudflare Tunnel Routing Stelle sicher, dass deine Ingress-Rules auf die IP der Meldestelle zeigen: * `api.mo-code.at` -> `http://10.0.6.50:8080` (Gateway) * `auth.mo-code.at` -> `http://10.0.6.50:8180` (Keycloak) * `git.mo-code.at` -> `http://10.0.6.100:3000` (Gitea LXC - bereits aktiv)