Matt Farina
f895948ae2
Fixing issue with non-existant .Template when using tpl function
...
This is a regression accidently introduced in #9957 .
A delete call had been used on the Template key of vals. This caused
a condition where Template was not available when rendering via tpl.
The delete happened after ExecuteTemplate so the issue is surpsising.
It may possibly be a race condition. Existing tests did not catch it.
I tried to create a test that directly tested the issue and was
unable to replicate the error seen with real charts. This leads me
to believe it is a race condition in the underlying Go template
package.
The delete call was not there before #9957 . It should be safe to
remove and keep that information.
Closes #10082
Signed-off-by: Matt Farina <matt.farina@suse.com>
3 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
06ae6f933a
Make Chart's IsRoot available to templates
...
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
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
Paul Brousseau
3192408415
Fixing typo in engine comments
...
Signed-off-by: Paul Brousseau <object88@gmail.com>
4 years ago
Matt Farina
dbd001e532
Removing tiller language
...
Since Tiller is no longer part of Helm v3, internal documentation
language about Tiller can be removed
Signed-off-by: Matt Farina <matt@mattfarina.com>
5 years ago
Matt Butcher
bb47286f09
fix linting error with lookup function ( #7969 )
...
Signed-off-by: Matt Butcher <matt.butcher@microsoft.com>
5 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>
5 years ago
Daniel Cheng
8528548441
fix recursion count in templates
...
Signed-off-by: Daniel Cheng <dcheng@us.ibm.com>
5 years ago
Matthew Fisher
9c680e604b
Merge pull request #7443 from zwwhdls/fix7439
...
allow limited recursion in templates
5 years ago
zwwhdls
16a85f7570
fix test-style
...
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
5 years ago
zwwhdls
4eda4fa06d
allow limited recursion in templates
...
Signed-off-by: zwwhdls <zwwhdls@hotmail.com>
5 years ago
Matthew Fisher
e84b61b2db
Merge pull request #6752 from raffaelespazzoli/lookup
...
Lookup template function
5 years ago
Josh Soref
02ad2b1187
Spelling ( #7258 )
...
* spelling: constraint
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: cryptographic
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dependency
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: doesnot
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: don't
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: unexpected
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: dreadnought
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: default
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: envvars
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: evaluates
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: execute
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: extractor
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: frobnitz
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: generated
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: implementation
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: jabba
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: keywords
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: kubernetes
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: override
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: package
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: parsable
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: progress
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: recursively
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: release
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: cache
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: representing
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: serializer
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: subchart
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
* spelling: utilities
Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>
5 years ago
raffaelespazzoli
e98cd621f0
added rest client passed with action configuration
...
Signed-off-by: raffaelespazzoli <raffaele.spazzoli@gmail.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
Adam Reese
4fcc876786
ref(pkg/engine): cleanup of development `hack`
...
This was left in from some of the chart builder work. I forgot to
remove it.
Signed-off-by: Adam Reese <adam@reese.io>
5 years ago
Martin Hickey
5906b9dfee
Fix style conformance issue
...
Signed-off-by: Martin Hickey <martin.hickey@ie.ibm.com>
5 years ago
Ian Howell
c92e3351f7
Switch to a more unique delimiter for template execution errors
...
Signed-off-by: Ian Howell <ian.howell0@gmail.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>
6 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>
6 years ago
Adam Reese
b49db9e6e6
ref(pkg/chartutil): break up chartutil into logical files
...
Signed-off-by: Adam Reese <adam@reese.io>
6 years ago
Martin Hickey
0b809dd078
Validate library chart files after chart loaded
...
Validate the library chart files after the chart and
its depoendencies have been loaded. This is an update
following review comment:
- https://github.com/helm/helm/pull/5441#pullrequestreview-231339425
Signed-off-by: Martin Hickey <martin.hickey@ie.ibm.com>
6 years ago
Ian Howell
278594fb0f
fix(pkg/engine): Style changes on template errors
...
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
6 years ago
Ian Howell
92b86f6e74
fix(pkg/engine): Catch non-templating errors when rendering templates
...
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
6 years ago
Ian Howell
33b1ede570
fix(pkg/engine): Clean up template error messages
...
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
6 years ago
Adam Reese
295092cd7d
ref(pkg/action): refactoring dup code and linter fixes
...
Signed-off-by: Adam Reese <adam@reese.io>
6 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
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
726e3c41be
feat(*): print stacktrace on error with debug enabled
7 years ago
Adam Reese
6345f04190
ref(hapi): convert protobuf to go types
7 years ago
scriptonist
5311bf40a8
Now returning error and stopping installation
7 years ago
scriptonist
6cfaa4ebf2
Added code to recover from a tiller pod crash in an event of template render failure
7 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
1cebc760a0
Fixed warning for missing formating parameter inside error message.
7 years ago
Lukas Eichler
2c338db1bd
fix(helm): Set template context inside tpl function to outer function.
...
docs(helm): Added documentation about tpl function
7 years ago
Lukas Eichler
39db9ec6e8
Merge branch 'master' into master
8 years ago
Lukas Eichler
439f1b31d1
Added unit test for include in tpl function
8 years ago
Lukas Eichler
ce8e8d6778
Added storage of parsed templates in engine
8 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
8 years ago
Matt Butcher
5c227bffbb
Merge pull request #2361 from databus23/dont_render_partials
...
Skip rendering partials
8 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
8 years ago
Lukas Eichler
d01f7978d2
Added implementation for a tpl function that evaluates a string as a template.
...
Implementation for #1978
8 years ago