| name | argocd |
| description | Manage ArgoCD GitOps deployments. Use for application sync, rollback, status, history, repository management, cluster management, and project configuration. Triggers on ArgoCD, GitOps, application deployment, sync, rollback queries. |
ArgoCD Skill
Manage ArgoCD via CLI. Requires argocd CLI installed and authenticated.
Prerequisites
brew install argocd
argocd login <SERVER> [--username <user>] [--password <pass>] [--insecure]
Authentication
argocd login argocd.example.com --username admin --password secret
argocd context list
argocd context set <name>
argocd app list --argocd-context prod
argocd app list --core
Applications
List & Status
argocd app list
argocd app list -o wide
argocd app list -o json
argocd app get <APP>
argocd app get <APP> -o json
argocd app get <APP> --refresh
argocd app manifests <APP>
Sync
argocd app sync <APP>
argocd app sync <APP> --prune
argocd app sync <APP> --force
argocd app sync <APP> --revision <REV>
argocd app sync <APP> --dry-run
argocd app sync <APP> --resource <GROUP>:<KIND>:<NAME>
argocd app sync <APP> --async
History & Rollback
argocd app history <APP>
argocd app rollback <APP> <HISTORY_ID>
argocd app rollback <APP> <HISTORY_ID> --prune
Diff
argocd app diff <APP>
argocd app diff <APP> --revision <REV>
argocd app diff <APP> --local <PATH>
Create & Delete
argocd app create <APP> \
--repo <REPO_URL> \
--path <PATH> \
--dest-server <K8S_API> \
--dest-namespace <NS> \
--project <PROJECT>
argocd app create <APP> \
--repo <HELM_REPO> \
--helm-chart <CHART> \
--revision <VERSION> \
--dest-server https://kubernetes.default.svc \
--dest-namespace <NS>
argocd app delete <APP>
argocd app delete <APP> --cascade=false
App Management
argocd app set <APP> --parameter key=value
argocd app set <APP> --helm-set key=value
argocd app set <APP> --values values.yaml
argocd app wait <APP>
argocd app terminate-op <APP>
argocd app resources <APP>
argocd app logs <APP> --container <CNT>
Projects
argocd proj list
argocd proj create <PROJ> \
--description "Description" \
--dest <SERVER>,<NS> \
--src <REPO_URL>
argocd proj get <PROJ>
argocd proj add-destination <PROJ> <SERVER> <NS>
argocd proj add-source <PROJ> <REPO_URL>
argocd proj role create <PROJ> <ROLE>
argocd proj role add-policy <PROJ> <ROLE> -a <ACTION> -p allow -o <APP>
argocd proj delete <PROJ>
Repositories
argocd repo list
argocd repo add <REPO_URL> \
--username <USER> \
--password <TOKEN>
argocd repo add <REPO_URL> \
--ssh-private-key-path ~/.ssh/id_rsa
argocd repo add <HELM_REPO_URL> \
--type helm \
--name <NAME>
argocd repo rm <REPO_URL>
Clusters
argocd cluster list
argocd cluster add <CONTEXT_NAME>
argocd cluster add <CONTEXT_NAME> --name <DISPLAY_NAME>
argocd cluster get <SERVER_URL>
argocd cluster rm <SERVER_URL>
Accounts & RBAC
argocd account list
argocd account get-user-info
argocd account update-password
argocd account generate-token --account <ACCOUNT>
Output Formats
Most commands support:
-o json - JSON output
-o yaml - YAML output
-o wide - Extended table
--refresh - Force state refresh
Common Patterns
Deploy new version
argocd app diff <APP> --revision <NEW_REV>
argocd app sync <APP> --revision <NEW_REV>
argocd app wait <APP>
Quick rollback
argocd app history <APP>
argocd app rollback <APP> <PREV_ID>
Check all apps health
argocd app list -o json | jq '.[] | {name: .metadata.name, health: .status.health.status, sync: .status.sync.status}'
Safety Rules
- ⚠️ Always
--dry-run or diff before sync in production
- ⚠️
delete, rm commands are irreversible
- ⚠️ Use
--cascade=false to preserve K8s resources when deleting app
- ⚠️ Prefer RBAC-limited accounts over admin access