将字符串转换为 YAML 映射
Convert string to YAML map
在 values.yaml 中,我有另一个编码为 base64 的 yaml 配置。在模板中,我用
对其进行解码
{{ $config := b64dec .Values.config }}
而且我需要像访问地图一样访问它,所以需要的是一种类似于文件 AsConfig 的模拟文件,但用于字符串。
你可以使用Helm的fromYaml
功能(除了this commit没有找到任何文档)
config.yaml 用 cat 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
在 values.yaml 中,我有另一个编码为 base64 的 yaml 配置。在模板中,我用
对其进行解码{{ $config := b64dec .Values.config }}
而且我需要像访问地图一样访问它,所以需要的是一种类似于文件 AsConfig 的模拟文件,但用于字符串。
你可以使用Helm的fromYaml
功能(除了this commit没有找到任何文档)
config.yaml 用 cat 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