我有一个Yaml文件在一个文件夹为abc.yaml
和内容是
metadata:
test1: apple
test2: banana
test3: cat
container:
image: foo
text: xyz
variables:
ojb: one
meta: two
我有另一个文件values.yaml.j2
需要上述内容的一部分。
metadata:
test4: dog
test5: elephant
{{ .... Here I need test1, test2, test3 from the above (abc.yaml).... }}
container:
name: test
{{ .... Here I need image and text from the above (abc.yaml) ....}}
variables:
ping: pong
{{ ..... Here I need ojb and meta from the above (abc.yaml) .... }}
当我探索Helm go模板时,我发现,Files.Lines
将逐行返回。但是我需要上面提到的特定行。
任何解决方案与go模板wo得到的部分其他yaml文件?
1条答案
按热度按时间p1iqtdky1#
如果 您 知道 另 一 个 文件 是 YAML , Helm 包含 一 个 文档 较少 的
fromYaml
扩展 , 可以 解析 它 。中 的 每 一 个
在 这里 , 您 有 几 个 选项 可以 选择 如何 继续 , 其中 一 个 工具 是 相应 的
toYaml
扩展 , 它 也 是 文档 较少 的 扩展 , 可以 将 任意 结构 转换 回 YAML 。因此 , 一 种 选择 是 直接 发出 您 认为 需要 的 值 :
格式
第 二 种 方法 是 发出 每个 块 的 新 值 , 以及 现有 内容 :
格式
第 三 种 方法 是 在 适当 的 位置 修改 结构 , 然后 让 Helm 把 整个 结构 写成 YAML 。
set
修改 了 字典 , 这 对于 Helm 模板 函数 来说 是 不 寻常 的 。格式