🎉 DevOps Interview Prep Bundle is live — 1000+ Q&A across 20 topicsGet it →
All Fixes
Today I Fixed

ArgoCD app stuck in Progressing state for 10 minutes — never synced

ArgoCDJun 4, 202640 minutes to fixargocdkubernetesgitops

The problem: ArgoCD showed the app as Progressing forever. No error, no sync failure — just spinning. The pods were actually running fine on the cluster.

The fix:

bash
# Check what ArgoCD thinks is happening
kubectl describe application my-app -n argocd | grep -A20 "Health Status"
 
# The issue: a Deployment had a custom health check annotation that ArgoCD
# couldn't evaluate — it kept waiting for "healthy" status that never came.
 
# Fix: add ignoreDifferences or force a health override in ArgoCD app:
kubectl patch application my-app -n argocd --type merge -p '
{
  "spec": {
    "ignoreDifferences": [
      {
        "group": "apps",
        "kind": "Deployment",
        "jsonPointers": ["/status"]
      }
    ]
  }
}'
 
# Or force a hard refresh to reset the stuck state:
argocd app get my-app --hard-refresh

Why it happens: ArgoCD evaluates resource health using Lua scripts. If a resource has a status field ArgoCD doesn't recognize (custom operators, some CRDs), it stays in Progressing instead of marking Healthy. Hard refresh clears the cached state and re-evaluates.