# 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 | Добавляет кавычки ``` {{ quote .Values.favorite.food }} ``` |
upper | В верхний регистр |
repeat n | Повтор значения n раз ``` {{ .Values.favorite.drink | repeat 5 | quote }} ``` |
default "some\_hy" | Присвоить значение по умолчанию если отсутствует ``` drink: {{ .Values.favorite.drink | default "tea" | quote }} ``` |
eq, ne, lt, gt, and, or | Логические функции |
indent n | Поставить n пробелов перед конструкцией |