A Dagger module for Helm chart checks: lint every chart, and assert that every values file renders.
| Function | Description |
|---|---|
charts |
The discovered charts as Chart objects. |
chart |
One discovered chart by its path. |
lint |
helm lint every visible chart, across its values matrix (a @check). |
assert-template |
Assert every discovered values file renders with helm template --dry-run=client (a @check). |
Install the module in your workspace:
dagger install github.com/dagger/helmRun the checks:
dagger check # run every check in the workspace
dagger check helm:lint # just chart linting
dagger check helm:assert-template # just the values render assertionsEach chart is checked with its default values plus every values file matching
valuesGlob — defaulting to ci/*-values.yaml, Helm chart-testing's CI
values convention.
assert-template intentionally skips the bare chart: some charts only render
cleanly with one of their explicit values files.
Chart discovery searches for Chart.yaml at or below your current working
directory, so running from a subdirectory checks only the charts in that
subtree; chart paths are reported relative to it.
Each chart is mounted whole — the directory containing Chart.yaml is the
chart boundary, so values, templates, dependencies, CRDs, and files
referenced via .Files are all available — and each chart/values dimension
runs in its own container, so results cache per dimension.
version(default3.18.4): the Helm version to use.valuesGlob(defaultci/*-values.yaml): glob for chart values files to check as extra matrix dimensions.