Самый простой подход - полностью избежать проблемы. Когда вы helm install
или helm upgrade
диаграммы, вы можете указать любое количество опций -f
для указания дополнительных файлов значений YAML. Вы можете поместить указанную c конфигурацию хранилища (то, что у вас есть под ключом верхнего уровня thanosObjectStoreConfig
) в отдельный файл с фиксированным ключом верхнего уровня и helm install -f
с разными файлами в разных средах.
helm install -f values-production.yaml ...
Если вы действительно хотите переключить это на основе ключа, базовый Go текст / шаблон язык включает в себя функцию index
, которая может выполнять динамический c поиск:
{{- $key := .Values.prometheus.prometheusSpec.thanos.objectStorageConfig.name }}
data:
storage: {{ index .Values $key | toYaml | b64enc }}