Matt Farina
7fd08041b1
Merge pull request #12617 from porridge/dynamic-client
...
feature(pkg/engine): introduce RenderWithClientProvider
8 months ago
Marcin Owsiany
a997de1f11
tests(pkg/engine): test RenderWithClientProvider
...
Signed-off-by: Marcin Owsiany <porridge@redhat.com>
8 months ago
Graham Reed
b261a1b1be
Test update for "Allow a nested `tpl` invocation access to `defines` in a containing one"
...
Signed-off-by: Graham Reed <greed@7deadly.org>
1 year ago
Graham Reed
36d417de3b
Test update for "Speed up `tpl`"
...
Signed-off-by: Graham Reed <greed@7deadly.org>
1 year ago
Joe Julian
ec1d0d8671
Merge pull request #11456 from greed42/tpl-tests
...
Backfill tests for the `tpl` function
1 year ago
Graham Reed
f235f0f285
Check that missing keys are still handled in tpl
...
Signed-off-by: Graham Reed <greed@7deadly.org>
1 year ago
Matt Farina
863bc74e5a
Update to func handling
...
Signed-off-by: Matt Farina <matt@mattfarina.com>
2 years ago
Graham Reed
9fe912f3c5
Check redefinition of define and include in tpl
...
Signed-off-by: Graham Reed <greed@7deadly.org>
2 years ago
Graham Reed
ebf5e1e2af
Check that `.Template` is passed through `tpl`
...
Signed-off-by: Graham Reed <greed@7deadly.org>
2 years ago
Graham Reed
0a6e7d95ab
Make sure empty `tpl` values render empty.
...
Signed-off-by: Graham Reed <greed@7deadly.org>
2 years ago
Graham Reed
d1e9a242a7
Pick the test improvement out of PR#8371
...
<https://github.com/helm/helm/pull/8371 >
This covers:
- `tpl` text can `include` a `define` provided in a partial file
- `tpl` text can `include` a `define` provided in its text
- `tpl` text can be loaded via `.Files.Get`
Signed-off-by: Graham Reed <greed@7deadly.org>
2 years ago
Matt Farina
ac80a5eec9
Merge branch 'main' into feat/subcharts-scope
3 years ago
Matt Farina
2de6f9d424
Merge pull request #9993 from Ka0o0/make-isroot-available-to-template
...
Make Chart's IsRoot available to templates
3 years ago
Kai Takac
8fcaf7b85c
Add Chart IsRoot test
...
Signed-off-by: Kai Takac <kai.takac@gmail.com>
3 years ago
Cory Snider
79df3926f6
fix(engine): parse fail messages with newlines
...
The templating engine handles errors originating from the `required` and
`fail` template functions specially, cleaning up the error messages to
be more presentable to users. Go's text/template package unfortunately
does not make this straightforward to implement. Despite
template.ExecError implementing Unwrap, the error value returned from
the template function cannot be retrieved using errors.As. The wrapped
error in ExecError is a pre-formatted error string with the template
function's error string interpolated in with the original error value
erased. Helm works around this limitation by delimiting the
template-supplied message and extracting the message out of the
ExecError string with a regex.
Fix the parsing of `required` and `fail` error messages containing
newlines by setting the regex flag to make `.` match newline characters.
Signed-off-by: Cory Snider <csnider@mirantis.com>
3 years ago
Valentin Flaux
3daaea0a1c
feat(pkg/engine): expose subcharts scope in parent
...
Expose the scope (.Values, .Charts, .Releases etc.) of subcharts to the parent scope.
Signed-off-by: Valentin Flaux <vflaux@oui.sncf>
3 years ago
Martin Hickey
dffc2a30c7
Merge pull request #9035 from wizbit/fail-message
...
Fail message is now the same as the required message.
3 years ago
Josh Soref
2bf8fdf45d
chore: Spelling ( #9410 )
...
* spelling: annotate
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: asserts
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: behavior
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: binary
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: contain
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: copied
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dependency
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: depending
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: deprecated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: doesn't
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: donot
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: github
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: inputting
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: iteration
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: jabberwocky
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: kubernetes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: length
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: mismatch
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: multiple
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: nonexistent
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: outputs
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: panicking
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: plugins
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: parsing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: porthos
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: regular
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: resource
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: repositories
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: something
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: strict
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: string
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: unknown
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
3 years ago
Marcus Speight
7a663a56c2
Fixed Test
...
Signed-off-by: Marcus Speight <marcus.speight@hotmail.co.uk>
Signed-off-by: Marcus Speight <marcus@pmconnect.co.uk>
4 years ago
Marcus Speight
8aa42824f9
Added test for lint mode
...
Signed-off-by: Marcus Speight <marcus.speight@hotmail.co.uk>
4 years ago
Marcus Speight
7a0739a863
Fail message is now the same as the required message.
...
Fixed #8973 Helm function 'fail' should not fail when doing 'helm lint'
Signed-off-by: Marcus Speight <marcus.speight@hotmail.co.uk>
4 years ago
Matt Butcher
bb47286f09
fix linting error with lookup function ( #7969 )
...
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
4 years ago
Andre Sencioles
d0726e07ab
Parse reference templates in predictable order ( #7702 )
...
* Parse reference templates in predictable order
Fix issue #7701
Signed-off-by: Andre Sencioles <asenci@gmail.com>
* Add test case for issue #7701 regression
Signed-off-by: Andre Sencioles <asenci@gmail.com>
* gofmt
Signed-off-by: Andre Sencioles <asenci@gmail.com>
4 years ago
Daniel Cheng
206d4a9053
add test for template recursion
...
Signed-off-by: Daniel Cheng <dcheng@us.ibm.com>
5 years ago
海的澜色
750b870aed
fix stack overflow error ( #7114 )
...
* fixed #7111
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
* update error message
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
* add test case
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
* fix lint error
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
5 years ago
Matt Farina
9bc7934f35
Updating the module for v3 as the major version
...
Signed-off-by: Matt Farina <matt@mattfarina.com>
5 years ago
Ian Howell
31b940a61d
fix(engine): Fix eating too many colons during template execution
...
This fixes #6044 , in which error parsing is greedily eating too many
colons, preventing users from using colons in their warning messages to
the `required` function
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
5 years ago
Thomas O'Donnell
213f714604
Stop Lint from breaking when using required
...
Have updated the required filter so that it doesn't break when linting a
chart. This work is based off #4221 and #4748 which didn't make it into
the v3 branch.
Signed-off-by: Thomas O'Donnell <andy.tom@gmail.com>
5 years ago
Ian Howell
278594fb0f
fix(pkg/engine): Style changes on template errors
...
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
5 years ago
Ian Howell
33b1ede570
fix(pkg/engine): Clean up template error messages
...
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
5 years ago
Adam Reese
895e9192d4
feat(*): use vanity import helm.sh/helm
...
Signed-off-by: Adam Reese <adam@reese.io>
6 years ago
Adam Reese
849f27d11f
ref(pkg/engine): make template specific functions private
...
Make template specific functions private to ensure they not misused and
make unit tests simpler. We may export the template helpers later if
needed.
This lays the foundation for the new chart pipeline.
Signed-off-by: Adam Reese <adam@reese.io>
6 years ago
Adam Reese
d841a1b1d9
fix(engine): make template rendering thread safe
...
See https://github.com/helm/helm/pull/4828
Signed-off-by: Adam Reese <adam@reese.io>
6 years ago
Adam Reese
2b81eea1e2
ref(*): replace byte array with map for Release config
...
Signed-off-by: Adam Reese <adam@reese.io>
6 years ago
Adam Reese
516c53dae6
ref(chart): use map for chart.Values
...
Signed-off-by: Adam Reese <adam@reese.io>
6 years ago
Adam Reese
4f26b658d8
change copyright to "Copyright The Helm Authors"
6 years ago
Adam Reese
f012940d9c
ref(*): refactor chart/chartutil
...
ref(chartutil): move chart loading out of chartutil into new package
add chart loader interface to allow lazy loading
feat(chart): create chart accessors
ref(*): cleanup requirements
ref(tiller): remove optional template engines
ref(tiller): simplify sorting releases and hooks
ref(*): code simplification
ref(hapi): move chart package out of hapi
ref(chart): add requirements and lock to Chart struct
6 years ago
Adam Reese
4c95185164
ref(*): replace chart.config with []byte
6 years ago
Adam Reese
36536d77ba
ref(*): remove protobuf any type
6 years ago
Adam Reese
6345f04190
ref(hapi): convert protobuf to go types
6 years ago
Lukas Eichler
8bc7dede18
fix(helm): Apply PR comments for tpl template name fix
...
Modified existing unit test to verify the changed behavior.
Removed debug print.
7 years ago
Lukas Eichler
39db9ec6e8
Merge branch 'master' into master
7 years ago
Lukas Eichler
439f1b31d1
Added unit test for include in tpl function
7 years ago
Matt Butcher
8937c775a9
fix(2452): sort templates before parse
...
This sorts templates by depth before sending them to the template
parser. Deepest templates are parsed first, with umbrella templates
parsed last. Since template definition names are LIFO, that means that
the highest level templates will claim the namespace.
Or, to put it simply, you can predictably override a child's defined
template by re-defining it in a parent chart.
Closes #2452
7 years ago
Lukas Eichler
2521c526d9
- Changed error behaviour to returning an error instead of writing the error in the template
...
- Added tests for using a function inside a template that is evaluated using the "tpl" function
7 years ago
Lukas Eichler
d01f7978d2
Added implementation for a tpl function that evaluates a string as a template.
...
Implementation for #1978
7 years ago
Steve Wilkerson
79a3db0a63
feat(helm): add support for required properties
...
Adds the `required` function in enginge.go to support required
properties in values.yml. When a chart developer wishes to specify
intent in requiring a value, they can use this function to declare
an error message that gets returned when chart rendering fails
when a required value is not present in values.yml.
Closes #1580
8 years ago
Jack Zampolin
fc60d51be9
Add toToml function
8 years ago
Matt Butcher
d8540d78f1
feat(tiller): add fromYaml to template functions
...
This adds a fromYaml template function.
Closes #1604
8 years ago
Andrew Stuart
9771973888
Add AsSecrets, AsConfig methods for Files object. Move ToYaml to chartutil
8 years ago