Back to results for “Sync & Health”
ArgoCD › Sync & Health

What causes an Application to be perpetually OutOfSync and how do you fix it?

Intermediate

Answer

Perpetual OutOfSync usually means a field differs every reconcile: mutating webhooks or controllers add/change fields, defaults are injected, or ordering/normalization differs. Fixes include ignoreDifferences for controller-managed fields, correct resource normalization, ServerSideApply, or aligning the manifest with what the API server returns.
spec:
  ignoreDifferences:
    - group: ""
      kind: Service
      jqPathExpressions:
        - .spec.clusterIP
Real-world example A Service showing constant drift is fixed by ignoring the auto-assigned clusterIP field the API server injects.

Common follow-ups: What commonly injects drift-causing fields? | How does ignoreDifferences help?