问题描述
有没有办法将 yaml 数据存储在配置映射中?
在我的 android:requestLegacyExternalStorage="true"
中,我有类似下面的内容
values.yaml
在我的配置图中,我目前正在做
config:
filters:
- kind: Pod
apiVersion: v1
...
但在结果 ...
data:
config.yaml: |-
{{ .Values.config }}
中,数据是“内联的”并按此格式设置
configmap
哪个不是 ...
data:
config.yaml: >-
map[filters:[map[apiVersion:v1...
,因此无法被读取它的应用解析。
解决方法
假设您有一个 demo-chart
:
.
└── demo
├── charts
├── Chart.yaml
├── templates
│ ├── configmap.yaml
│ ├── _helpers.tpl
│ └── NOTES.txt
└── values.yaml
values.yaml:
config:
filters:
- kind: Pod
apiVersion: v1
configmap.yaml:
{{- if .Values.config }}
apiVersion: v1
kind: ConfigMap
metadata:
name: demo-name
data:
config.yml: |- {{- toYaml .Values.config | nindent 4 }}
{{- end }}
说明: toYaml
将从 values.yaml 加载的数据解析为 YAML 并 nindent
在每行前面放 4 个空格。
检查:
$ helm template demo
---
# Source: demo/templates/configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: demo-name
data:
config.yml: |-
filters:
- apiVersion: v1
kind: Pod
,
更多的是猜测而不是答案,但您是否尝试过:
data:
config.yaml: |-
config:
filters:
- kind: Pod
apiVersion: v1
yaml 中的 >-
和 |-
是有区别的。