Go templates
Элементы шаблонизации заключены в двойные фигурные скобки, остальные - статический текст. Элементы шаблонизации могут включать переменные, условия, циклы, функции.
Конструкция {{- удаляет строку в которой функция.
Условия:
{{ if ConditionOne }}
# Do something
{{ else if ConditionTwo }}
# Do something else
{{ else }}
# Default case
{{ end }}
{{ if eq .Values.favorite.drink "coffee" }}mug: "true"{{ end }}
With
Работает так же как и в python
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
{{- with .Values.favorite }}
drink: {{ .drink | default "tea" | quote }}
food: {{ .food | upper | quote }}
{{- end }}
Циклы
values.yaml:
favorite:
drink: coffee
food: pizza
pizzaToppings:
- mushrooms
- cheese
- peppers
- onions
- pineapple
cur.yaml:
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .Release.Name }}-configmap
data:
myvalue: "Hello World"
{{- with .Values.favorite }}
drink: {{ .drink | default "tea" | quote }}
food: {{ .food | upper | quote }}
{{- end }}
toppings: |-
{{- range .Values.pizzaToppings }}
- {{ . | title | quote }}
{{- end }}
Функции:
Можно использовать pipeline: {{ .Values.favorite.drink | quote }}
Функция | Описание |
quote | Добавляет кавычки
|
upper | В верхний регистр |
repeat n |
Повтор значения n раз
|
default "some_hy" |
Присвоить значение по умолчанию если отсутствует
|
eq, ne, lt, gt, and, or |
Логические функции |
Именованные шаблоны