fix: do not warn about export-values parents set only in user or service values
Merged
IL
13d ago+142+142+012345678901234567890123456789-3-3-0123456789
Summary
Cover the case where werf service values are exported to a subchart that has the same name as the parent chart, while --values sets the child keys directly. Also stop warning about export-values parent paths that are set only in user or service values.
What
- New regression test with two fixtures: a parent chart and a dependency with the same name, and export-values from
global.werf.images.<image>.{repository,tag}or fromwerf.repo/werf.tag.<image>toimage.{repository,tag}. A--valuesfile sets<dep>.image.{repository,pullPolicy,tag}. Service values (ExtraValues) or--setprovide the export sources. The rendered manifest gets repository and tag from the export andpullPolicyfrom the values file. The stored release config has the--values(and--setwith its exports), but not the exported service values. - The chart-level export pass no longer logs
WARN ExportValues parent path not foundwhen the parent path is missing from chart values. The path can be set only in--values,--set*or service values (for werf, alwayswerf.*/global.werf.*), which are exported later per layer, so the warning was printed for every such export that works. It is now a debug message, and it logs the path lookup error instead of the misleading"<key>" is not a table. - Behaviour change (minor, log only): a typo in an export-values
parent:path is no longer reported as a warning.
Why
With werf, export-values from werf service values to a subchart were overridden by the same keys in --values files. The layer-aware precedence from #773/#774 fixes this; this PR pins the scenario with a test and removes the misleading warning that the same scenario printed.