Files
homelab-gitops/clusters/defiant/projects.yaml
Greg Hendrickson 124a29a0a9 feat: add ArgoCD bootstrap with ApplicationSet pattern
- 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
2026-02-02 18:02:42 +00:00

50 lines
1.3 KiB
YAML

# clusters/defiant/projects.yaml
# ArgoCD AppProjects for access control and grouping
---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: infrastructure
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
description: Core cluster infrastructure (networking, storage, monitoring)
sourceRepos:
- 'https://github.com/ghndrx/homelab-gitops.git'
- 'https://charts.jetstack.io'
- 'https://prometheus-community.github.io/helm-charts'
- 'https://grafana.github.io/helm-charts'
destinations:
- namespace: '*'
server: https://kubernetes.default.svc
clusterResourceWhitelist:
- group: '*'
kind: '*'
namespaceResourceWhitelist:
- group: '*'
kind: '*'
---
apiVersion: argoproj.io/v1alpha1
kind: AppProject
metadata:
name: apps
namespace: argocd
finalizers:
- resources-finalizer.argocd.argoproj.io
spec:
description: User-facing applications
sourceRepos:
- 'https://github.com/ghndrx/homelab-gitops.git'
destinations:
- namespace: 'prod-*'
server: https://kubernetes.default.svc
- namespace: 'dev-*'
server: https://kubernetes.default.svc
clusterResourceWhitelist:
- group: ''
kind: Namespace
namespaceResourceWhitelist:
- group: '*'
kind: '*'