-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
There is no way to keep track of changes to valuesObject in the UI in a reliable way. Every time it's set to something in the UI, I would like to be able to see the diff against the desired manifest, and sync should update it as the diff shows.
To Reproduce
Desired manifest delivered through git:
spec:
destination:
namespace: monitoring-testing
server: https://kubernetes.default.svc
project: default
sources:
- chart: alloy
helm:
skipCrds: true
valueFiles:
- values.yaml
- $gitops/apps/overlays/global-testing/alloy-testing/values.yaml
path: helm/alloy
repoURL: <redacted>
targetRevision: ~1.0.0
- ref: gitops
repoURL: <redacted>
targetRevision: HEAD
Live manifest:
spec:
destination:
namespace: monitoring-testing
server: https://kubernetes.default.svc
project: default
sources:
- chart: alloy
helm:
skipCrds: true
valueFiles:
- values.yaml
- $gitops/apps/overlays/global-testing/alloy-testing/values.yaml
valuesObject:
alloy-metrics:
liveDebugging: true
path: helm/alloy
repoURL: <redacted>
targetRevision: ~1.0.0
- ref: gitops
repoURL: <redacted>
targetRevision: HEAD
diff is empty. If I edit the live manifest, update targetRevision to ~1.0.1 for example, then the valuesObject diff also shows up.
Then I add `valuesObject: {}' to the desired spec, it first notices the diff:

But then I sync, and then revert the live manifest to the original one, and no diffs are shown any more. Again, if I change another field in the source item (targetRevision), a diff to valuesObject is again shown.
I tried this both without and with server side diff.
In comparison if I do kubectl diff with the desired manifest, both without and with server side diff I get the following:
@@ -36,9 +37,7 @@
valueFiles:
- values.yaml
- $gitops/apps/overlays/global-testing/alloy-testing/values.yaml
- valuesObject:
- alloy-metrics:
- liveDebugging: true
+ valuesObject: {}
path: helm/alloy
Expected behavior
I would expect a way to configure the desired manifest so that every time the live manifest has a valuesObject override, it should show a diff in the UI.
Screenshots
Version
argocd: v3.0.12+ed1e239
BuildDate: 2025-07-25T19:36:41Z
GitCommit: ed1e2397ef9af6d23b284e39d504308cdda1957b
GitTreeState: clean
GoVersion: go1.24.4
Compiler: gc
Platform: linux/amd64
Logs
Paste any relevant application logs here.