Argocd gitops
Skill agenticdevops/devops-execution-engine/skills/argocd-gitops
DevOps Execution Engine for Clawd Bot
npx -y skills add agenticdevops/devops-execution-engine --skill argocd-gitopsAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
- 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
GitOps workflows with ArgoCD for Kubernetes deployments
SKILL.md
6.6 KB, as published. Nobody here has run it
ArgoCD GitOps
GitOps workflows for Kubernetes deployments using ArgoCD.
When to Use This Skill
Use this skill when:
- Deploying applications via GitOps
- Managing ArgoCD applications
- Syncing or rolling back deployments
- Troubleshooting sync issues
ArgoCD CLI Setup
Login
# Login to ArgoCD server
argocd login argocd.example.com
# With SSO
argocd login argocd.example.com --sso
# Skip TLS verification (dev only)
argocd login argocd.example.com --insecure
# Check current context
argocd context
Application Management
List Applications
# All applications
argocd app list
# With output format
argocd app list -o wide
argocd app list -o json
# Filter by project
argocd app list -p myproject
# Filter by label
argocd app list -l team=backend
View Application
# Application details
argocd app get myapp
# Manifests
argocd app manifests myapp
# Diff against live
argocd app diff myapp
# History
argocd app history myapp
Application Health
# Check status
argocd app get myapp -o json | jq '.status.health.status'
# Resources status
argocd app resources myapp
# Events
argocd app logs myapp
Sync Operations
Sync Application
# Sync (apply Git state to cluster)
argocd app sync myapp
# Sync with prune (remove deleted resources)
argocd app sync myapp --prune
# Sync specific resources
argocd app sync myapp --resource :Deployment:myapp
# Dry run
argocd app sync myapp --dry-run
# Force sync (bypass hooks)
argocd app sync myapp --force
# Wait for sync completion
argocd app wait myapp
Sync Options
# Skip schema validation
argocd app sync myapp --validate=false
# Apply out-of-sync only
argocd app sync myapp --apply-out-of-sync-only
# Sync with timeout
argocd app sync myapp --timeout 300
Auto-Sync
# Enable auto-sync
argocd app set myapp --sync-policy automated
# With prune
argocd app set myapp --sync-policy automated --auto-prune
# Self-heal (revert manual changes)
argocd app set myapp --self-heal
# Disable auto-sync
argocd app set myapp --sync-policy none
Rollback
Rollback to Previous
# View history
argocd app history myapp
# Rollback to specific revision
argocd app rollback myapp <history-id>
# Rollback to previous Git commit
argocd app rollback myapp --revision HEAD~1
Rollback Strategies
# 1. Rollback ArgoCD history
argocd app history myapp
argocd app rollback myapp 5
# 2. Revert Git commit and sync
git revert HEAD
git push
argocd app sync myapp
# 3. Manual override then rollback
argocd app set myapp --revision <old-commit>
argocd app sync myapp
Multi-Environment Promotion
Typical Flow
# 1. Deploy to dev (auto-sync)
git commit -m "feat: new feature"
git push origin main
# ArgoCD auto-syncs dev
# 2. Promote to staging
argocd app set myapp-staging --revision $(argocd app get myapp-dev -o json | jq -r '.status.sync.revision')
argocd app sync myapp-staging
# 3. Promote to production (manual)
argocd app set myapp-prod --revision <staging-revision>
argocd app sync myapp-prod
Environment-Specific Overrides
# Set Helm values per environment
argocd app set myapp-prod --values-literal-file values-prod.yaml
# Set Kustomize overlay
argocd app set myapp-staging --kustomize-image nginx=nginx:1.25
Create Applications
From Git Repository
argocd app create myapp \
--repo https://github.com/org/repo.git \
--path k8s/overlays/production \
--dest-server https://kubernetes.default.svc \
--dest-namespace production \
--project default
# With Helm
argocd app create myapp \
--repo https://github.com/org/repo.git \
--path charts/myapp \
--dest-server https://kubernetes.default.svc \
--dest-namespace production \
--helm-set image.tag=v1.2.3
From Helm Repository
argocd app create myapp \
--repo https://charts.example.com \
--helm-chart myapp \
--revision 1.2.3 \
--dest-server https://kubernetes.default.svc \
--dest-namespace production
Troubleshooting
Sync Failures
# Check sync status
argocd app get myapp
# View sync errors
argocd app get myapp -o json | jq '.status.conditions'
# Check resource status
argocd app resources myapp
# View logs
argocd app logs myapp
Common Issues
| Issue | Cause | Fix |
|---|---|---|
| OutOfSync | Drift from Git | argocd app sync myapp |
| SyncFailed | Invalid manifests | Check argocd app get myapp |
| Degraded | Pods unhealthy | Check pod logs |
| Unknown | Can't reach cluster | Check network/auth |
Force Refresh
# Refresh from Git
argocd app get myapp --refresh
# Hard refresh (invalidate cache)
argocd app get myapp --hard-refresh
Stuck Sync
# Terminate current sync
argocd app terminate-op myapp
# Force sync
argocd app sync myapp --force
Project Management
# List projects
argocd proj list
# Create project
argocd proj create myproject \
--src https://github.com/org/* \
--dest https://kubernetes.default.svc,production
# View project
argocd proj get myproject
Clusters
# List clusters
argocd cluster list
# Add cluster
argocd cluster add my-context
# Remove cluster
argocd cluster rm https://cluster.example.com
Notifications (Status Checks)
# Get app health for CI/CD
argocd app wait myapp --health --timeout 300
# Exit code for scripting
argocd app get myapp -o json | jq -e '.status.health.status == "Healthy"'
Quick Reference
# Deploy new version
argocd app set myapp --revision <commit-sha>
argocd app sync myapp --prune
# Check if healthy
argocd app wait myapp --health
# Quick rollback
argocd app history myapp
argocd app rollback myapp <id>
# Force refresh from Git
argocd app get myapp --hard-refresh
argocd app sync myapp
GitOps Best Practices
- Never modify cluster directly - All changes through Git
- Use ApplicationSets - For multi-cluster/environment
- Enable auto-prune - Keep cluster clean
- Use sync waves - For ordered deployments
- Separate config repos - App code vs deployment config
- Review before production - Manual sync gates
Related Skills
- k8s-deploy: For direct Kubernetes deployments
- git-workflow: For managing GitOps repos
- incident-response: For deployment-related incidents