imported values are stored in dependency objects, which breaks if a chart dependency is shared among multiple aliases.
By copying the dependency objects in the metadata values can be imported correctly.
Supersedes #10174
Signed-off-by: Daniel Strobusch <1847260+dastrobu@users.noreply.github.com>
Dependencies keep a reference on their parent chart, which breaks if a chart reference is shared among multiple aliases.
By copying the dependencies, parent information can be set correctly to render the templates as expected later on.
Note that this change will make ChartFullPath return a different path for sub-subcharts. It will contain the alias names instead of the path to the chart files which makes it consistent with paths to templates on the subchart level.
Closes#9150
Signed-off-by: Daniel Strobusch <1847260+dastrobu@users.noreply.github.com>
The `TestValidateChartIconPresence` test fails when run after
`TestValidateChartIconURL` as they both are using a global
variable `badChart.Icon`
```
: go test -v -test.shuffle 1 -run '^(TestValidateChartIconPresence|TestValidateChartIconURL)$' ./pkg/lint/rules/
-test.shuffle 1
=== RUN TestValidateChartIconURL
--- PASS: TestValidateChartIconURL (0.00s)
=== RUN TestValidateChartIconPresence
chartfile_test.go:171: validateChartIconPresence to return a linter error, got no error
--- FAIL: TestValidateChartIconPresence (0.00s)
FAIL
FAIL helm.sh/helm/v4/pkg/lint/rules 0.051s
FAIL
: go test -v -test.shuffle 2 -run '^(TestValidateChartIconPresence|TestValidateChartIconURL)$' ./pkg/lint/rules/
-test.shuffle 2
=== RUN TestValidateChartIconPresence
--- PASS: TestValidateChartIconPresence (0.00s)
=== RUN TestValidateChartIconURL
--- PASS: TestValidateChartIconURL (0.00s)
PASS
ok helm.sh/helm/v4/pkg/lint/rules 0.050s
```
This commit:
1. Remove dependency on global variable
2. Explicitly set the state of the test object.
Signed-off-by: Rostyslav Polishchuk <rostyslavp@google.com>
When "helm lint" is run, it now errors on invalid chartfiles,
e.g. those with duplicate keys
Closes#12381
Signed-off-by: Edward Miller <edmiller287@gmail.com>
Enhances the template engine and action config to allow users to inject custom template functions via an action config when using Helm as a library.
Closes#30733
Signed-off-by: Stepan Paksashvili <stepan.paksashvili@flant.com>
Cache the signing key passphrase. When signing multiple charts
with the passphrase from stdin, this allows signing all charts
instead of all but the first failing with an error about stdin
already having been closed.
Signed-off-by: Krisztian Litkey <krisztian.litkey@intel.com>