Helm 条件检查两个值和 return 有用的消息
Helm condition check on two values and return useful message
我想检查以下值,并想在 rendering/installing 期间向图表用户提供有用的信息。我的条件已经在工作,但它没有退出它只是在条件失败时不呈现。
clusterabc:
- name: dc1
replica: 2
ip: ["xx", "y"]
# my condition is to check the length of ip array and the replica should be same if not then use should get a message to check... this mismatch
这是有效的,但没有抛出错误
{{- if and (eq (len $value.ip | int) ($value.replica | int))) (eq $.Values.dc $value.name }}
如何给用户一个像required
函数
这样的错误
无条件地 returns 空字符串和指定文本的错误。这在其他条件确定模板渲染应该失败的情况下很有用。
失败“请接受最终用户许可协议”
演示
values.yaml
clusterabc:
- name: dc1
replica: 3
ip: ["xx", "y"]
template/NOTES.txt
Check the length of ip array and the replica should be same
{{- $flag := true -}}
{{- range $i, $val := $.Values.clusterabc -}}
{{- if ne (len $val.ip | int) ($val.replica | int) -}}
{{- $flag = false }}
{{- end -}}
{{- end -}}
{{- if not $flag -}}
{{ fail "check clusterabc fail..." }}
{{- else }}
check clusterabc success...
{{- end -}}
helm 安装 xxxx .
输出:
Error: execution error at (xxx/templates/NOTES.txt:xx:x): check clusterabc fail...
我想检查以下值,并想在 rendering/installing 期间向图表用户提供有用的信息。我的条件已经在工作,但它没有退出它只是在条件失败时不呈现。
clusterabc:
- name: dc1
replica: 2
ip: ["xx", "y"]
# my condition is to check the length of ip array and the replica should be same if not then use should get a message to check... this mismatch
这是有效的,但没有抛出错误
{{- if and (eq (len $value.ip | int) ($value.replica | int))) (eq $.Values.dc $value.name }}
如何给用户一个像required
函数
无条件地 returns 空字符串和指定文本的错误。这在其他条件确定模板渲染应该失败的情况下很有用。
失败“请接受最终用户许可协议”
演示
values.yaml
clusterabc:
- name: dc1
replica: 3
ip: ["xx", "y"]
template/NOTES.txt
Check the length of ip array and the replica should be same
{{- $flag := true -}}
{{- range $i, $val := $.Values.clusterabc -}}
{{- if ne (len $val.ip | int) ($val.replica | int) -}}
{{- $flag = false }}
{{- end -}}
{{- end -}}
{{- if not $flag -}}
{{ fail "check clusterabc fail..." }}
{{- else }}
check clusterabc success...
{{- end -}}
helm 安装 xxxx .
输出:
Error: execution error at (xxx/templates/NOTES.txt:xx:x): check clusterabc fail...