Claude
Skills
Sign in
Back

argocd

Included with Lifetime
$97 forever

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

Backend & APIs

What this skill does


# 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

```bash
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

```bash
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

```bash
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

```bash
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

```bash
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

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

## List repositories

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

## Application diff (managed resources)

```bash
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`.

Related in Backend & APIs