Argo CD stuck "Progressing" waiting for healthy state in CI
A resource is Progressing while its rollout is in flight. If it never leaves Progressing, the new replicas are not becoming Ready, so argocd app wait --health keeps waiting until it times out.
What this error means
Health Status stays Progressing indefinitely; CI logs show "waiting for healthy state of apps/Deployment/api" and the wait eventually times out without reaching Healthy.
INFO[0000] waiting for healthy state of apps/Deployment/api
Deployment "api" is progressing: waiting for rollout to finish:
1 of 3 updated replicas are available...Common causes
New pods never pass readiness
A failing readiness probe, a bad config value, or a missing dependency keeps the new replicas from becoming Ready, so the rollout never completes.
Insufficient capacity for the surge
The rolling update needs headroom for new pods; if the cluster cannot schedule them, the rollout stalls in Progressing.
How to fix it
Find why new pods are not Ready
- Describe the rollout to see how many replicas are available versus desired.
- Check the new pods for readiness-probe failures or Pending status.
- Fix the probe, config, or capacity issue, then re-sync.
kubectl -n prod rollout status deployment/api
kubectl -n prod describe pod -l app=apiBound the wait so CI fails fast
Set a timeout on the wait so a stalled rollout fails the job instead of hanging the pipeline.
- run: argocd app wait my-app --health --timeout 420How to prevent it
- Tune readiness probes so healthy pods report Ready promptly.
- Ensure the cluster has headroom for rolling-update surge pods.
- Always pass
--timeouttoargocd app waitin CI.