default - 设置默认值

当一个值未被定义或者为空时,设置一个默认值。

{{- default "defaultValue" .Values.key -}}

include - 包含其他模板

从另一个模板文件中包含内容。

{{- include "templateName" . -}}

index - 获取映射或列表中的值

获取映射或列表中的值。

{{- index "key" .Values.map -}}
{{- index 0 .Values.list -}}

printf / sprintf - 字符串格式化

格式化字符串输出。

{{- printf "formatString" "value" -}}
{{- sprintf "formatString" "value" -}}

port: "{{- printf "%d" .Values.port -}}"

nindent - 缩进

在多级嵌套的YAML文件中保持正确的缩进。

{{- nindent 2 "content" -}}

{{- toYaml .Values.containerPorts | nindent 6 -}}

split - 分割字符串

分割字符串到列表。

{{- split "delimiter" "string" -}}

join - 连接列表

将列表中的元素连接成一个字符串。

{{- join "delimiter" "list" -}}

字符串函数

字符串格式化
printf "%s-%s" .Chart.Name .Chart.Version
 printf "%10s" .Values.string

截取字符串
{{- substr "string" start length -}}
"{{- substr .Values.longString 0 10 -}}"


#截断字符串
trunc 10

#trim 函数
trim sss 去除首尾空白
trimAll 
trimPrefix "prefix" 去除前缀
trimSuffix "-"  #去除后缀 

lower  转换为小写
upper  转换为大写

replace - 替换字符串
    replace "pattern" "replacement"

split "delimiter" 分割字符串
join - 连接列表

index - 获取字符串中的第N个字符
len - 获取字符串长度

contains - 判断是否包含子串
    contains "substring" "string"
    contains "hello" .Values.string -}}
hasPrefix - 判断是否有前缀
hasSuffix - 判断是否有后缀