Environment-separated ArgoCD deployment configurations for the ESDDNS Operator.
argocd/
├── dev/ # Development environment
│ ├── appproject.yaml
│ ├── applications/
│ │ ├── esddns-operator-helm.yaml
│ │ ├── esddns-operator-kustomize.yaml
│ │ └── kustomization.yaml
│ ├── kustomization.yaml
│ └── README.md
├── prod/ # Production environment
│ ├── appproject.yaml
│ ├── applications/
│ │ ├── esddns-operator-helm.yaml
│ │ ├── esddns-operator-kustomize.yaml
│ │ └── kustomization.yaml
│ ├── kustomization.yaml
│ └── README.md
├── bootstrap/
│ └── argocd-setup.sh
├── README.md # This file
└── DEPLOYMENT.md # Comprehensive deployment guide
argocd namespace)# Deploy development applications
kubectl apply -k argocd/dev/
# Deploy production applications
kubectl apply -k argocd/prod/
cd argocd/bootstrap
./argocd-setup.sh
argocd/dev/)esddns-devesddns-operator-devesddns-operator-helm-dev (Helm-based)esddns-operator-kustomize-dev (Kustomize-based)Deploy with:
kubectl apply -k argocd/dev/
argocd/prod/)esddns-prodesddns-operatoresddns-operator-helm-prod (Helm-based)esddns-operator-kustomize-prod (Kustomize-based)Deploy with:
kubectl apply -k argocd/prod/
Changes are automatically deployed when committed to Git.
Require human approval:
# Review changes in ArgoCD UI or CLI
argocd app get esddns-operator-helm-prod
# Approve and sync manually
argocd app sync esddns-operator-helm-prod
values.yaml + values-development.yamlvalues.yaml + values-production.yamlEdit in: helm/esddns-operator/values*.yaml
k8s/overlays/developmentk8s/overlays/productionEdit in: k8s/overlays/{dev|prod}/kustomization.yaml
Check application status in ArgoCD UI:
https://your-argocd-instanceOr use CLI:
# Development
argocd app get esddns-operator-helm-dev
argocd app get esddns-operator-kustomize-dev
# Production
argocd app get esddns-operator-helm-prod
argocd app get esddns-operator-kustomize-prod
# Remove development applications
kubectl delete -k argocd/dev/
# Remove production applications
kubectl delete -k argocd/prod/
# Remove both
kubectl delete -k argocd/dev/
kubectl delete -k argocd/prod/
kubectl apply -k argocd/dev/ (or prod)