ti&m e-gov-framework

7 Verteilungssicht

7.1 Motivation

Das e-gov-framework wird vollständig On-Premise auf kundeneigenen Kubernetes-Clustern betrieben. Diese Entscheidung folgt aus behördlichen Anforderungen an Datensouveränität, Compliance und Netzwerkisolation. Alle Kernmodule benötigen ausschliesslich Infrastruktur innerhalb des Clusters (→ Randbedingungen Sektion 2). Das optionale KI-Modul e-gov-ai-rule-generation bildet die einzige Ausnahme: Es kommuniziert mit Azure OpenAI über HTTPS und erfordert daher eine explizite Netzwerk-Freigabe durch die Behörde (→ ADR-007).

7.2 Infrastruktur Ebene 1

Typische Produktivumgebung einer Behörde:

Infrastruktur Verteilungssicht

Bildquelle Infrastruktur Verteilungssicht (SVG)

Knoten Rolle Technologie
Kubernetes-Cluster Laufzeitumgebung für alle Applikations-Pods Kubernetes On-Premise; Anbieter durch Behörde gewählt
Fachapplikations-Pod Laufzeitumgebung der consuming App (Framework eingebettet als JAR) Docker-Container, Java 21, Spring Boot
Datenbank-Server Persistenz für Framework- und Domänentabellen PostgreSQL oder SQL Server
ZooKeeper (optional) Verteilte Service Discovery für Multi-Instanz-Deployments Apache ZooKeeper 3.x
F5-Firewall / Reverse Proxy TLS-Terminierung, Cookie-Setzen (EGOV_TOKEN) nach Login F5 BIG-IP
Azure AD Identity Provider, Authentication Microsoft Azure AD (extern)
ArgoCD GitOps-Deployment-Steuerung ArgoCD auf demselben oder separatem Cluster
Artifactory (ti&m) Maven-Repository für Framework-JARs bin.ti8m.ch (ti8m-betrieben)

7.2.1 Software-Infrastruktur-Zuordnung

Framework-Modul Laufzeitknoten Netzwerk-Zone
e-gov-framework (Kern) Fachapplikations-Pod Cluster-intern
e-gov-mdm Fachapplikations-Pod Cluster-intern
e-gov-mdm-api Fachapplikations-Pod Cluster-intern
e-gov-luid Fachapplikations-Pod Cluster-intern
e-gov-bom Build-Zeit (kein Laufzeittartefakt) —
e-gov-framework-demo DEV/INT-Umgebung (nicht Produktion) Cluster-intern
e-gov-ai-rule-generation Fachapplikations-Pod Cluster-intern + Cloud-Egress (Azure OpenAI)

7.3 Sicherheitszonen

┌──────────────────────────────── Behörden-Netzwerk ─────────────────────────────────┐
│  ┌─── Internet-Zone ───┐    ┌──────────── Cluster-Zone (On-Premise) ─────────────┐ │
│  │  Sachbearbeiter     │    │  F5 → Fachapplikations-Pod (Framework + Module)    │ │
│  │  Browser → HTTPS    │───▶│  Pod ──▶ Datenbank (PostgreSQL / SQL Server)       │ │
│  └─────────────────────┘    │  Pod ──▶ ZooKeeper (optional)                      │ │
│                              └────────────────────────────────────────────────────┘ │
│  ┌─ Azure AD (extern) ─┐    ┌──── Cloud-Egress (nur KI-Modul, optional) ─────────┐ │
│  │  Identity Provider  │    │  e-gov-ai-rule-generation → Azure OpenAI (HTTPS)   │ │
│  └─────────────────────┘    └────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────────────────────────────┘

Sicherheitszonen: - Internet-Zone: Eingehender HTTPS-Traffic der Sachbearbeiter; TLS-Terminierung durch die F5-Firewall; EGOV_TOKEN-Cookie wird gesetzt - Cluster-Zone (On-Premise): Alle Framework-Kernmodule und Datenbankserver; kein direkter Internetzugang; Kommunikation nur Pod-zu-Pod und Pod-zu-DB - Cloud-Egress (optional): Ausschliesslich e-gov-ai-rule-generation; erfordert explizite Firewall-Freigabe durch die Behörde (→ ADR-007)