Daily ArgoCD Operations
These steps can affect shared dev workloads or the GitOps control layer. Confirm the target repo, environment, and intended owner before mutating anything.
ArgoCD manages all Kubernetes resources in the Crawbl cluster via the crawbl-argocd-apps Git repository. This guide covers the operations you will use daily.
Access the Dashboard
Port-forward the ArgoCD server to your local machine:
kubectl port-forward svc/argocd-server -n argocd 8080:443
Open https://localhost:8080 in your browser. Accept the self-signed certificate warning.
Credentials:
- Username:
admin - Password: Retrieve with:
kubectl -n argocd get secret argocd-initial-admin-secret \
-o jsonpath="{.data.password}" | base64 -d
The dashboard provides a visual overview of all applications, their sync status, health, and resource tree.
Check Sync Status
All Applications
kubectl get applications -n argocd -o wide
This shows every managed application with its sync and health status in one view.
Single Application
kubectl get application orchestrator -n argocd \
-o jsonpath='{.status.sync.status} {.status.health.status}'
Detailed View
kubectl describe application orchestrator -n argocd
This shows the full sync history, conditions, and resource health breakdown.
Sync Status Meanings
| Status | Meaning | Action |
|---|---|---|
Synced | Cluster matches Git | None — everything is current |
OutOfSync | Git has unapplied changes | Wait — auto-syncs within 3 minutes |
Unknown | ArgoCD lost track of the app | Hard-refresh (see below) |
Health Status Meanings
| Status | Meaning | Action |
|---|---|---|
Healthy | All resources running and ready | None |
Progressing | Creating or updating resources | Wait for rollout to complete |
Degraded | Something is wrong | Check pod logs and events |
Missing | Expected resources do not exist | Check if the Application CR exists |
Force a Sync
ArgoCD auto-syncs every 3 minutes. To sync immediately:
kubectl patch application orchestrator -n argocd --type merge \
-p '{"metadata":{"annotations":{"argocd.argoproj.io/refresh":"hard"}}}'
Or from the dashboard: click the application, then click Sync.
View Application Resources
List all Kubernetes resources managed by an application:
kubectl get application orchestrator -n argocd \
-o jsonpath='{range .status.resources[*]}{.kind}/{.name} {.status}{"\n"}{end}'
Common Daily Tasks
| Task | Command |
|---|---|
| See all app statuses | kubectl get applications -n argocd -o wide |
| Check one app | kubectl get application <name> -n argocd -o jsonpath='{.status.sync.status} {.status.health.status}' |
| Force sync | Patch with argocd.argoproj.io/refresh: hard annotation |
| View app details | kubectl describe application <name> -n argocd |
| Open dashboard | kubectl port-forward svc/argocd-server -n argocd 8080:443 |
| Get admin password | kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.password}" | base64 -d |
What's next: Add a New Application