esddns

ArgoCD Applications for ESDDNS Operator

Environment-separated ArgoCD deployment configurations for the ESDDNS Operator.

Directory Structure

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

Installation

Prerequisites

Quick Start: Development

# Deploy development applications
kubectl apply -k argocd/dev/

Quick Start: Production

# Deploy production applications
kubectl apply -k argocd/prod/

Bootstrap All (includes setup script)

cd argocd/bootstrap
./argocd-setup.sh

Environment Configurations

Development (argocd/dev/)

Deploy with:

kubectl apply -k argocd/dev/

Production (argocd/prod/)

Deploy with:

kubectl apply -k argocd/prod/

Syncing Applications

Development (Auto Sync)

Changes are automatically deployed when committed to Git.

Production (Manual Sync)

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

Configuration

Helm Values

Edit in: helm/esddns-operator/values*.yaml

Kustomize Overlays

Edit in: k8s/overlays/{dev|prod}/kustomization.yaml

Monitoring

Check application status in ArgoCD UI:

  1. Navigate to https://your-argocd-instance
  2. Select desired application
  3. View sync status and resource health

Or 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

Cleanup

# 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/

Next Steps

  1. Commit ArgoCD files to Git repository
  2. Deploy to ArgoCD: kubectl apply -k argocd/dev/ (or prod)
  3. Monitor in ArgoCD UI or CLI
  4. See DEPLOYMENT.md for advanced usage