Helm - 检查值是否不存在或列表的一部分

阿米特·巴拉内斯

假设我的掌舵图下有这个 values.yaml -

tasks:
  - name: test-production-dev
    env:
      - production
      - dev
  - name: test-dev
    env:
      - dev
  - name: test-all

environment_variables:
  STAGE: dev

我想根据这些值运行我的 cronjob -

  • 如果.env不存在 - 随时运行。
  • 如果.env存在 - 只有environment_variables.STAGE.env列表中时才运行。

这就是我到目前为止所做的(没有运气) -

{{- range $.Values.tasks}}
# check if $value.env not exists OR contains stage
{{if or .env (hasKey .env "$.Values.environment_variables.STAGE")  }}
apiVersion: batch/v1
kind: CronJob
...
{{- end}}
---
{{- end}}
zx

值.yaml

tasks:
  - name: test-production-dev
    env:
      - production
      - dev
  - name: test-dev
    env:
      - dev
  - name: test-all
  - name: test-production
    env:
      - production

environment_variables:
  STAGE: dev

模板/xxx.yaml

...
{{- range $.Values.tasks }}
{{- $flag := false }}
{{- if .env }}
{{- range .env }}
{{- if eq . $.Values.environment_variables.STAGE }}
{{- $flag = true }}
{{- end }}
{{- end }}
{{- else }}
{{- $flag = true }}
{{- end }}
{{- if $flag }}
apiVersion: batch/v1
kind: CronJob
meta:
  name: {{ .name }}
{{- end }}
{{- end }}
...

输出

...
apiVersion: batch/v1
kind: CronJob
meta:
  name: test-production-dev
apiVersion: batch/v1
kind: CronJob
meta:
  name: test-dev
apiVersion: batch/v1
kind: CronJob
meta:
  name: test-all
...

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

检查输入是否是列表的一部分

如何检查列表是否包含值的一部分?

Helm 范围列表与元组

提取文件路径的一部分,如果不存在,则提取“ /”

检查字符串的第一部分是否存在于表中的值列表中

Helm 拆分全局部分

检查列表是否是列表保持顺序的一部分并查找位置

Helm(或Kubernetes)是否缓存图表?

根据Helm图表设置值

Helm 覆盖通用模板值

Helm不接受值YAML

修改 Airflow Helm 图表值

Android-使用文件名的一部分检查文件是否存在

检查HashMap中是否存在字符串的一部分

检查哈希表的键中是否存在字符串的一部分

检查是否包含数组的一部分

检查选择中的值是否为其他值集的一部分

如何在文件中搜索模式,然后提取模式的一部分,或者如果模式不存在,则提供默认值?

如何验证 values.yaml 中不存在的 Helm 值

当最后一部分可能不存在时在python中拆分字符串

如果字段中不存在字符串的一部分,则 MSSQL 显示为空

使用 'in' 来检查单词是否是列表中项目的一部分

Prolog检查列表是否为序列的一部分

Python:检查列表元素是否是文件路径的一部分

PHP检查值是否是具有共同差异的数字序列的一部分

如何检查Datatable值是否包含字符串输入的一部分?

Helm --根据值设置访问列表项

遍历helm中的值列表时出错

检查列表是否是另一个列表的一部分,同时保留列表序列