A dependency condition whose paths do not exist in the chart's coalesced
values is silently ignored when dependencies are processed, leaving the
dependency enabled. That regularly surprises chart users when the
condition key is missing from the chart's default values and the
dependency gets installed although its condition was never evaluated.
Changing the runtime behavior would be breaking, so instead teach
'helm lint' to emit a warning when none of the comma-separated paths of
a dependency condition resolves to any value. Conditions are resolved
the same way dependency processing does, against the chart's values
coalesced with the values passed to lint, including the default values
of vendored dependencies (with alias re-keying taken into account). The
check is skipped while dependencies are missing from charts/, since
their default values cannot participate yet.
rules.Dependencies is public API in pkg/, so the values are threaded
through a new rules.DependenciesWithValues function, mirroring the
existing ValuesWithOverrides pattern. The chart v3 lint rules receive
the identical change.
Closes#12264
Signed-off-by: Jojin <jojin.kb@gmail.com>