Helm sprig 模板管道和/或否定

我正在尝试使用以下代码在 helm 中创建我的配置映射:


 api: "{{ .Values.global.api }}",

 demo: {{ .Values.global.api | contains "demo" }},

 other: ....,

other如果 Values.global.api 不包含“demo”和“prod”,我想设置为 true。就像是


other: {{ .Values.global.api | NOT (contains "demo" AND contains "prod") }},


千万里不及你
浏览 153回答 1
1回答

慕哥6287543

在 Gotext/template语言中,管道和函数调用是等价的,您可以在任一方向上自由替换{{ x | f a b }}{{ f a b (x) }}您不能像您在这里建议的那样在多个函数之间分配参数;您需要重复它(或将其放入局部变量中)。查看Sprig函数的目录,我不确定是否有任何特定的函数可以满足您的需求,从而使这变得更简单。你必须把它拼出来:demo: {{ not (and (contains "demo" .Values.global.api) (contains "prod" .Values.global.api)) }}正如我在括号中建议的那样,您可以使用局部变量来缩短一点:{{- $api := .Values.global.api }}api: {{ quote $api }}demo: {{ not (and (contains "demo" $api) (contains "prod" $api)) }}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go