esddns

ArgoCD ESDDNS Quick Start

Get ESDDNS Operator running with ArgoCD in minutes.

Prerequisites

Install ArgoCD (if needed)

# Add Helm repo
helm repo add argo https://argoproj.github.io/argo-helm
helm repo update

# Install ArgoCD
kubectl create namespace argocd
helm install argocd argo/argo-cd -n argocd

Deploy to Development

cd argocd
kubectl apply -k dev/

This deploys:

Deploy to Production

cd argocd
kubectl apply -k prod/

This deploys:

Deploy Both (using bootstrap script)

cd argocd/bootstrap
./argocd-setup.sh both

Check Status

# List applications
kubectl get applications -n argocd

# Get specific app status
argocd app get esddns-operator-helm-dev
argocd app get esddns-operator-helm-prod

# Watch sync progress
argocd app wait esddns-operator-helm-dev --sync

Access ArgoCD UI

# Port forward
kubectl port-forward svc/argocd-server -n argocd 8080:443

# Get password
kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath='{.data.password}' | base64 -d

Open: https://localhost:8080

Verify Deployment

# Check pods
kubectl get pods -n esddns-operator
kubectl get pods -n esddns-operator-dev

# Check services
kubectl get svc -n esddns-operator
kubectl get svc -n esddns-operator-dev

# View logs
kubectl logs -n esddns-operator -l app=esddns-operator-service

Manual Sync (Production)

# Sync production manually
argocd app sync esddns-operator-helm-prod

# With prune (delete removed resources)
argocd app sync esddns-operator-helm-prod --prune

# Force sync
argocd app sync esddns-operator-helm-prod --force

Update Configuration

Helm Values

Edit helm/esddns-operator/values-development.yaml or values-production.yaml

Commit and push to Git. Dev will auto-sync; prod requires manual sync.

Kustomize Overlays

Edit k8s/overlays/development/ or k8s/overlays/production/

Commit and push to Git. Dev will auto-sync; prod requires manual sync.

Cleanup

# Remove dev only
kubectl delete -k argocd/dev/

# Remove prod only
kubectl delete -k argocd/prod/

# Remove both
kubectl delete -k argocd/dev/
kubectl delete -k argocd/prod/

Troubleshooting

Application stuck in “Progressing”

argocd app sync esddns-operator-helm-dev --force

Check what’s different

argocd app diff esddns-operator-helm-dev

See detailed error

argocd app get esddns-operator-helm-dev
kubectl describe application esddns-operator-helm-dev -n argocd

View logs

argocd app logs esddns-operator-helm-dev
kubectl logs -n argocd deployment/argocd-controller-manager

Next Steps