Helm Named Templates: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
Line 29: Line 29:
metadata:
metadata:
   name: test-cm
   name: test-cm
   {{- template "named-template-with-define.subtemplate-a" . }}
   {{- template "mychart.mysubtemplate" . }}
...
...
</syntaxhighlight>
</syntaxhighlight>

Revision as of 22:59, 7 October 2020

External

Internal

Overview

A named template, also known as a partial, sub-template or embedded template, is a fragment of text that is declared in one file and then rendered in-line into another template, usually defined in a different file, every time it is invoked with the template action or the include function. A sub-template is declared with the define action. A sub-template name has a name, declared when the sub-template is defined. The sub-template body may contain action and function declaration, which will be rendered when the enclosing template is rendered.

Sub-Template Elements

Sub-Template Name

Sub-Template Scope

Actions

define

The 'define' action is used to declare the name and the content of the sub-template:

{{- define "mychart.mysubtemplate" }}
labels:
  color: blue
  date: {{ now | htmlDate }}
{{- end }}

template

The 'template' action renders the specified sub-template, with the given scope, in the enclosing template.

...
kind: ConfigMap
metadata:
  name: test-cm
  {{- template "mychart.mysubtemplate" . }}
...

include Function

TODEPLETE

tmp