-
Notifications
You must be signed in to change notification settings - Fork 6.4k
Open
Labels
bugSomething isn't workingSomething isn't workingtriage/pendingThis issue needs further triage to be correctly classifiedThis issue needs further triage to be correctly classified
Description
Checklist:
- I've searched in the docs and FAQ for my answer: https://bit.ly/argocd-faq.
- I've included steps to reproduce the bug.
- I've pasted the output of
argocd version
.
Describe the bug
When reducing a manifest (e.g., removing a key in a ConfigMap or Secret, or removing a container from a Deployment), ArgoCD does not detect any difference between Git and the cluster.
The application stays Synced
, no diff is shown, and no update is applied to Kubernetes.
Even worse, the removed part remains in the live object.
To Reproduce
-
Create a ConfigMap and sync it with ArgoCD:
apiVersion: v1 kind: ConfigMap metadata: name: test-configmap-001 data: test-1.json: |- { "description": "Test ConfigMap to diagnose Argo sync issues" } test-2.json: |- { "description": "Test ConfigMap to diagnose Argo sync issues" }
-
Commit and push → ArgoCD creates the ConfigMap correctly
-
Modify the manifest by removing one key
apiVersion: v1 kind: ConfigMap metadata: name: test-configmap-001 data: test-1.json: |- { "description": "Test ConfigMap to diagnose Argo sync issues" }
-
Commit and push again
-
Observe in ArgoCD
- The application remains
Synced
- No diff is shown in the UI
- The cluster-side ConfigMap still contains the deleted key (
test-2.json
)
- The application remains
-
Similar behavior occurs with:
- Secrets (removing data keys)
- Deployments (removing containers from
spec.template.spec.containers
)
Expected behavior
- ArgoCD should detect that the manifest in Git is smaller (a key or container was removed) or is changed.
- The application should become
OutOfSync
. - A sync or auto-prune should delete the missing fields or containers in the live object.
Screenshots
- LIVE MANIFEST

- DIFF

- DESIRED

Version
❯ argocd version
argocd: v3.1.8+becb020
BuildDate: 2025-09-30T16:04:21Z
GitCommit: becb020064fe9be5381bf6e5818ff8587ca8f377
GitTreeState: clean
GoVersion: go1.24.6
Compiler: gc
Platform: linux/amd64
argocd-server: v3.1.8+becb020
BuildDate: 2025-09-30T16:04:21Z
GitCommit: becb020064fe9be5381bf6e5818ff8587ca8f377
GitTreeState: clean
GoVersion: go1.24.6
Compiler: gc
Platform: linux/amd64
Kustomize Version: could not get kustomize version: exec: "kustomize": executable file not found in $PATH
Helm Version: v3.17.3+ge4da497
Kubectl Version: v0.33.1
Jsonnet Version: v0.21.0
Version of ArgoCD server : v3.1.0
(but we have the same behavior with version 2.14.9
)
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't workingtriage/pendingThis issue needs further triage to be correctly classifiedThis issue needs further triage to be correctly classified