我想在 k8s helm 模板中使用 YAML 文件并将其转换为 JSON。模板看起来像:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config-file
data:
sounds.json: |-
{{ .Files.Get "file/sounds.yaml" | toPrettyJson | indent 4 }}
file/sounds.yaml
是:
animal:
dog:
sound: bark
cat:
sound: meow
sheep:
sound: baa
helm template
命令的结果是:
$ helm template release-name chart-name
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config-file
data:
sounds.json: |-
"animal:\n dog:\n sound: bark\n cat:\n sound: meow\n sheep:\n sound: baa\n"
但我希望结果是:
apiVersion: v1
kind: ConfigMap
metadata:
name: my-config-value
data:
sounds.json: |-
{
"animal": {
"cat": {
"sound": "meow"
},
"dog": {
"sound": "bark"
},
"sheep": {
"sound": "baa"
}
}
}
如果我使用
.Values
而不是 .Files
我能够得到相同的结果,但我的需要只是与 .Files
有关。有什么功能或东西可以达到预期的结果吗?