argocd

SKILL.md

Argo CD

Manage Argo CD applications, sync operations, and clusters via the REST API.

Environment Variables

  • ARGOCD_SERVER - Argo CD server URL (e.g. https://argocd.example.com)
  • ARGOCD_TOKEN - Bearer token (generate via argocd account generate-token or API)

List applications

curl -sk -H "Authorization: Bearer $ARGOCD_TOKEN" \
  "$ARGOCD_SERVER/api/v1/applications" | jq '.items[] | {name: .metadata.name, status: .status.sync.status, health: .status.health.status, repo: .spec.source.repoURL}'

Get application details

curl -sk -H "Authorization: Bearer $ARGOCD_TOKEN" \
  "$ARGOCD_SERVER/api/v1/applications/my-app" | jq '{name: .metadata.name, sync: .status.sync, health: .status.health, source: .spec.source}'

Sync application

curl -sk -X POST -H "Authorization: Bearer $ARGOCD_TOKEN" \
  -H "Content-Type: application/json" \
  "$ARGOCD_SERVER/api/v1/applications/my-app/sync" \
  -d '{}' | jq '{phase: .status.phase}'

Sync with specific revision

curl -sk -X POST -H "Authorization: Bearer $ARGOCD_TOKEN" \
  -H "Content-Type: application/json" \
  "$ARGOCD_SERVER/api/v1/applications/my-app/sync" \
  -d '{"revision": "HEAD", "prune": true}' | jq '{phase: .status.phase}'

Get application resource tree

curl -sk -H "Authorization: Bearer $ARGOCD_TOKEN" \
  "$ARGOCD_SERVER/api/v1/applications/my-app/resource-tree" | jq '.nodes[] | {kind: .kind, name: .name, health: .health.status}'

List clusters

curl -sk -H "Authorization: Bearer $ARGOCD_TOKEN" \
  "$ARGOCD_SERVER/api/v1/clusters" | jq '.items[] | {name: .name, server: .server, status: .connectionState.status}'

List repositories

curl -sk -H "Authorization: Bearer $ARGOCD_TOKEN" \
  "$ARGOCD_SERVER/api/v1/repositories" | jq '.items[] | {repo: .repo, connectionState: .connectionState.status}'

Application diff (managed resources)

curl -sk -H "Authorization: Bearer $ARGOCD_TOKEN" \
  "$ARGOCD_SERVER/api/v1/applications/my-app/managed-resources" | jq '.items[] | {kind, name: .name, status: .status}'

Notes

  • Use -k flag if Argo CD uses self-signed certificates.
  • Sync operations are async; poll application status to track progress.
  • Always confirm before syncing, especially with prune: true.
Weekly Installs
2
First Seen
14 days ago
Installed on
opencode2
gemini-cli2
claude-code2
github-copilot2
codex2
kimi-cli2