- 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
3.5 KiB
3.5 KiB
| name | description | metadata | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| argocd | Manage Kubernetes deployments via ArgoCD. Sync applications, check health, view history, and rollback deployments across dev and prod environments. |
|
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:
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:
# 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
# List all apps in current context
argocd app list
# Filter by project or name
argocd app list | grep <pattern>
Check Application Status
# Get detailed app info (status, health, sync state)
argocd app get <app-name>
# Check health only
argocd app health <app-name>
Deploy (Sync)
# Sync an application (deploy latest)
argocd app sync <app-name>
# Sync with prune (remove resources not in git)
argocd app sync <app-name> --prune
# Sync specific resources only
argocd app sync <app-name> --resource <group>:<kind>:<name>
Preview Changes
# Show diff between live and desired state
argocd app diff <app-name>
History & Rollback
# View deployment history
argocd app history <app-name>
# Rollback to a previous revision
argocd app rollback <app-name> <history-id>
Common Workflows
Deploy to Dev
ssh daan@192.168.200.1
argocd context dev
argocd app sync <app-name>
argocd app get <app-name> # verify health
Deploy to Prod
ssh daan@192.168.200.1
argocd context prod
argocd app diff <app-name> # preview changes first!
argocd app sync <app-name>
argocd app get <app-name> # verify health
Check App Health Across Environments
ssh daan@192.168.200.1
# Dev
argocd context dev
argocd app get <app-name> | head -20
# Prod
argocd context prod
argocd app get <app-name> | head -20
Emergency Rollback
ssh daan@192.168.200.1
argocd context prod
argocd app history <app-name> # find good revision
argocd app rollback <app-name> <revision-id>
Managed Repositories
ArgoCD syncs from these Git repositories:
https://github.com/team-telnyx/deploy-infra-bare-metal-mainhttps://github.com/team-telnyx/infra-svc-k8s-addons/
Troubleshooting
App Stuck in "Progressing"
# Check events and pod status
argocd app get <app-name> --show-operation
Sync Failed
# Get detailed sync result
argocd app get <app-name>
# Check for resource conflicts
argocd app diff <app-name>
Session Expired
# Re-authenticate via SSO
argocd login argo-cd.query.dev.telnyx.io:8080 --sso
Tips
- Always check
diffbefore syncing to prod - know what you're deploying - Use
--prunecarefully - 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)