go - Helm : How to convert a string into lower/upper case inside if-else condition?

标签 go kubernetes kubernetes-helm

用例:我有 values.yaml,其中有一个字段 mode

值.yaml

mode: start

或者用户可以通过以下任何一种方式为字段 mode 输入值:

mode: STart or START or sTart

现在,我有一个文件,我在其中使用 if 条件,如下所示:

command: {{ if eq .Values.mode "start" }} do this {{ esle }} do that {{ end }}

现在,我面临的挑战是如何在进行比较之前将“.Values.mode”转换为小写字母。我尝试了以下提到的方法:

1.

{{ if eq .Values.mode | lower "start" }} do this {{ esle }} do that {{ end }}
{{ if eq lower .Values.mode "start" }} do this {{ esle }} do that {{ end }}

以上两种方法都出错了。

注意:我们使用的是第三方工具,因此 JSON 模式检查对我没有帮助。

最佳答案

lower是在模板中交给你的一个功能。它有一个返回值,您希望将其与另一个值进行比较。

只需将 lower 的函数调用用括号括起来:

{{ if eq "start" (lower .Values.mode) }} do this {{ else }} do that {{ end }}

关于go - Helm : How to convert a string into lower/upper case inside if-else condition?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66785224/

相关文章:

django - 在生产运行时中运行Django检查

kubernetes - 水平 Pod Autoscale 无法读取指标

json - Go中的自定义配置加载

go - 如何在 Go 语言中读取 config.json?

kubernetes - kubectl current-context - 是否可以保持多个当前上下文处于事件状态?

kubernetes - 安装指标服务器时无法完全收集指标

azure - 使用 Azure ARM 模板创建 AKS 群集并部署我的 Kubernetes 应用程序

kubernetes-helm - Helm 无法评估类型接口(interface) {} 中的字段值

binary - 如何在 Go 中将整数转换为二进制形式,反之亦然

go - 访问同一文件/包中的全局变量