пытается создать configmap, который берет конфигурацию из папки окружений. но не смог найти правильный синтаксис - PullRequest
0 голосов
/ 05 августа 2020

Я создаю файл configmap YAML с помощью helm, мы вводим JSON данные из соответствующих папок окружения, но не можем получить точный синтаксис helm.

у нас есть структура папок, такая как files / Dev, files / Tst, Files / A CC, files / PRD

У меня есть переменная среды в среде values_dev.yaml

: Dev

my configmap. yaml

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

но это не сработало .. любая помощь приветствуется. заранее спасибо

1 Ответ

1 голос
/ 05 августа 2020

Если вы планируете вводить данные Configmap в том

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 }}

Если вы хотите настроить все пары ключ-значение в ConfigMap как переменные среды контейнера

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
...