Zur Startseite
Plattform

Plattformarchitektur

Management Plane, Runtime Cluster, GitOps-Delivery — wie gh0stcloud aufgebaut ist.

gh0stcloud ist in zwei klar getrennte Schichten aufgeteilt: die Management Plane koordiniert Identität, Secrets und Billing, während die Runtime Cluster Tenant-Workloads isoliert ausführen. Die einzige erlaubte Brücke zwischen beiden ist GitOps.

Architektur-Prinzip: Desired State wird in Git beschrieben, von Flux CD reconciled und vom Provisioning-Layer materialisiert. Direkte Mutationen an Runtime-Objekten sind kein unterstützter Betriebspfad.

Architekturübersicht

gh0stcloud Plattformarchitektur
Management-Services und Runtime Cluster sind physisch getrennt — GitOps ist die kontrollierte Delivery-Brücke.

Cluster-Topologie

UmgebungRolleHardwareStandort
Management EnvironmentManagement Planededizierter Bare-Metal-ServerDeutschland
Development EnvironmentDevelopment RuntimeShared Compute Nodes (Control + Worker)Deutschland
Production EnvironmentProduction RuntimeShared Compute Nodes + optionaler dedizierter Bare-Metal-ServerDeutschland

Alle Cluster laufen auf K3s mit Cilium als CNI und sind über NetBird zu einem privaten VPN-Mesh verbunden.

Management Plane

Die Management Plane hostet alle Platform Services und hat keine Tenant-Workloads:

ServiceFunktion
KeycloakIdentity Provider — SSO, OIDC, PKCE, OAuth2, Tenant-Organisationen
OpenBaoSecrets Authority — Credentials werden per ESO in Namespaces synchronisiert, nie als Plaintext
gh0stplanePlatform Control API — Billing-Aggregation und Portal-Backend
Flux CDGitOps Reconciliation Engine

Keycloak verwaltet Tenant-Organisationen als isolierte Identity-Grenzen. Jeder Tenant bekommt eine eigene Organisation mit scoped Groups und Roles — kein gemeinsamer Identity-Context über Tenants hinweg.

OpenBao ist die alleinige Secrets Authority. Workloads erhalten Credentials ausschließlich durch automatische Synchronisation in ihren Namespace — Secrets werden nie im Repository gespeichert oder manuell angelegt.

gh0stplane ist die Business-Logik der Plattform: Billing-Aggregation aus Nutzungsdaten, die Portal-API und die monatliche Rechnungserstellung.

Runtime Cluster

Jeder Runtime Cluster hat die gleiche Service-Basis:

ServiceFunktion
Flux CDGitOps-Pull aus dem Tenant-Source-Repository
Provisioning SystemReconciliert Plattform-Konfiguration und Tenant-Namespaces
KyvernoAdmission-Policies, NetworkPolicy-Baseline, Namespace-Guardrails
Prometheus + AlloyMetrics-Collection und Log-/Trace-Forwarding
BeylaeBPF-basiertes automatisches Application-Instrumentation — keine Code-Änderungen nötig

Jeder Tenant bekommt mindestens einen dedizierten, isolierten Namespace. Network Policies, die Cross-Tenant-Traffic unterbinden, werden automatisch angewendet.

GitOps Delivery — Wie Changes laufen

Alle Änderungen folgen einem einzigen, auditierbaren Pfad:

Source Repository
  └─► Flux CD
        └─► Provisioning Layer
              └─► Namespace · RBAC · Policy · Workload

Es gibt keinen Click-Ops-Pfad. Wer etwas im Cluster ändern möchte, tut das über einen Git-Commit. Die Reihenfolge der Reconciliation ist strikt geregelt — von Core-Services bis hin zu Tenant-Workloads.

Netzwerk und Connectivity

  • Intern: NetBird-VPN-Mesh verbindet alle Cluster. Kein Public Exposure für interne APIs.
  • Tenant-Ingress: Über kontrollierten Ingress-Controller pro Cluster, konfigurierbar per Tenant.
  • Egress: Dedizierter Egress-Node für Production, um ausgehende IPs beherrschbar zu halten.

Open-Source-Fundament

gh0stcloud setzt ausschließlich auf CNCF-/Open-Source-Projekte: Kubernetes, K3s, Cilium, Flux CD, Keycloak, OpenBao, Prometheus, Grafana, Kyverno. Proprietäres Wissen steckt im Betrieb und in den Automatisierungen — nicht in Lock-in-Komponenten.

Fragen oder bereit loszulegen?

Mit uns sprechen