argo-cd: `argocd app sync/diff --local` doesn't account for sidecar CMPs
Describe the bug
argocd app diff <appname> --local .
fails when <appname>
is handled by a sidecar CMP. Specifically, it fails with this error:
FATA[0000] config management plugin with name '' is not supported
argocd app sync <appname> --local .
fails with the same error.
To Reproduce
- Install a sidecar CMP. The one from the docs works fine.
- Add an app which uses that CMP.
- Run
argocd app diff <appname> --local .
from the directory in the git clone where the app is defined.
Expected behavior
I would expect a diff to be generated. Since the example CMP always produces the same manifest, I’d expect the diff to be empty.
Version
argocd: v2.1.6+a346cf9.dirty
BuildDate: 2021-11-01T02:05:06Z
GitCommit: a346cf933e10d872eae26bff8e58c5e7ac40db25
GitTreeState: dirty
GoVersion: go1.17.2
Compiler: gc
Platform: darwin/amd64
argocd-server: v2.1.6+a346cf9.dirty
BuildDate: 2021-11-01T02:05:06Z
GitCommit: a346cf933e10d872eae26bff8e58c5e7ac40db25
GitTreeState: dirty
GoVersion: go1.17.2
Compiler: gc
Platform: darwin/amd64
Ksonnet Version: v0.13.1
Kustomize Version: v4.4.0 2021-09-27T16:13:36Z
Helm Version: v3.7.1+g1d11fcb
Kubectl Version: v0.21.0
Jsonnet Version: v0.17.0
About this issue
- Original URL
- State: open
- Created 2 years ago
- Reactions: 1
- Comments: 18 (1 by maintainers)
Commits related to this issue
- feat: server-side manifest generation for diff (#8145) Signed-off-by: notfromstatefarm <86763948+notfromstatefarm@users.noreply.github.com> — committed to notfromstatefarm/argo-cd by notfromstatefarm 2 years ago
- feat: server-side manifest generation for local diff (#8145) (#10019) * feat: server-side manifest generation for diff (#8145) Signed-off-by: notfromstatefarm <86763948+notfromstatefarm@users.nore... — committed to argoproj/argo-cd by notfromstatefarm 2 years ago
i tried
--refresh
to the cli command--local-include helmfile.yaml
same result. the command also fails against a different appargocd log logs
is there an example of the directory context and files to include when using
--server-side-generate
?Hi!
I also got into the error of checksums not matching today when trying to figure out the diff from local path. I see that the issue referenced in this PR was removed from the v2.6 milestone but the warning about not using
--server-side-generate
is still present and it clearly says that it will become the default in 2.6.Does it mean that this issue will be addressed before v2.6 is released? Since otherwise once v2.6 would be released
argocd app diff --local
would be broken.I hit the same issue in a scenario where we are using
--port-forward
and--plaintext
on theargocd
CLI - with the same exact checksum for the empty array of bytes.For now, we’ll skirt around this issue in our use case (which is to show the diffs on pull requests pre-merge) by using the
--revision
flag, but it’d be nice to be able to run it locally, obviously.@cha7ri I’m on k3d/k3s, so it’s a Traefik-based ingress controller. It seem that the Ingresses provided by the Helm chart have been incomplete, so I’ve bit the bullet and implemented Traefik Ingress as described in the docs.
we tried the same exercise using
kubectl port-forward
to bypass nginx ingress, and the results were still the sameYep,
e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
is the same “calculated” checksum as what @joshuasimon-taulia was getting - zero bytes.Wouldn’t hurt, but I don’t think there will be much more info. I think the issue is pretty low-level.
Quite possibly. I doubt that the server is receiving the bytes and then just ignoring them. I bet they’re not making it over the network.
Following the original motivation, what do you think of
app manifests
also accepting--server-side-generate
?