Nee*_*rma 11 go-templates kubernetes-helm
我在values.yaml中有以下值
pg_hba:
- hostssl all all 0.0.0.0/0 md5
- host all all 0.0.0.0/0 md5
Run Code Online (Sandbox Code Playgroud)
要求是检查该hostssl行是否存在,如果是,则应进入 if 循环并执行某些操作。
我尝试使用{{ if has "hostssl" .Values.pg_hba }}
,但它仅搜索确切的字符串“hostssll”,而不是整行。
请帮助我如何检查 if 条件下的整行。
Gri*_*kin 29
我还没有完全理解你的问题,所以这里有3个选项。
为了检查两个字符串是否相等,Go 内置了模板函数eq,这里是使用示例:
{{ if eq "line" "line" }}
> true
Run Code Online (Sandbox Code Playgroud)
如果你想检查行是否包含 hostssl字符串。Helm 具有sprig依赖关系——它是提供附加模板功能的模块。这些函数之一是contains,检查字符串是否包含在另一个字符串中:
{{ if contains "cat" "catch" }}
> true
Run Code Online (Sandbox Code Playgroud)
如果你想检查字符串是否hostssl恰好在它的开头,你可以使用另一个函数,由sprig--提供hasPrefix:
{{ if hasPrefix "cat" "catch" }}
> true
Run Code Online (Sandbox Code Playgroud)
以下是提供的所有字符串函数的列表sprig。如果以上选项都不能满足您的要求,您可以使用regex函数进行匹配。
| 归档时间: |
|
| 查看次数: |
49936 次 |
| 最近记录: |