Переопределить файл конфигурации 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
Не уверен, что это идеальное решение, но в итоге пошел по этому пути.