我有这样的目录结构
$ tree .
.
├── Chart.yaml
├── datafiles
│ ├── index.html
│ ├── style.css
│ ├── exclude.txt
│ └── text
│ ├── file1.txt
│ ├── file2.txt
我想创建具有这些条件的配置图
- 仅包含数据文件目录中的文件,并排除任何子目录(例如文本)
- 能够从父目录中排除选择性文件,例如 except.txt
- 能够对值文件中的值进行模板化,例如index.html中的某些值将来自values.yaml文件,因此预计使用tpl函数。
我可以使用下面的模式创建配置映射,但它往往也包含子目录中的所有文件,也无法包含像 index.html 这样的文件的 tpl 函数
---
apiVersion: v1
kind: ConfigMap
metadata:
name: tpl-index
data:
{{ $currentScope := . }}
{{- range $path, $_ := .Files.Glob "datafiles/**" }}
{{- if not .Files.IsDir $path }}
{{ (base $path) }}: |-
{{ tpl .Files.Get $path | indent 4 }}
{{- end }}
{{- end }}