问题标签 [sprig-template-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
509 浏览

kubernetes - 循环通过 --set-file helm 选项传递的纯文本文件行,然后逐列解析每一行

我有一个 cron 文件,我正在尝试通过--set-file选项传递它。我想循环通过 cron 文件行并为每一行创建 CronJob 类型的新 Kubernetes 对象。

我是这样用的helm instal ... --set-file crons.file=mycron

其中 mycron 文件看起来像一个典型的 cron 文件:

我无法遍历这个简单的纯文本行:

是否有一个函数fromYaml可以使纯文本文件可以通过range函数迭代?

0 投票
3 回答
4056 浏览

kubernetes - 使用 helm 模板助手创建过滤列表

我正在尝试使用 helm 模板帮助values.yaml程序根据每个列表成员中的一个键的值从我的文件中的列表中过滤掉值。

我的图表目前由这些文件组成 -
values.yaml -

模板/命名空间.yaml

模板/_profile-match.tpl

问题是在我的帮助文件中,$newList变量仅在range循环范围内填充,我最终得到一个返回namespaces.yaml模板的空列表。
有没有办法解决这个问题?我是否采取了错误的方法来解决这个问题?

0 投票
2 回答
13569 浏览

go - 尝试评估缺少的嵌套键时,Helm 图表因“nil 指针评估接口 {}”而失败

我正在编写一个 Helm 3 库图表,并想创建一个具有默认值的 YAML。但是,当尝试为不存在的嵌套键设置默认值时,Helm 失败并显示以下错误消息:

nil pointer evaluating interface {}

假设我的 Kubernetes 对象中有这个片段:

如果.Values.deployment.scale定义了,模板会渲染得很好,replicas即使.Values.deployment.scale.replicas没有定义,值也会是 3。

但是,如果未定义父键之一,Helm 将失败并显示上述错误消息。例如,如果values.yaml是以下内容:

渲染将失败:nil pointer evaluating interface {}.scale

即使它的父键未定义,如何为嵌套键设置默认值?

0 投票
1 回答
2627 浏览

kubernetes-helm - 在 Helm 模板中编码整数

我正在为 Web 服务开发一组 Helm 模板,该模板将整数 ID 作为其配置的一部分。该 ID 成为服务端点的一部分,编码为 Web 安全的 base64 字符集:

在我的 Helm 模板中,我想获取该整数 Id 并确定编码值,以便可以将其插入 Nginxlocation块中。实际的编码逻辑类似于(伪代码):

到目前为止,我在 Helm 中得到的最接近的只是创建一个查找,$d := dict "0" "A" "1" "B" "2" "C" ...然后使用{{ .Values.Id | toString | get $d }}.

还有其他方法吗?

0 投票
1 回答
5504 浏览

regex - helm - 用下划线替换特殊字符

k8s & helm 新手。

尝试使用 , 声明部署中的字段,该字段{{ .Release.Name }}不得包含除字母(大写 + 小写)、数字和 _ 以外的字符。

排除的字符应替换为 _,例如: feature/my-feature-1130

应替换为:feature_my_feature_1130

有人可以帮我创建这样一个领域吗?

提前谢谢了!

0 投票
1 回答
2012 浏览

templates - helm 模板中的语法“default (dict) .Values.outer.inner”是什么意思?

给定values.yaml

helm 模板文件中的以下语法是什么意思?

从上下文中,我可以推断出我认为它应该做什么:检查指定的键是否存在于指定的位置。

但是default (dict)...语法从何而来?小树枝?我在以下任何地方都找不到它的记录:

https://v2.helm.sh/docs/chart_template_guide/#template-functions-and-pipelines

https://golang.org/pkg/text/template/#hdr-Functions

http://masterminds.github.io/sprig/

http://masterminds.github.io/sprig/defaults.html

它实际上意味着什么?

0 投票
1 回答
204 浏览

go-templates - 无法将 readFile 的输出转换为 List 进行迭代

我正在使用进行 helm 发布。

我有一个 yaml 文件projects.yaml

values.yaml.gotmpl中,我想遍历projects.yaml的内容:

不幸的是,我收到了这个错误:

我做了很多盲目的尝试来让它发挥作用:

  • {{ range $_, $project := $projects | fromYaml }}
  • {{ range $_, $project := $projects | toYaml }}
  • {{ range $_, $project := $projects | list }}

没门

0 投票
0 回答
1430 浏览

kubernetes-helm - 如何在 helm 中将 2 个列表(容器)合并在一起?

我正在尝试从教程创建自己的图表库:https ://helm.sh/docs/topics/library_charts/ 。在教程中,有一个非常好的函数,它将 2 个 yaml 合并在一起:

我将 Web 部署模板定义为:

当我想覆盖字典时,没关系:

现在我想覆盖资源:

我得到的错误是:

这意味着它尝试在容器列表上创建 2 个元素。

我在 githug 上发现了已关闭的问题:https ://github.com/helm/charts/issues/19855 。

0 投票
1 回答
386 浏览

go - Helm sprig 模板管道和/或否定

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

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

0 投票
1 回答
787 浏览

kubernetes-helm - 使用 Helm 循环 dotenv 文件的行并在 ConfigMap 中呈现为键值对

我有这个.env文件:

我想用这个 .env 文件构建一个配置映射,如下所示:

该算法很简单:

我的舵图默认值为:

我的配置图模板:

我试过这个循环:

但它不起作用