-
Notifications
You must be signed in to change notification settings - Fork 5.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Parameter overrides not honored in multi-source helm/git setup #14296
Comments
You using source instead of sources? Also I do not see second repo with values |
@keramblock Good eye. I inadvertently chopped off some import pieces of that yaml, which may point to the underlying issue. After deploying the multi-source app, this is the manifest rendered in the UI appears like this: project: default
destination:
server: 'https://kubernetes.default.svc'
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
sources:
- repoURL: registry-1.docker.io/bitnamicharts
targetRevision: 15.0.2
helm:
valueFiles:
- $values/path/to/my/values.yaml
chart: nginx
- repoURL: 'https://git.example.com/my/project.git'
targetRevision: poc
ref: values Through the command line, a parameter is added to the app: argocd app set argocd/my-app -p replicaCount=3 The resulting manifest in the UI: project: default
source:
repoURL: registry-1.docker.io/bitnamicharts
targetRevision: 15.0.2
helm:
valueFiles:
- $values/path/to/my/values.yaml
parameters:
- name: replicaCount
value: '3'
chart: nginx
destination:
server: 'https://kubernetes.default.svc'
namespace: default
syncPolicy:
automated:
prune: true
selfHeal: true
retry:
limit: 5
backoff:
duration: 5s
factor: 2
maxDuration: 3m
sources:
- repoURL: registry-1.docker.io/bitnamicharts
targetRevision: 15.0.2
helm:
valueFiles:
- $values/path/to/my/values.yaml
chart: nginx
- repoURL: 'https://git.example.com/my/project.git'
targetRevision: poc
ref: values The result of adding a parameter to the application via the command line |
Looks like the CLI never persisted the parameter to the Application resource. In general, the UI/CLI support of multi-source apps is incomplete. In this case, I would have expected the CLI to throw an error saying that it could not set the parameter on a multi-source app. I think this is a CLI bug, and the lack of full CLI support is a secondary issue. As a workaround, you can manually edit the Application resource to add the desired override. |
@crenshaw-dev Thanks for looking.
I figured as much given the |
@crenshaw-dev We're using the app of apps concept und we've tried the workaround today, but the overrides are disappearing after syncing the parent app. As you can hopefully see in the gif. What are we doing wrong? 😁 Version
|
@crenshaw-dev Hey Michael, might this be fixed with the upcoming 2.9? 😁 The workaround definitely does not work 😕 |
I think #14743 might solve this. |
@naimo84 since you're using an app-of-apps, you need to modify the parameter in the parent app's deployed manifests so that they're not overridden when you sync. Basically, go full-gitops instead of doing overrides via the UI/CLI. |
Thanks a lot for your answer 👍 But we also have a Dev and internal Test cluster. In order to not commit every single change, like an app get's many times an update per day with a ...-SNAPSHOT-... version, we're using the 'argocd app set ...' to set the "image.tag" of the child apps since the first day of our argocd journey. This is also working perfectly until we're using multisources. We (@RalphFeichtner an me) will try to change your dev cicd pipeline to change the parent app's manifest. But that might not be easy 😉 |
PR #17425 added support to |
Checklist:
argocd version
.Describe the bug
Parameter overrides do not appear to work when using multi-source setup with a Helm repo as one source and a git repo as the second source for value files.
I know multi-source is beta so this may just be a corner case not covered yet?
In the UI, the
Application
manifest contains the parameter override. Snippet:To Reproduce
Application
with two sources:replicaCount=1
.values.yaml
containingreplicaCount=2
.argocd app set <project> -p replicaCount=3
Application
manifest contains parameter override forhelm
.Expected behavior
Expected: The deployed app has 3 replicas.
Actual: The deployed app has 2 replicas.
Version
Logs
The only relevant thing I could find was in the repo-server, which seems to indicate the HelmParameter is not honored.
The text was updated successfully, but these errors were encountered: