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
helm --set-file does not work #3365
Comments
Hi @davidkarlsen, the error message stems from the server, not from the client. I think the file specified must exist at given path in the container of |
Hi @jannfis , I'm also having trouble with this. An example of what in trying to do is here https://github.com/jon-walton/linkerd2-gitops-example/blob/master/apps/linkerd.yaml#L23 If I use My expectation is for argocd to be able to use |
Tried with both
Also tried with creating app declaratively and app is created with right value set.
|
@jon-walton . your application references chart using Helm repo URL, not Git repository. In this case, Argo CD downloads chart content only so other files are not available. In order to use chart and file in git repo I would suggest to use git URL. You can untar linkerd2-2.7.1.tgz into the folder in the git repo and create Argo CD app using Git repo URL. File parameter path should be relative to the chart folder. E.g. |
Hi @alexmt That's unfortunate and in my mind, a little counter-intuitive. Fetching and untarring the charts is currently what we're doing (not shown in the example repo) but I would prefer not to continue maintaining a copy of the charts. We currently have a single repository that contains an argocd folder for each cluster. Those folders contain the ArgoCD I'll use the linkerd chart as an example... Due to having multiple clusters, we're having to maintain multiple copies of the linkerd chart and each cluster references the folder containing the desired version of the chart (a chart version is tied to a released version of linkerd, we can't just set the linkerd version in the values.yaml file). Having multiple versions of the charts is also beneficial for other deployed resources (let's say nginx-ingress). We wouldn't want to roll out the new chart to all clusters a the same time. The reason for maintaining multiple copies of the chart, rather then setting the We could set My hope was to start moving away from fetching and untarring charts, over to using helm urls and be able to reference files in the repo where the In my mind, it makes sense to be able to do that because if I understand correctly, ArgoCD already cloned the git repo containing the |
I suggest considering using the umbrella chart approach: https://github.com/argoproj/argocd-example-apps/tree/master/helm-dependency . The idea is to keep real charts in helm repository and keep only value files and requirements.yaml in Git. The requirements.yaml references required chart versions. This way you don't have to untar charts and can use values stored in git as parameters. |
Looks like issue can be closed since we found the reason why Argo CD could not find the file. |
@alexmt having to create "wrapper" umbrella-charts adds cruft. What do you think about the solution like @jon-walton describes - i.e. keeping the chart in the chart-repo, referring to it by repo, chart name and version, while keeping value-files in the argo git-repo - passing an array of them to argo? That would be clean-cut and more natural to users (looks like a normal helm workflow). |
getting same issue & we found a typo as following: fileParameters:
- name:
- path Where it should be fileParameters:
- name:
path: Yaml typo |
If you are trying to resolve an environment-specific issue or have a one-off question about the edge case that does not require a feature then please consider asking a
question in argocd slack channel.
Checklist:
argocd version
.Describe the bug
According to #2752 it should be possible to do --set-file paramname=filename
To Reproduce
docker run --rm -v $(pwd):/workspace:ro -w /workspace fsnexus.evry.com:8085/argoproj/argocd:v1.5.0 argocd --server argocd.global.finods.com --grpc-web --auth-token ${TOKEN} app set eos-jfr-srv-d2 --helm-set image.tag=10.2.1-SNAPSHOT-2b8b344b --helm-set-file configmap.application-envconfig\.yaml=/workspace/argocd/application-g-d1.yml --loglevel=debug
the file is there:
Expected behavior
It should work.
Screenshots
See logs
Version
Logs
The text was updated successfully, but these errors were encountered: