KB / Memory / tech-helm-vendored-deps-gitignore
Vendor Helm deps; bare `charts/` in .gitignore hides them
A bare `charts/` gitignore pattern silently strips vendored Helm dependency tarballs from git, breaking source installs
Helm repos that vendor dependencies must commit charts/*.tgz per chart. A
bare charts/ line in .gitignore matches every chart's dependency dir
(chart repos rarely have a top-level charts/ dir), so helm dependency build works locally but tarballs are silently never committed. Committed
Chart.lock + missing charts/ is the tell. Published packages look fine
when CI builds deps before packaging — only source clones break.
Why: helm template/lint/install fail out of the box ("found in
Chart.yaml, but missing in charts/ directory") with no visible cause.
How to apply: anchor the ignore (e.g. /charts/) or delete it; commit
vendored tarballs via helm dependency build and verify with a fresh-clone
helm template. Vendor rather than drop declarations when templates
reference default endpoints like {{ .Release.Name }}-<dep>. Related:
project-charts, feedback-fail-loud.