My homelab's infrastructure-as-code. Built with ✨Kubernetes✨ clusters on Azure, Oracle Cloud, and bare metal.
My clusters use Flux to pull their configuration from YAML files in the kubernetes
folder. The base
subfolder applies to all clusters, and other subfolders apply to individual clusters. The files contain most configuration, but I also use some external services:
Networking:
- Cloudflare authoritative DNS
- Cloudflare Tunnels HTTP routing and TLS termination, with my Gateway API implementation
- Cloudflare CDN
- Cloudflare Access authentication broker
- Azure AD identity provider
Observability:
- OpenTelemetry Operator automated tracing
- Grafana Kubernetes Monitoring metric and log exporting
- Grafana Cloud storage, analysis, and alerts
GitOps:
- Mend Renovate dependency updates
- GitHub source control
- Dev Container development environment
- Mozilla SOPS secret management
- age secret encryption