Переопределить файл конфигурации config в helm

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

Файл configuration.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 работает

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

1 ответ

Добавление пользовательской конфигурации в файл значений и выполнение 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

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

Другие вопросы по тегам