ArgoCD CLI Skill
This skill enables GitOps deployment management using ArgoCD CLI.
Environment
Connection
-
Server: 192.168.10.117:31006
-
Web UI: http://192.168.10.117:31006
-
Credentials: admin / CpfsoneT7ogVKWOh
Login Command
If token expires, re-authenticate:
yes | argocd login 192.168.10.117:31006 --username admin --password CpfsoneT7ogVKWOh --insecure
Applications Overview
Application Cluster Namespace Environment
simplex-k1-prod
AWS EKS production 生产环境
simplex-k2-staging
AWS EKS staging 预发布环境
simplex-local
K3s simplex 本地开发
simplex-local-infra
K3s common 本地基础设施
Common Operations
Application Status
List all applications
argocd app list
Get specific application status
argocd app get argocd/simplex-k1-prod argocd app get argocd/simplex-k2-staging argocd app get argocd/simplex-local
Get application in JSON format
argocd app get argocd/simplex-k1-prod -o json
Get application in YAML format
argocd app get argocd/simplex-k1-prod -o yaml
Sync Operations
Sync application (deploy latest from git)
argocd app sync argocd/simplex-k1-prod
Sync with prune (remove resources not in git)
argocd app sync argocd/simplex-k1-prod --prune
Sync specific resources only
argocd app sync argocd/simplex-k1-prod --resource apps:Deployment:simplex-api
Sync with force (replace resources)
argocd app sync argocd/simplex-k1-prod --force
Sync and wait for completion
argocd app sync argocd/simplex-k1-prod --timeout 300
Dry run sync (preview changes)
argocd app sync argocd/simplex-k1-prod --dry-run
Refresh
Refresh application (re-read from git)
argocd app get argocd/simplex-k1-prod --refresh
Hard refresh (clear cache and re-read)
argocd app get argocd/simplex-k1-prod --hard-refresh
Rollback
View deployment history
argocd app history argocd/simplex-k1-prod
Rollback to specific revision
argocd app rollback argocd/simplex-k1-prod <revision-id>
Example: rollback to revision 5
argocd app rollback argocd/simplex-k1-prod 5
Diff and Comparison
Show diff between live and desired state
argocd app diff argocd/simplex-k1-prod
Show diff with local manifests
argocd app diff argocd/simplex-k1-prod --local /path/to/manifests
Resource Management
List application resources
argocd app resources argocd/simplex-k1-prod
Get logs from application pods
argocd app logs argocd/simplex-k1-prod
Follow logs
argocd app logs argocd/simplex-k1-prod --follow
Logs from specific container
argocd app logs argocd/simplex-k1-prod --container simplex-api
Delete specific resource
argocd app delete-resource argocd/simplex-k1-prod --kind Deployment --resource-name simplex-api
Application Management
Create new application
argocd app create <name>
--repo ssh://git@192.168.10.117:2222/simplexai/infra/simplex-gitops.git
--path kubernetes/overlays/<env>
--dest-server https://kubernetes.default.svc
--dest-namespace <namespace>
Delete application
argocd app delete argocd/<app-name>
Set application parameters
argocd app set argocd/simplex-k1-prod --parameter key=value
Project Management
List projects
argocd proj list
Get project details
argocd proj get simplex
List project roles
argocd proj role list simplex
Status Interpretation
Sync Status
Status Meaning
Synced
Live state matches desired state in git
OutOfSync
Live state differs from git
Unknown
Unable to determine sync status
Health Status
Status Meaning
Healthy
All resources are healthy
Progressing
Resources are being updated
Degraded
One or more resources are unhealthy
Suspended
Resources are suspended
Missing
Resources don't exist
Unknown
Health status unknown
Output Formatting
Status Summary
📊 ArgoCD Application Status
┌─────────────────────┬──────────┬───────────┬─────────────────┐ │ Application │ Sync │ Health │ Last Sync │ ├─────────────────────┼──────────┼───────────┼─────────────────┤ │ simplex-k1-prod │ Synced │ Healthy │ 2h ago │ │ simplex-k2-staging │ Synced │ Healthy │ 1h ago │ │ simplex-local │ OutOfSync│ Degraded │ 30m ago │ └─────────────────────┴──────────┴───────────┴─────────────────┘
Troubleshooting
Application Not Syncing
-
Check sync status: argocd app get argocd/<app>
-
Check for sync errors in conditions
-
Hard refresh: argocd app get argocd/<app> --hard-refresh
-
Check git repository access
ComparisonError
Usually indicates:
-
Git repository access issues
-
Invalid manifests in git
-
Kustomize/Helm rendering errors
Resolution:
Hard refresh to clear cache
argocd app get argocd/<app> --hard-refresh
Check app details for error message
argocd app get argocd/<app>
Authentication Expired
Re-login
yes | argocd login 192.168.10.117:31006 --username admin --password CpfsoneT7ogVKWOh --insecure
Integration with Kargo
ArgoCD applications are managed by Kargo for progressive delivery:
-
Kargo Warehouse detects new images in ECR
-
Kargo Stages promote freights through environments
-
ArgoCD syncs the changes to clusters
Kargo-managed applications have annotation:
kargo.akuity.io/authorized-stage: kargo-simplex:prod
For progressive delivery operations, use the Kargo CLI skill.