尝试创建从环境文件夹中获取配置的 configmap。但无法找到正确的语法

trying to create configmap which takes the config from environments folder. but unable to find correct syntax

我正在使用 helm 创建 configmap YAML 文件,我们正在从各自的环境文件夹中注入 JSON 数据,但无法获得准确的 helm 语法。

我们的文件夹结构类似于 files/Dev、files/Tst、Files/ACC、files/PRD

我在 values_dev.yaml

中有环境变量

环境:开发

我的configmap.yaml

data: {{- .Files.Get "files/%s/*".Values.environment" | fromJson | toYaml | nindent 2 }}

但它没有用..非常感谢任何帮助。提前致谢

如果您打算 inject Configmap data 成卷

apiVersion: v1
kind: ConfigMap
metadata:
  name: configmap
data: 
{{- range $path, $_ :=  .Files.Glob  (printf "files/%s/*" .Values.environment ) }}
  {{ base $path }}: |-
{{ $.Files.Get $path | indent 4 }} 
{{ end }}

如果你想configure all key-value pairs in a ConfigMap as container environment variables

apiVersion: v1
kind: ConfigMap
metadata:
  name: configmap
data: 
{{ $files := (.Files.Glob (printf "files/%s/*" .Values.environment ) ) }}
{{- range $k,$v := $files }}
  {{ $file := fromJson ($.Files.Get $k)  }}
  {{- range $key,$val := $file }}
    {{- $key | squote }}: {{ $val | squote }}
  {{ end }}
{{ end }}

文件结构

.
├── Chart.yaml
├── files
│   └── dev
│       └── file1.json
├── templates
│   ├── _helpers.tpl
│   ├── configmap.yaml
│   └── pod.yaml
└── values.yaml