Reputation: 2541
i'm triyng to do one Helm Chart for different environments. In many tutorials such scheme should works, but my structure does not read value from dependency repository. Helm just ignores it.
I have following folder structure
helm
- charts
- core-web
- Chart.yaml
- values.yaml
- templates
- frontend
- Chart.yaml
- values.yaml
- templates
- prod
- Chart.yaml
- values.yaml
- dev
- Chart.yaml
- values.yaml
prod/Chart.yaml
apiVersion: v1
name: test
version: 1.0.0
dependencies:
- name: core-web
version: "1.37.0"
repository: file://../charts/core-web/
- name: frontend
version: "1.6.0"
repository: "file://../charts/frontend"
From helm folder i execute following command
helm install ./prod --dry-run --generate-name -n sandbox -f prod/values.yaml
Error: INSTALLATION FAILED: found in Chart.yaml, but missing in charts/ directory: core-web, frontend
If i move charts forlder to prod folder, then everithing works. Why helm does not accept file path from dependency repository? It should: https://helm.sh/docs/helm/helm_dependency/
Thanks for the help.
Upvotes: 3
Views: 7776
Reputation: 59956
Try to replicate the issue, seems like a cache issue
you can verify that helm dependency on which path it's looking for charts
.
helm template test ./prod
#output Error: found in Chart.yaml, but missing in charts/ directory: backend, web-app
then I tried to verify the path on which the helm looking
helm dep ls ./prod
from the output its clear it's still looking into the wrong path with the status missing
as its still looking for chart inside prod
folder.
NAME VERSION REPOSITORY STATUS
backend 1.2.3 file://charts/backend/ missing
web-app 1.2.3 file://charts/web-app/ missing
so to fix this
helm dependency update ./prod
then I can see
helm dep ls ./prod
Upvotes: 7