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/ # Application deployments
β β βββ talos1018/ # Cluster applications
β βββ infrastructure/ # Infrastructure components
β β βββ talos1018/
β β βββ core/ # Core components (CNI, ingress, cert-manager)
β β βββ storage/ # Storage layer (Longhorn)
β βββ clusters/ # Flux configurations
β β βββ talos1018/
β β βββ flux-system/
β β βββ infrastructure.yaml
β β βββ 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 with L2 announcements
- IP Range: 10.18.6.90-93
Layered architecture with minimal dependencies:
Core (no dependencies):
- Cilium CNI with L2 announcements
- cert-manager with Let's Encrypt
- ingress-nginx
Storage (depends on core):
- Longhorn with S3 backups to Cloudflare R2
Applications (depends on core):
- Deploy in parallel
- Storage-dependent apps wait automatically via Kubernetes
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
