Serveraufbau V2
Dieser Bereich spezifiziert den Serveraufbau für CIVITAS/CORE V2 (Beta) auf dem Proxmox-Knoten civitas im SOHO-Cluster. Die Spezifikation ersetzt die V1-Installation (cc_cli, Ansible) durch ein helmfile-basiertes Deployment.
Abgrenzung zu V1
| Aspekt | V1 | V2 |
|---|---|---|
| Deployment-Werkzeug | cc_cli (Python, Ansible) | helmfile + Helm |
| Deployment-Repository | Im CIVITAS/CORE-Monorepo enthalten | Separates Repository: civitas-core-deployment |
| Konfiguration | cc_cli_inventory.yml (Ansible-Inventory) | global.yaml.gotmpl (Go-templated YAML) |
| Komponenten-Orchestrierung | Ansible-Playbooks | Helm-Charts (14 Komponenten) |
| Namespace-Strategie | Ein Namespace (civitas-core) | Single-Namespace (via instanceSlug) |
| Cluster-Voraussetzungen | k3s Single-Node, SQLite | k3s Single-Node, cert-manager, nginx-Ingress, StorageClass |
| Status | Funktionsfähig bis cc_cli exec | Neu zu spezifizieren und zu implementieren |
Phasenübersicht
Das Installationsskript gliedert sich in drei Hauptphasen plus vorgelagerter VM-Provisionierung:
| Phase | Name | Ausführungskontext | Inhalt |
|---|---|---|---|
| -1 | VM-Provisionierung | Proxmox-Host | Debian-13-Cloud-Image, statische IP, SSH-Key, Cloud-Init |
| 0 | Preflight | VM | OS-Prüfung, Tools, DNS (weich), SMTP, Netzwerk |
| 1a | k3s-Cluster | VM | k3s ≥ 1.32, --disable traefik, kubeconfig |
| 1b | Add-ons | VM | cert-manager, selfsigned ClusterIssuer, nginx-Ingress, StorageClass |
| 2a | Deployment-Repo | VM | Repo klonen, Deployment-Verzeichnis anlegen, eigenes Git-Repo |
| 2b | Vorbedingungen Phase 2 | VM | DNS (hart), K8s-Secret keycloak-smtp anlegen |
| 2c | helmfile sync | VM | global.yaml.gotmpl rendern, helmfile sync ausführen |
| 2d | WireGuard | VM | Tunnel nach OPNsense aktivieren |
| 3 | Verifikation | VM | Pods, Ingress, Secrets, Abnahmekriterien |
Enthaltene Spezifikationen
- Zielbild — Infrastrukturübersicht, Komponenten, Netzwerkarchitektur
- Installationsphasen und Abnahme — Vollständiges Phasenmodell mit Abnahmekriterien
- Deployment-Voraussetzungen — Cluster-Anforderungen, Tools, DNS, Secrets, Netzwerk
- Helmfile-Konfiguration — Konfigurationshierarchie,
global.yaml.gotmpl, Caddy-TLS-Anpassungen - Netzwerk, DNS und TLS — Netzwerkarchitektur, WireGuard, Caddy, keine TLS-Terminierung in der VM
- Skriptarchitektur — Modulaufbau, Phasenkontrolle, Idempotenz-Strategie
Quellen
- Offizielle V2-Dokumentation:
- Deployment-Repository: https://gitlab.com/civitas-connect/civitas-core/civitas-core-v2/civitas-core-deployment.git
Lebenszyklus-Hinweis
CIVITAS/CORE V2 befindet sich zum Zeitpunkt der Spezifikation im Beta-Stadium. Die Spezifikation wir in dem Maße angepasst, in dem V2 als für p2d2 passend angesehen wird.
Abhängigkeiten
- Die bestehende p2d2-Infrastruktur (Proxmox VE, OPNsense, Netzwerk) wird als gegeben vorausgesetzt.
- Die V1-Spezifikationen unter
serveraufbau-v1/bleiben parallel gültig, bis die Migration auf V2 abgeschlossen ist. - Änderungen an der bestehenden Infrastruktur werden in den jeweiligen Einzelseiten dokumentiert.
Offene Punkte
| Punkt | Status | Entscheidung bei |
|---|---|---|
| Linkerd Service Mesh (optional, aber empfohlen) | Offen – in V2-Doku empfohlen, aber nicht zwingend | Nach Implementierung evaluieren |
| Multi-Node-Betrieb | Nicht spezifiziert – Single-Node fokussiert | Produktiv-Phase |
| Multi-Namespace-Deployment | Von V2-Doku angekündigt, aber noch nicht unterstützt | V2-Release |