helm - 将 yaml 文件内容转换为 json

问题描述 投票:0回答:1

我想在 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
有关。有什么功能或东西可以达到预期的结果吗?

kubernetes-helm helm3
1个回答
0
投票

正如 Marcos Toledo 在他的 评论中建议的那样,在

fromYaml
为我工作之前使用
toPrettyJson

© www.soinside.com 2019 - 2024. All rights reserved.