Personal Kubernetes homelab managed with Talos Linux and Flux GitOps.
- OS: Talos Linux
- GitOps: Flux
- Storage: Rook Ceph
- Secrets: External Secrets + Infisical
- Networking: Cilium, Envoy Gateway
- Observability: VictoriaMetrics + Logs, Grafana
- Databases: CloudNativePG
- Backups: Volsync, Kopia
bootstrap/ # Cluster bootstrap scripts
docs/
architecture/ # System design docs
decisions/ # ADRs
runbooks/ # Operational procedures
troubleshooting/ # Historical investigations
kubernetes/
apps/ # Application manifests by namespace
components/ # Reusable Kustomize components
flux/ # Flux system configuration
scripts/ # Operational scripts
talos/ # Talos node configurationPrerequisites: mise installed.
-
Install minijinja-cli (not managed by mise):
brew install minijinja-cli
-
Install remaining tools:
mise trust && mise install -
Authenticate with Infisical:
infisical login
-
Generate Talos configuration:
just talos init-config
-
Verify access:
talosctl -n 192.168.1.63 version kubectl get nodes
Bootstrap a new cluster from scratch:
-
Bootstrap Talos cluster:
just bootstrap talos
-
Bootstrap applications:
just bootstrap apps