helm configmap 的 .Files.Glob 模式

helm configmap 的 .Files.Glob 模式

我有这样的目录结构

$ tree .
.
├── Chart.yaml
├── datafiles
│   ├── index.html
│   ├── style.css
│   ├── exclude.txt
│   └── text
│       ├── file1.txt
│       ├── file2.txt

我想创建具有这些条件的配置图

  1. 仅包含数据文件目录中的文件,并排除任何子目录(例如文本)
  2. 能够从父目录中排除选择性文件,例如 except.txt
  3. 能够对值文件中的值进行模板化,例如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 }}

相关内容