2. Architecture Constraints
| ID | Description |
|---|---|
Infrastructure Provider |
|
The cluster runs exclusively on Hetzner Cloud (servers, private network, load balancer, block storage) and Hetzner Robot / hidrive (CIFS backup target). No multi-cloud abstraction is used. |
|
Kubernetes via Cluster API |
|
Nodes are created and managed with Cluster API and the Hetzner provider (CAPH), driven from a temporary local |
|
No public node IPs |
|
Control-plane and worker nodes intentionally have neither public IPv4 nor IPv6. All outbound traffic is routed through a dedicated NAT gateway created by OpenTofu; all inbound traffic terminates at the Hetzner Load Balancer in front of Traefik. |
|
GitOps single source of truth |
|
The state of the cluster is entirely described by this Git repository. Argo CD reconciles it with |
|
OpenID Connect only |
|
The cluster holds no local user database. Authentication for the Kubernetes API ( |
|
Ingress Controller |
|
Traefik is the cluster’s ingress controller ( |
|
Secrets via External Secrets Operator |
|
Runtime secrets are never stored in Git. They are pulled at runtime by the External Secrets Operator from a Bitwarden Secrets Manager |
| ID | Description |
|---|---|
Small Team |
|
The cluster is operated by a very small team. All operational tasks must be automatable via GitOps so that day-to-day operation does not require deep, tribal knowledge of manual procedures. |
|
Shared Infrastructure |
|
The cluster hosts workloads for Kaiserpfalz EDV-Service and related organizations (Paladins-Inn, Torg Codex) via |
| ID | Description |
|---|---|
No Maintenance Window |
|
Hosted applications are used around the world and around the clock (e.g. Torg Eternity’s Torganized Play). There is no accepted time window during which the cluster or its ingress may be unavailable for planned maintenance. |
|
Data Protection / GDPR |
|
Since users and their data are processed within the EU (Hetzner, Germany), the cluster’s data handling (backups, secrets, logging) must be compatible with GDPR requirements. |