我尝试使用递归来在 ConfigMap.yaml 中添加文件内容,但我似乎没有做对。无论我如何尝试,我都无法获取文件的内容。文件的位置是正确的,因为我无需递归即可获取内容。 {{.Files.Get“config/gitlab.conf”|缩进 4 -}}
任何帮助将不胜感激!谢谢你
ConfigMap.yaml:
{{- if .Values.volConfigMap}}
{{- range .Values.volConfigMap }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .config.configName }}
namespace: {{ $.Release.Namespace }}
data:
{{- if .config.file }}
{{- range $path, $config := .config.file }}
{{ $path }}: |
{{ tpl ($.Files.Get $config) $ | indent 4 -}}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}
Values.yaml:
config:
configName: gitlab-conf
file:
logstash.conf: config/gitlab.conf
输出:
apiVersion: v1
kind: ConfigMap
metadata:
name: gitlab-conf
namespace: elk
data:
logstash.conf: |
|-
标记采用多行字符串。这可能是一种在清单中嵌入大数据块的有用技术,如此处所示。
{{- if .Values.volConfigMap }}
{{- range .Values.volConfigMap }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ .config.configName }}
namespace: {{ $.Release.Namespace }}
data:
{{- if .config.file }}
{{- range $k, $v := .config.file }}
{{ $k }}: |-
{{ $.Files.Get $v | nindent 4 }}
{{- end -}}
{{- end -}}
{{- end -}}
{{- end -}}