When to use
Use when Argo CD shows an application as OutOfSync and you need to understand the drift.
Preconditions
- You can access Argo CD (CLI or UI) and the target cluster.
Procedure
- Confirm what resources are OutOfSync and whether the app is Healthy.
- Determine whether drift is expected (manual hotfix) or unexpected (controller mutation).
- Inspect diffs and identify the owning source (Helm/Kustomize/raw manifests).
- If drift is expected, capture it and move the change back to Git.
- If drift is unexpected, find the mutating actor (admission, controller, policy).
Decision points
- Healthy + OutOfSync: often benign drift; decide whether to reconcile.
- Degraded + OutOfSync: treat as incident; fix health first.
- Frequent drift: consider ignoreDifferences / diffing settings.
Verification
- App becomes
Syncedand remains stable across refreshes. - Workload health is
Healthyand key SLO signals stabilize.
Rollback / undo
- Roll back Git changes or chart version to last known good.
- If reconciliation caused breakage, revert the change and resync.
Escalation
- Platform team if mutation is due to cluster policy/admission.
- Service owner if the desired state in Git is incorrect.
Examples
argocd app get <app>
argocd app diff <app>