| name | argocd |
| description | GitOps continuous delivery for Kubernetes with ArgoCD. Use when creating/managing ArgoCD Applications, ApplicationSets, App of Apps patterns, Helm/Kustomize deployments, ArgoCD kustomize overrides (images/patches/labels), multi-source Helm+kustomize sidecar apps, sync configurations, RBAC/projects setup, notifications, health checks, or private repository configuration. |
ArgoCD
Declarative GitOps continuous delivery for Kubernetes. ArgoCD continuously monitors Git repositories and automatically syncs application state to match desired configuration.
Quick Start
Install ArgoCD:
kubectl create namespace argocd
kubectl apply -n argocd -f https://raw.githubusercontent.com/argoproj/argo-cd/stable/manifests/install.yaml
Access UI:
kubectl port-forward svc/argocd-server -n argocd 8080:443
argocd admin initial-password -n argocd
CLI Login:
argocd login localhost:8080 --insecure
Core Concepts
| Concept | Description |
|---|
| Application | Kubernetes resource tracking a Git repo path to a cluster/namespace |
| AppProject | Logical grouping with source/destination restrictions and RBAC |
| ApplicationSet | Template for generating multiple Applications from generators |
| Sync | Process of applying Git manifests to cluster |
| Health | Status assessment of deployed resources |
Task Reference
Application Management
Multi-Cluster & Templating
Manifest Tools
- Helm charts, values, OCI registries → references/helm.md
- General kustomize (bases, overlays, components, replacements) → kustomize skill
- ArgoCD kustomize overrides, multi-source Helm+kustomize → references/kustomize.md
Sync Configuration
Operations & Admin
Repository Setup
Troubleshooting
Common CLI Commands
argocd app create <name> --repo <url> --path <path> --dest-server https://kubernetes.default.svc --dest-namespace <ns>
argocd app sync <name>
argocd app get <name>
argocd app delete <name>
argocd app list
argocd cluster add <context-name>
argocd cluster list
argocd repo add <url> [--ssh-private-key-path | --username/--password]
argocd repo list
argocd proj create <name> -d <server>,<namespace> -s <repo-url>
argocd proj list
Minimal Application Example
apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
name: myapp
namespace: argocd
spec:
project: default
source:
repoURL: https://github.com/org/repo.git
targetRevision: HEAD
path: manifests
destination:
server: https://kubernetes.default.svc
namespace: myapp
syncPolicy:
automated:
prune: true
selfHeal: true
syncOptions:
- CreateNamespace=true
Official Documentation