Open jrcast opened 6 months ago
We are seeing the same issue on both 2.10.6 and 2.11.0 except we have server-side-diff disabled (using server-side-apply though). Desired manifest shows volumes/mounts to be removed, live manifest has the volumes/mounts but argo shows no diff and applies no change.
What @zswanson wrote was unrelated to argocd (kubectl diff also showed an empty diff due to strategic merging) and likely an issue with a third party client previously not handling field manager correctly. Still a bit weird to me that Argo didn't detect that the application was out of sync even with the field manager was broken.
Checklist:
argocd version
.Describe the bug
Drift in maps part of resources monitored by ArgoCD applications is not detected when server-side diff is enabled (
controller.diff.server.side: true
inargocd-cmd-params-cm
), This is happening with multiple resource types. So far, I have reproduced this using (k8s services, workflowtemplates.argoproj.io, CRDs)To Reproduce
kubectl
, edit a K8s service that is monitored by an ArgoCD application. i.e. Add an extra port to the list.Desired manifests:
Live Manifest: (Note the extra port. This was added manually)
The same can be observed in other resource types.
Expected behavior ArgoCD detects the drift, marks the application "Out Of Sync", and (if Self-Heal is enabled) fixes the drift.
Screenshots Live Manifests
Desired Manifest
Diff
Version
Logs Nothing out of the ordinary here.