From 63e7adc9385bf184b1d88c656eab8c0238973a05 Mon Sep 17 00:00:00 2001 From: Daan Date: Fri, 30 Jan 2026 10:05:07 +0100 Subject: [PATCH] feat(skills): add ArgoCD skill for Kubernetes deployments - Document SSH access requirement (192.168.200.1) - Cover dev and prod environments - Include common workflows: deploy, rollback, health checks - List managed repositories - Add troubleshooting section --- skills/argocd/SKILL.md | 178 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 178 insertions(+) create mode 100644 skills/argocd/SKILL.md diff --git a/skills/argocd/SKILL.md b/skills/argocd/SKILL.md new file mode 100644 index 000000000..76f97ceff --- /dev/null +++ b/skills/argocd/SKILL.md @@ -0,0 +1,178 @@ +--- +name: argocd +description: "Manage Kubernetes deployments via ArgoCD. Sync applications, check health, view history, and rollback deployments across dev and prod environments." +metadata: {"openclaw":{"emoji":"🦑","requires":{"bins":["ssh","argocd"]}}} +--- + +# ArgoCD Skill + +Manage Kubernetes application deployments using ArgoCD CLI. Supports dev and prod environments at Telnyx. + +## ⚠️ Access Requirement + +**All ArgoCD commands must be run via SSH to the main machine first:** + +```bash +ssh daan@192.168.200.1 +``` + +The `argocd` CLI is installed there with access to both environments. + +## Environments + +| Environment | URL | Cluster | +|-------------|-----|---------| +| dev | `argo-cd.query.dev.telnyx.io:8080` | gce-management-ch1-dev | +| prod | `argo-cd.query.prod.telnyx.io:8080` | gce-management-dc2-prod | + +## Context Management + +Switch between environments: + +```bash +# Switch to dev +argocd context dev + +# Switch to prod +argocd context prod + +# Login (if session expired) - opens browser for SSO +argocd login argo-cd.query.dev.telnyx.io:8080 --sso +argocd login argo-cd.query.prod.telnyx.io:8080 --sso +``` + +## Common Commands + +### List Applications + +```bash +# List all apps in current context +argocd app list + +# Filter by project or name +argocd app list | grep +``` + +### Check Application Status + +```bash +# Get detailed app info (status, health, sync state) +argocd app get + +# Check health only +argocd app health +``` + +### Deploy (Sync) + +```bash +# Sync an application (deploy latest) +argocd app sync + +# Sync with prune (remove resources not in git) +argocd app sync --prune + +# Sync specific resources only +argocd app sync --resource :: +``` + +### Preview Changes + +```bash +# Show diff between live and desired state +argocd app diff +``` + +### History & Rollback + +```bash +# View deployment history +argocd app history + +# Rollback to a previous revision +argocd app rollback +``` + +## Common Workflows + +### Deploy to Dev + +```bash +ssh daan@192.168.200.1 +argocd context dev +argocd app sync +argocd app get # verify health +``` + +### Deploy to Prod + +```bash +ssh daan@192.168.200.1 +argocd context prod +argocd app diff # preview changes first! +argocd app sync +argocd app get # verify health +``` + +### Check App Health Across Environments + +```bash +ssh daan@192.168.200.1 + +# Dev +argocd context dev +argocd app get | head -20 + +# Prod +argocd context prod +argocd app get | head -20 +``` + +### Emergency Rollback + +```bash +ssh daan@192.168.200.1 +argocd context prod +argocd app history # find good revision +argocd app rollback +``` + +## Managed Repositories + +ArgoCD syncs from these Git repositories: + +- `https://github.com/team-telnyx/deploy-infra-bare-metal-main` +- `https://github.com/team-telnyx/infra-svc-k8s-addons/` + +## Troubleshooting + +### App Stuck in "Progressing" + +```bash +# Check events and pod status +argocd app get --show-operation +``` + +### Sync Failed + +```bash +# Get detailed sync result +argocd app get + +# Check for resource conflicts +argocd app diff +``` + +### Session Expired + +```bash +# Re-authenticate via SSO +argocd login argo-cd.query.dev.telnyx.io:8080 --sso +``` + +## Tips + +- **Always check `diff` before syncing to prod** - know what you're deploying +- **Use `--prune` carefully** - it removes resources not in git +- **Check history before rollback** - find the right revision ID +- **Health ≠ Synced** - an app can be synced but unhealthy (pods crashing)