mirror of
https://github.com/ghndrx/homelab-gitops.git
synced 2026-02-10 06:44:57 +00:00
124a29a0a9f7bebe65c9ec2ebf8f5fdbef48af8b
- Add root ApplicationSet using Git Directory Generator - Configure AppProjects for infrastructure and apps separation - Add cert-manager with Let's Encrypt ClusterIssuers (staging/prod) - Add SOPS configuration for age-encrypted secrets - Add bootstrap documentation (docs/BOOTSTRAP.md) - Scaffold infrastructure dirs (networking, storage, monitoring) - Update README with quick start and architecture GitOps pattern: directories auto-discovered by ArgoCD ApplicationSets Reference: CNCF App-of-Apps best practices 2025
Homelab GitOps
GitOps repository for homelab Kubernetes infrastructure. Everything as code, auto-synced by ArgoCD.
Quick Start
# Bootstrap cluster (after ArgoCD installed)
kubectl apply -k clusters/defiant/
See docs/BOOTSTRAP.md for full setup guide.
Infrastructure
| System | Role | Stack |
|---|---|---|
| defiant | k3s cluster | AMD Ryzen 9 7940HS, Istio, Knative |
| truenas | Storage + Docker | 50TB RAIDZ2, Plex, *arr stack |
| dell01 | Gateway | Clawdbot AI |
Structure
├── apps/ # Application deployments
│ ├── base/ # Base manifests (Kustomize)
│ └── overlays/ # Environment overrides
│ ├── prod/ # → Auto-discovered by ApplicationSet
│ └── dev/
├── infrastructure/ # Cluster infrastructure
│ ├── cert-manager/ # ✅ TLS with Let's Encrypt
│ ├── networking/ # Istio gateway, NetworkPolicies
│ ├── storage/ # NFS StorageClass
│ └── monitoring/ # Prometheus, Grafana, Loki
├── clusters/
│ └── defiant/ # Cluster bootstrap
│ ├── kustomization.yaml
│ ├── root-applicationset.yaml # Git Directory Generator
│ └── projects.yaml # ArgoCD AppProjects
└── docs/
└── BOOTSTRAP.md # Setup guide
GitOps Pattern
Uses ArgoCD ApplicationSets with Git Directory Generator:
infrastructure/*→ Auto-creates ArgoCD Applicationsapps/overlays/prod/*→ Auto-creates prod Applications- Add a directory, push, ArgoCD syncs automatically
Defiant (k3s) Workloads
- 🏥 MediSynth - FHIR healthcare platform
- 🔧 Istio - Service mesh
- ⚡ Knative - Serverless
- 📜 Cert-Manager - TLS certificates
- 🗄️ CNPG - Cloud Native PostgreSQL
TrueNAS (Docker - not in this repo)
- 📺 Plex, Sonarr, Radarr, Prowlarr
- 📷 Immich
- 🏠 Home Assistant
- 📊 Homepage, Uptime Kuma
Secrets Management
Encrypted with SOPS + age. Configuration in .sops.yaml.
# Encrypt a secret
sops -e -i infrastructure/cert-manager/secret.yaml
# Decrypt for editing
sops infrastructure/cert-manager/secret.yaml
License
MIT
Description