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函数

这样的错误

fail

无条件地 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...