Originally published at woitzik.dev

Most Kubernetes tutorials end with kubectl apply -f. You deploy something, it works, and you move on. Three weeks later you have no idea what's running in your cluster, why it's configured that way, or how to recreate it if something breaks.

GitOps solves this. With ArgoCD, your Git repository is the single source of truth for everything in the cluster. No manual kubectl apply, no Helm commands in your shell history, no configuration drift. If it's not in Git, it doesn't exist.

This article documents how a complete homelab stack — MetalLB, Traefik, Longhorn, cert-manager, Authelia, and Vaultwarden — is managed as a single Git repository using ArgoCD's App-of-Apps pattern.

View the complete homelab infrastructure source on GitHub 🐙