Skip to content
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 archive without root directory fails to install #13042

Open
3 tasks done
ifalex opened this issue Mar 29, 2023 · 4 comments
Open
3 tasks done

Helm archive without root directory fails to install #13042

ifalex opened this issue Mar 29, 2023 · 4 comments
Labels
bug Something isn't working

Comments

@ifalex
Copy link

ifalex commented Mar 29, 2023

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

While trying to install a helm package without root directory argo gives following error:

rpc error: code = Unknown desc = failed to walk for symlinks in /tmp/7bf5bbf0-889f-4cf7-9f0e-5bd384de4f36/my-app lstat /tmp/7bf5bbf0-889f-4cf7-9f0e-5bd384de4f36/my-app: no such file or directory

When unarchiving the package there is no root dir my-app:
.
├── CHANGELOG.md
├── Chart.yaml
├── README.md
├── charts
│ ├──chart-1.0.0.tgz
├── secrets.yaml
├── templates
│ ├── configmap.yaml
│ └── secret.yaml
├── values.yaml

While a normal helm package would look like this:
my-app
├── CHANGELOG.md
├── Chart.yaml
├── README.md
├── charts
├── secrets.yaml
├── templates
│ ├── configmap.yaml
│ └── secret.yaml
└── values.yaml

  • With the root directory set like the name of the app, helm does not complain with the not working model.
  • Basically any helm chart with dependencies updated not packaged but simply archived.
  • As long as helm is able to install this application without issues, as long argo is using helm in behind same behavior should be expected

Version

2.6.2
@ifalex ifalex added the bug Something isn't working label Mar 29, 2023
@lsoica
Copy link
Contributor

lsoica commented Apr 10, 2023

I also ran into this problem. It looks like although helm package does place a base directory as the root of a package, helm install/template is able to process charts packaged without the base directory; charts that were not package with helm package but directly with tar for example.

Also, I'm not able to find any Helm requirements around package structure and base directory.

@KeynesLee
Copy link

May I know, is this issue existed only on v2.6.2 or AFTER v2.6.2 ?
Is there any workaround ?

@ccdgrundhoefer
Copy link

We ran into this issue while trying to install the Red Hat Developer Hub Helm chart via ArgoCD 2.9.5, so it's still current.
We tried to work around it by using kustomize, but ran into the same problem.

Maybe it can be solved by adding an option to specify an untar directory.

@raghukumarc
Copy link

raghukumarc commented May 24, 2024

Faced the same error in a scenario where the vendor Helm chart had a suffix before the semVer in the tgz file name like this - <chart-name>-suffix-semVer.tgz. Upon extracting, the package looked exactly as expected with the base directory same as the chart name. However the archive name differed from the chart name.
Argo CD error message said - no such file or directory error. This can be fixed by allowing to mention the untar directory as well as the complete OCI path oci://... instead of constructing it.
Or a better error message; which says that the tar archive name and the chart name are different instead of saying no such file or directory.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

5 participants