Infrastructure as Code repository for home infrastructure management.
homeops/
βββ talos/ # Talos Kubernetes cluster configurations
β βββ talos1018/ # Cluster-specific config and patches
βββ kubernetes/ # Flux CD GitOps manifests
β βββ apps/ # Everything: platform (Cilium, cert-manager, Longhorn) and apps
β β βββ talos1018/ # Cluster applications
β βββ clusters/ # Flux configurations
β β βββ talos1018/
β β βββ flux-system/
β β βββ apps.yaml
β βββ components/ # Shared Kustomize components
βββ scripts/ # Automation and validation scripts
βββ docs/ # Documentation and assets
βββ .github/ # CI/CD workflows
A 3-node Kubernetes cluster running on Talos Linux. For detailed setup and configuration, see talos/talos1018/README.md.
- Control plane: 3 nodes
- Network: Cilium CNI (native routing) with L2 announcements and Gateway API
- Dual-stack, IPv6-primary (ULA
fd00:1018:0:5:10:18:6:90-93, IPv410.18.6.90-93)
One Flux apps Kustomization applies everything; ordering is per-component dependsOn:
- Gateway API CRDs, then Cilium CNI (native routing, L2 announcements, Gateway API for all HTTPRoutes) and cert-manager with Let's Encrypt
- Longhorn storage with daily backups to Backblaze B2, after Cilium and cert-manager
- Applications deploy in parallel; those with a Longhorn volume wait for Longhorn via
dependsOn
GitOps with Flux CD. See kubernetes/README.md for details.
- Continuous deployment via Flux CD
- Secret management with SOPS + age
- Automated validation via GitHub Actions
talosctlkubectlhelmfluxCLIsops(for secret management)
- Clone the repository:
git clone https://github.com/fmurodov/homeops.git
cd homeops- Navigate to the desired project directory and follow the project-specific README instructions.
To automatically validate configs before committing:
cp scripts/pre-commit .git/hooks/pre-commitThis will run ./scripts/validate.sh before each commit. To bypass: git commit --no-verify
