将字符串转换为 YAML 映射

Nik*_*lay 3 go-templates kubernetes-helm

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

{{ $config := b64dec .Values.config }}
Run Code Online (Sandbox Code Playgroud)

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

edb*_*ead 6

可以使用Helm的功能(除了这个commitfromYaml之外还没有找到任何文档)

config.yaml编码为cat config.yaml | base64

xxx: yyy
zzz: qqq
Run Code Online (Sandbox Code Playgroud)

值.yaml

config: eHh4OiB5eXkKenp6OiBxcXEK
Run Code Online (Sandbox Code Playgroud)

秘密.yaml

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

舵模板

/mnt/c/home/chart> helm template .
---
# Source: chart/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
  name: secret
type: Opaque
data:
  test: yyy
Run Code Online (Sandbox Code Playgroud)