This adds a few extra settings to the default .helmignore file. In
doing this, I found a bug that some directory patterns are not
evaluated correctly. Fixed that and added tests.
Closes#989Closes#1027
This changes "pkg/chartutil".Files.Get to return a string, removes
"pkg/chartutil".Files.GetString, and adds
"pkg/chartutil".Files.GetBytes.
Closes#1020
This adds a context-aware template function called 'partial' that will
allow rendering other templates in a chart into a string value, which
can then be piped to other functions. Usage is something like
'{{partial 'path/to/template.yaml' | indent 2}}'
This might be a bad idea.
Closes#1005
This fixes a bug in which passed-in values files were not correctly
merged into the chart's default values YAML data. I believe it also
fixes some other prioritization bugs in values merging.
The existing unit test was wrong (see TestCoalesceValues). It is
fixed now. Also added more tests to simulate issue #971.
In the course of writing this, I removed some vestigial code as
mentioned in #920.
Closes#971Closes#920
This includes a substantial bit of unit test improvements. Also, in
order to allow us to tests command line args (which translate to
helm.Option objects), I had to add a new interface to pkg/helm.
Template paths were relative to the chart that contained them, which
meant that all templates were named 'template/SOMETHING'. This made it
trivially easy to hit namespace collisions as in #933.
Template path names are essentially opaque strings so this patch simply
changes them to be qualified by parent chart.
Handle a previously unhandled error in the linter. This simply bails out
if a chart's values files do not parse.
Also, changed the implementation of CoalesceValues to return a map even
on error.
This allows templates to access information about the template file.
Right now, the template can only access the .Template.Name, which is the
chart-relative path to the current template.
Closes#894