Переопределить файл конфигурации config в helm - PullRequest
0 голосов
/ 29 июня 2018

У нас есть рули для развертывания нашего приложения. Мы используем файл configuration.json для свойств приложения и загружаем их для настройки карты. Но пользователи обычно используют свой собственный файл конфигурации.

Файл default.json по умолчанию упакован в рулевые диаграммы под руководством данных. Этот файл читается как

apiVersion: v1
kind: ConfigMap
metadata:
  name: app-config
data:
{{ (.Files.Glob .Values.appConfigFile).AsConfig | indent 4}}

А в значениях

appConfigFile: data/configuration.json

Если пользователи устанавливают наши графики непосредственно из репозитория, как этот файл конфигурации может быть переопределен? --set appConfigFile=/path/to/custom.json не заполняет карту конфигурации.

Если диаграммы не направлены в каталог, они могут добавить пользовательский файл конфигурации в каталог диаграмм и передать файл конфигурации, используя --set appConfigFile=customData/custom.json works

Можно ли добиться переопределения файлов при непосредственном развертывании диаграмм из репозитория?

1 Ответ

0 голосов
/ 04 июля 2018

Добавление пользовательской конфигурации в файл значений и выполнение helm install с использованием флага -f является решением.

customValues.yaml

overrideConfig: true
customConfig:{
//Add your custom json here as variable value
}

Конфиг карты yaml

#If custom values file passed then overrideConfig variable will be set. 
#So load configmap from customConfig variable
{{ if .Values.overrideConfig}}
    app-config.json : |-
      {{ toJson .Values.customConfig }}
{{ else }}
# Else load from the default configuration available in charts.
{{ (.Files.Glob .Values.appConfigFile).AsConfig indent 4 }}
{{ end }}

Если требуется пользовательская конфигурация

helm install -f customValues.yaml repo/chartName

Не уверен, что это идеальное решение, но в итоге выбрал этот маршрут.

...