Helm Chart Dependency Calculator
Map out total dependency count and depth across a Helm chart's subcharts.
About Helm Chart Dependency Calculator
Helm resolves and downloads every chart listed under `dependencies` in Chart.yaml into the `charts/` directory, and those subcharts can themselves declare further dependencies. The effective dependency count a `helm dependency update` pulls is the sum of direct and transitive charts, and the total bandwidth/storage cost of that pull is that count multiplied by the average packaged chart size.
Formula
totalDownloadSize = (directDeps + transitiveDeps) × avgChartSize
- D
- Direct dependencies
- T
- Transitive dependencies
- C_{avg}
- Average chart package size in KB
- S
- Total download size in KB
Worked example
With the default values below, Helm Chart Dependency Calculator returns Total Dependencies of 10. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Direct Dependenciesaccepts 0–500 charts
- 4 charts
- Transitive Dependenciesaccepts 0–2,000 charts
- 6 charts
- Average Chart Package Sizeaccepts 0–100,000 KB
- 25 KB
Results
- Total Dependencies
- 10 charts
- Total Download Size
- 0.244 MB
- Transitive Share of Dependencies
- 60.0%
Step by step
- 1Total dependencies = direct + transitive= 10 charts
- 2Total download size = total deps × avg chart size= 250.00KB (0.244MB)
Assumptions and limits
- The result is derived only from the 3 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 3 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Does Helm deduplicate shared transitive dependencies?
No — by default each parent chart vendors its own copy of a dependency into its `charts/` directory, so the same subchart can be downloaded and stored multiple times across a dependency tree unless aliased and managed carefully.
Where do downloaded dependencies get stored?
In the chart's local `charts/` directory as `.tgz` archives (or unpacked directories), which are then bundled into the parent chart's own package when it's built.
How can I reduce dependency download size?
Use `condition` and `tags` in Chart.yaml to make optional subcharts skippable, pin to minimal versions, and consider extracting rarely-changing shared logic into a library chart instead of a full subchart.
Related Calculators
You might also need
- Helm Chart Version CalculatorCommonly used together
- Helm OCI Registry Storage CalculatorCommonly used together
- Helm Repository Storage CalculatorCommonly used together
- Helm Package Size CalculatorCommonly used together
- Helm Chart Complexity ScoreCommonly used together
- Helm Template Rendering CalculatorAlso in Helm
