ADR 0007: Kubernetes with TalosOS
Status
Accepted
Context
The homelab platform targets a multi-node server environment with room for future capability expansion (for example, optional non-default plugins). K3s was considered, but its optimization for edge/IoT and bundled defaults are less aligned with the desired flexibility. Nomad was also evaluated for its simplicity and support for both containerized and non-containerized workloads. In this environment, infrastructure-as-code and an immutable OS reduce Nomad’s operational advantages, and non-containerized workloads are unlikely.
Decision
Adopt a full Kubernetes stack running on TalosOS as the base orchestration platform.
Consequences
- Ecosystem Flexibility: Kubernetes provides a broad ecosystem, extension points, and standard service discovery and load-balancing patterns.
- Operational Model: TalosOS delivers an immutable, API-managed Kubernetes host OS and supports extensions and secure networking (for example, KubeSpan).
- Complexity Trade-off: Operational complexity is higher than Nomad in isolation, but is mitigated by IaC and TalosOS automation.
- Workload Standardization: Workloads will be standardized on containers unless a future ADR explicitly permits exceptions.