将字符串转换为 YAML 映射

Convert string to YAML map

在 values.yaml 中,我有另一个编码为 base64 的 yaml 配置。在模板中,我用

对其进行解码
{{ $config := b64dec .Values.config }}

而且我需要像访问地图一样访问它,所以需要的是一种类似于文件 AsConfig 的模拟文件,但用于字符串。

你可以使用Helm的fromYaml功能(除了this commit没有找到任何文档)

config.yamlcat config.yaml | base64

编码
xxx: yyy
zzz: qqq

values.yaml

config: eHh4OiB5eXkKenp6OiBxcXEK

secret.yaml

{{ $config :=  (b64dec .Values.config) | fromYaml  }}
apiVersion: v1
kind: Secret
metadata:
  name: secret
type: Opaque
data:
  test: {{  $config.xxx }}

头盔模板

/mnt/c/home/chart> helm template .
---
# Source: chart/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: secret
type: Opaque
data:
  test: yyy