Commit Graph
68 Commits
Author SHA1 Message Date
Matt Farina 9bc7934f35 Updating the module for v3 as the major version
Signed-off-by: Matt Farina <matt@mattfarina.com>
2019-10-03 14:27:05 -04:00
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>
2019-09-03 15:31:58 -07:00
Martin Hickey 5906b9dfee Fix style conformance issue
Signed-off-by: Martin Hickey <martin.hickey@ie.ibm.com>
2019-07-30 16:00:18 +01:00
Ian Howell c92e3351f7 Switch to a more unique delimiter for template execution errors
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
2019-07-29 15:39:44 -05:00
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>
2019-07-23 11:33:03 -05:00
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>
2019-06-13 20:32:37 +02:00
Adam Reese b49db9e6e6 ref(pkg/chartutil): break up chartutil into logical files
Signed-off-by: Adam Reese <adam@reese.io>
2019-05-22 19:38:11 +02:00
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>
2019-05-01 14:56:32 +01:00
Ian Howell 278594fb0f fix(pkg/engine): Style changes on template errors
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
2019-04-09 12:34:13 -05:00
Ian Howell 92b86f6e74 fix(pkg/engine): Catch non-templating errors when rendering templates
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
2019-04-09 10:54:01 -05:00
Ian Howell 33b1ede570 fix(pkg/engine): Clean up template error messages
Signed-off-by: Ian Howell <ian.howell0@gmail.com>
2019-04-08 16:48:21 -05:00
Adam Reese 295092cd7d ref(pkg/action): refactoring dup code and linter fixes
Signed-off-by: Adam Reese <adam@reese.io>
2019-03-26 11:11:27 -07:00
Adam Reese 895e9192d4 feat(*): use vanity import helm.sh/helm
Signed-off-by: Adam Reese <adam@reese.io>
2019-03-13 13:43:47 -07:00
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>
2019-03-06 15:45:52 -08:00
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>
2019-03-05 12:56:39 -08:00
Adam Reese 4f26b658d8 change copyright to "Copyright The Helm Authors" 2018-08-24 12:03:55 -07:00
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
2018-08-24 11:28:29 -07:00
Adam Reese 726e3c41be feat(*): print stacktrace on error with debug enabled 2018-05-10 09:34:41 -07:00
Adam Reese 6345f04190 ref(hapi): convert protobuf to go types 2018-04-18 14:53:38 -07:00
scriptonist 5311bf40a8 Now returning error and stopping installation 2018-03-13 16:33:10 +05:30
scriptonist 6cfaa4ebf2 Added code to recover from a tiller pod crash in an event of template render failure 2018-03-09 18:30:01 +05:30
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.
2017-12-03 17:39:51 +01:00
Lukas Eichler 1cebc760a0 Fixed warning for missing formating parameter inside error message. 2017-12-03 17:39:51 +01:00
Lukas Eichler 2c338db1bd fix(helm): Set template context inside tpl function to outer function.
docs(helm): Added documentation about tpl function
2017-12-03 17:39:51 +01:00
Lukas Eichler 39db9ec6e8 Merge branch 'master' into master 2017-06-08 18:40:34 +02:00
Lukas Eichler 439f1b31d1 Added unit test for include in tpl function 2017-05-28 10:55:15 +02:00
Lukas Eichler ce8e8d6778 Added storage of parsed templates in engine 2017-05-28 08:35:18 +02:00
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
2017-05-26 18:01:49 -06:00
Matt Butcher 5c227bffbb Merge pull request #2361 from databus23/dont_render_partials
Skip rendering partials
2017-05-05 16:44:30 -06:00
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
2017-05-02 09:44:26 +02:00
Lukas Eichler d01f7978d2 Added implementation for a tpl function that evaluates a string as a template.
Implementation for #1978
2017-05-02 09:44:26 +02:00
Fabian Ruff b94eb82d12 Skip rendering partials
The output of a rendered partial is not used and rendering it might fail if it expects different values
2017-05-01 02:00:09 +02:00
Fabian Ruff 124235ffed Fail template execution if included template fails 2017-04-30 01:00:31 +02:00
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
2017-03-08 12:49:23 -06:00
Fabian Ruff 43a6bcff40 Add .Template.BasePath to template system 2017-03-06 23:19:49 +01:00
Jack Zampolin fc60d51be9 Add toToml function 2017-03-01 10:19:21 -08:00
YuviPanda 5c52fe6ad6 Add ToJson and FromJson template functions 2017-02-21 00:34:17 -08:00
Matt Butcher cb0a6c7e07 feat(tiller): add {{.Capabilities}} object
This adds the {{.Capabilities}} object to the template variables so that
chart authors can write charts that are aware of teh Kubernetes
capabilities of the current cluster.

Closes #1608
2017-01-09 18:09:20 -07:00
Matt Butcher d8540d78f1 feat(tiller): add fromYaml to template functions
This adds a fromYaml template function.

Closes #1604
2016-12-14 16:47:25 -07:00
Andrew Stuart 6760aa1588 Add Lines method, remove path utils (Sprig pr) 2016-12-12 17:19:47 -07:00
Andrew Stuart 5d58b7792c Fix erroneous import 2016-12-09 14:06:56 -07:00
Andrew Stuart 9771973888 Add AsSecrets, AsConfig methods for Files object. Move ToYaml to chartutil 2016-12-09 12:53:53 -07:00
Matt Butcher 36f7eb0b2a fix(linter): add engine.FuncMap so linter can use real function list
This adds a function engine.FuncMap that returns a function mapping that
better represents the functions passed to a template. The linting logic
is reconfigured to use this function instead of the sprig.FuncMap
function.

Closes #1366
2016-10-14 16:28:43 -06:00
Matt Butcher 431cc46cad feat(tiller): add toYaml template function
This adds the function toYaml to the Engine template functions.

Closes #1225
2016-09-26 14:33:54 -06:00
vaikas-google 492dbb3791 Add support for NOTES.txt file 2016-08-29 13:11:16 -07:00
Matt Butcher 84761a559a fix(helm): remove extra linter output
Closes #1076
2016-08-23 11:01:18 -06:00
Matt Butcher 9718c9e7c8 feat(engine): add 'partial' function
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
2016-08-01 16:30:34 -06:00
Matt Butcher 033dbfe75e feat(tiller): add Files map to templates
Templates can now access the non-template files in a chart by using
the '{{.Files}}' map inside of a template.

Relates to #950
2016-07-29 16:04:48 -06:00
Matt Butcher 73a2890277 fix(engine): change template naming
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.
2016-07-07 11:39:47 -06:00
Matt Butcher 532f03ec78 feat(tiller): add .Template object in templates
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
2016-06-28 16:18:08 -06:00