Helm中是否有类似于’tpl’的函数,但如果找不到变量时不会失败?

huangapple go评论81阅读模式
英文:

Is there function in helm similar to 'tpl' but don't fail if variable is not found

问题

假设我有一个文件,内容如下:

这是我的文本文件,它包含:{{ var1 }}和{{ var2 }}

假设我有一个values.yaml文件,内容如下:

var2: some_value

如果我尝试执行以下操作:

{{ (tpl (.Files.Glob "myfile.txt").AsConfig . ) | indent 2 }}

它会失败,因为var1未定义。

但是我想要的结果是:

这是我的文本文件,它包含:{{ var1 }}和some_value

在Helm中,我该如何实现这个目标?

英文:

Let say I have file like

it is my text file with name. It contains:  {{ var1 }}  and {{ var2 }}

Let's say i have values.yaml

var2: some_value

If I try to do

{{ (tpl (.Files.Glob "myfile.txt").AsConfig . ) | indent 2 }}

It will be failed because of var1 is not defined

But I want to have a result like this

it is my text file with name. It contains:  {{ var1 }}  and some_value

How can I achieve it in helm ?

答案1

得分: 1

如果执行模板操作失败,你无法输出模板操作。

你可以使用模板中的 default 函数来处理:

这是我的文本文件,它有一个名称。它包含:
{{ var1 | default "{{var1}}" }} 和 {{ var2 | default "{{var2}}" }}
英文:

You can't output the template action if executing it fails.

What you may do is use the default function in the template:

it is my text file with name. It contains:
{{ var1 | default "{{var1}}" }}  and {{ var2 | default "{{var2}}" }}

huangapple
  • 本文由 发表于 2022年10月5日 23:30:34
  • 转载请务必保留本文链接:https://go.coder-hub.com/73962790.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定