Helm — Справочник функций
Ctrl+F — твой лучший друг здесь.
Строковые
Функция Описание Пример upperВ верхний регистр {{ "hello" | upper }} → HELLOlowerВ нижний регистр {{ "Hello" | lower }} → hellotitleКаждое слово с заглавной {{ "hello world" | title }} → Hello WorldtrimУбрать пробелы по краям {{ " hi " | trim }} → hitrimSuffixУбрать суффикс {{ "app-" | trimSuffix "-" }} → apptrimPrefixУбрать префикс {{ "v1.2.0" | trimPrefix "v" }} → 1.2.0truncОбрезать до N символов {{ "longname" | trunc 4 }} → longreplaceЗамена подстроки {{ "foo_bar" | replace "_" "-" }} → foo-barcontainsПроверка вхождения {{ if contains "tls" .Values.mode }}hasPrefixНачинается с {{ if hasPrefix "https" .Values.url }}hasSuffixЗаканчивается на {{ if hasSuffix ".yaml" .name }}repeatПовторить N раз {{ "ab" | repeat 3 }} → abababsubstrПодстрока (start, end, str) {{ substr 0 3 "hello" }} → helnospaceУбрать все пробелы {{ "h e l l o" | nospace }} → hellosnakecasecamelCase → snake_case {{ "userName" | snakecase }} → user_namecamelcasesnake_case → CamelCase {{ "user_name" | camelcase }} → UserNamekebabcasecamelCase → kebab-case {{ "userName" | kebabcase }} → user-namequoteОбернуть в двойные кавычки {{ .Values.env | quote }} → "production"squoteОбернуть в одинарные {{ .Values.env | squote }} → 'production'catСклеить через пробел {{ cat "hello" "world" }} → hello worldprintfФорматирование {{ printf "%s:%s" .repo .tag }}indentОтступ N пробелов {{ .data | indent 4 }}nindentNewline + отступ {{ .data | nindent 4 }}
Числовые
Функция Описание Пример intПривести к int {{ .Values.port | int }}int64Привести к int64 {{ .Values.size | int64 }}float64Привести к float {{ .Values.ratio | float64 }}addСложение {{ add .Values.port 1 }}subВычитание {{ sub 10 3 }} → 7mulУмножение {{ mul 3 4 }} → 12divДеление {{ div 10 3 }} → 3modОстаток {{ mod 10 3 }} → 1maxМаксимум {{ max .Values.replicas 1 }}minМинимум {{ min .Values.replicas 10 }}ceilОкругление вверх {{ ceil 1.1 }} → 2floorОкругление вниз {{ floor 1.9 }} → 1roundОкругление (precision) {{ round 3.1416 2 }} → 3.14
Логические и сравнение
Функция Описание Пример defaultЗначение по умолчанию {{ .Values.tag | default "latest" }}emptyПроверка на пустоту {{ if empty .Values.host }}notОтрицание {{ if not .Values.debug }}andЛогическое И {{ if and .Values.tls .Values.host }}orЛогическое ИЛИ {{ if or .Values.dev .Values.test }}coalesceПервое непустое {{ coalesce .Values.tag .Chart.AppVersion "latest" }}ternaryТернарный оператор {{ ternary "yes" "no" .Values.enabled }}eqРавно {{ if eq .Values.env "prod" }}neНе равно {{ if ne .Values.env "test" }}lt / leМеньше / меньше или равно {{ if lt .Values.replicas 3 }}gt / geБольше / больше или равно {{ if gt .Values.replicas 1 }}
Списки
Функция Описание Пример listСоздать список {{ list "a" "b" "c" }}firstПервый элемент {{ first .Values.hosts }}lastПоследний элемент {{ last .Values.hosts }}restВсе кроме первого {{ rest .Values.hosts }}initialВсе кроме последнего {{ initial .Values.hosts }}appendДобавить элемент {{ append .Values.list "new" }}prependДобавить в начало {{ prepend .Values.list "first" }}concatОбъединить списки {{ concat .Values.a .Values.b }}hasЭлемент в списке {{ if has "admin" .Values.roles }}withoutСписок без элемента {{ without .Values.list "bad" }}uniqУникальные элементы {{ .Values.tags | uniq }}sortAlphaСортировка строк {{ .Values.names | sortAlpha }}joinСклеить в строку {{ .Values.args | join "," }}lenДлина списка {{ len .Values.hosts }}compactУбрать пустые элементы {{ .Values.list | compact }}
Словари
Функция Описание Пример dictСоздать словарь {{ dict "key" "value" "k2" "v2" }}getПолучить по ключу {{ get .Values.config "db" }}setУстановить ключ {{ set .Values.labels "env" "prod" }}unsetУдалить ключ {{ unset .Values.labels "temp" }}hasKeyПроверить наличие ключа {{ if hasKey .Values.config "db" }}keysСписок ключей {{ keys .Values.config | sortAlpha }}valuesСписок значений {{ values .Values.config }}mergeСлить (первый приоритетнее) {{ merge .Values.overrides .Values.defaults }}mergeOverwriteСлить (последний приоритетнее) {{ mergeOverwrite .Values.defaults .Values.overrides }}pickВыбрать ключи {{ pick .Values.all "a" "b" }}omitИсключить ключи {{ omit .Values.all "secret" }}deepCopyГлубокая копия {{ deepCopy .Values.config }}
Преобразование типов
Функция Описание Пример toYamlСтруктура → YAML-строка {{ .Values.resources | toYaml }}toJsonСтруктура → JSON {{ .Values.config | toJson }}toPrettyJsonСтруктура → JSON с отступами {{ .Values.config | toPrettyJson }}toTomlСтруктура → TOML {{ .Values.config | toToml }}fromYamlYAML-строка → структура {{ .data | fromYaml }}fromJsonJSON-строка → структура {{ .data | fromJson }}toStringПривести к строке {{ .Values.port | toString }}atoiСтрока → int {{ "8080" | atoi }}
Криптография и кодирование
Функция Описание Пример b64encBase64 encode {{ .Values.password | b64enc }}b64decBase64 decode {{ .encoded | b64dec }}sha1sumSHA-1 хеш {{ .Values.data | sha1sum }}sha256sumSHA-256 хеш {{ .Values.data | sha256sum }}randAlphaNumСлучайная строка (буквы + цифры) {{ randAlphaNum 16 }}randAlphaСлучайная строка (только буквы) {{ randAlpha 8 }}randNumericСлучайная строка (только цифры) {{ randNumeric 6 }}genPrivateKeyRSA/ECDSA private key {{ genPrivateKey "rsa" }}htpasswdApache htpasswd {{ htpasswd "user" "pass" }}
Валидация
Функция Описание Пример requiredОшибка если пусто {{ required "image.tag required" .Values.image.tag }}failЯвная ошибка рендеринга {{ fail "unsupported configuration" }}kindOfТип значения {{ kindOf .Values.port }} → float64kindIsПроверка типа {{ if kindIs "string" .Values.tag }}typeOfGo-тип значения {{ typeOf .Values.config }}
Дата и время
Функция Описание Пример nowТекущее время {{ now }}dateФорматирование {{ now | date "2006-01-02" }}dateModifyСдвиг даты {{ now | dateModify "+2h" }}toDateПарсинг строки {{ toDate "2006-01-02" "2026-03-15" }}unixEpochВ Unix timestamp {{ now | unixEpoch }}
Примечание: Go использует reference-дату Mon Jan 2 15:04:05 MST 2006 для форматирования. 2006-01-02 — не произвольный формат, а конкретные числа из reference-даты.
Полезные однострочники
# Имя ресурса (K8s лимит 63 символа, lowercase, без trailing -)
{{ printf "%s-%s" .Release.Name .Chart.Name | lower | trunc 63 | trimSuffix "-" }}
# Автоматический rollout при изменении ConfigMap
checksum/config : {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
# Image с fallback на AppVersion
image : "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
# Все env из map
{{- range $k , $v := .Values.env }}
- name : {{ $k | upper }}
value : {{ $v | quote }}
{{- end }}
# Опциональный блок целиком
{{- with .Values.tolerations }}
tolerations :
{{- toYaml . | nindent 2 }}
{{- end }}