我在values.yaml中具有以下值
pg_hba:
- hostssl all all 0.0.0.0/0 md5
- host all all 0.0.0.0/0 md5
解决方法是检查hostssl
行是否存在,如果是,则应进入if循环并执行某些操作。
我尝试使用{{ if has "hostssl" .Values.pg_hba }}
但只针对确切的字符串“ hostssll”而不是整行进行搜索。
请帮助我如何检查是否存在条件线。
答案 0 :(得分:1)
我还没有完全理解您的问题,所以这里有3种选择。
要检查两个字符串是否相等,Go内置了模板函数eq
,下面是使用示例:
{{ if eq "line" "line" }}
> true
如果要检查行是否包含 hostssl
字符串。 Helm具有sprig
作为依赖项-它是提供附加模板功能的模块。这些功能之一是contains
,它检查字符串是否包含在另一个函数中:
{{ if contains "cat" "catch" }}
> true
如果您要检查字符串是否刚开始具有hostssl
,则可以使用sprig
-hasPrefix
提供的另一个函数:
{{ if hasPrefix "cat" "catch" }}
> true
sprig
提供的Here is a list of all string functions。如果以上选项均不能满足您的要求,则可以使用正则表达式进行匹配。