DevOps / ArgoCD interview questions
What are the different application sync statuses in ArgoCD?
ArgoCD reports two orthogonal status dimensions for every application: Sync Status and Health Status. Understanding both is essential for diagnosing application state.
Sync Status
| Status | Meaning |
|---|---|
| Synced | Live cluster state matches the desired state in Git exactly. |
| OutOfSync | One or more resources differ between Git and the cluster. Could be a new commit in Git not yet applied, or manual changes to the cluster (drift). |
| Unknown | ArgoCD cannot determine sync status, typically due to cluster connectivity issues or RBAC permissions preventing resource reads. |
Health Status
| Status | Meaning |
|---|---|
| Healthy | All resources pass their health checks (Deployments at desired replicas, Services with endpoints, etc.). |
| Progressing | Resources are being updated and not yet stable (e.g., a Deployment rollout in progress). |
| Degraded | Resources have failed health checks (e.g., a pod in CrashLoopBackOff, or a Deployment with 0 available replicas). |
| Suspended | The resource is intentionally paused (e.g., a suspended CronJob). |
| Missing | The resource is defined in Git but does not exist in the cluster at all. |
| Unknown | ArgoCD does not have a health check rule for this resource type. |
An application can be Synced but Degraded — meaning the Git state was applied correctly but the workload is unhealthy. These two axes must be evaluated independently.
More Related questions...