helm: helm dep list shows incorrect status for local dependencies

I have a repo structure as follows:

├── consul
│   ├── Chart.yaml
│   ├── charts
│   └── values.yaml
├── vault
│   ├── Chart.yaml
│   ├── charts
│   ├── requirements.yaml
│   └── values.yaml

My requirements.yaml looks like this:

dependencies:
  - name: consul
    version: 0.1.0
    repository: "file://consul"

When I run the helm dep list command, it shows status ‘missing’ for local dependencies:

helm dep list vault                                                
NAME  	VERSION	REPOSITORY      	STATUS 
consul	0.1.0  	file://../consul	missing

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 2
  • Comments: 16 (6 by maintainers)

Most upvoted comments

whateva, I’ll do what I want!

Is there any workaround for this issue? I tried doing something like symlinking ../ to the charts directory, but helm doesn’t seem to like this (CPU spins and it starts gobbling memory).

 

This behavior is also highly surprising considering it’s documented as working (https://docs.helm.sh/helm/#helm-dependency):

Starting from 2.2.0, repository can be defined as the path to the directory of the dependency charts stored locally. The path should start with a prefix of “file://“. For example,

# requirements.yaml
dependencies:
- name: nginx
  version: "1.2.3"
  repository: "file://../dependency_chart/nginx"

Edit: My workaround for this ended up being to symlink the individual charts. For example from within a parent chart: ln -s charts/nginx ../../nginx

no PRs have addressed this specifically so I imagine this is still in the same state.