В чем проблема с первым вариантом?Если у вас есть собственный файл values.yaml, который вы можете передать helm, зачем вам его удалять из командной строки?
Но если вы готовы немного поиграть ...:)
Один из способов сделать это - создать собственную диаграмму, которая в основном будет пустой, но будет состоять из файла require.yaml, который ссылается на stable/target-chart
.
needs.yaml (рядом с Chart.yaml).
dependencies:
- name: stable/target-chart
version: 1.0.0.0.0.0
alias: somealiasforvaluesyaml
В вашем values.yaml вы затем перезаписываете значения этой под-диаграммы:
somealiasforvaluesyaml:
keyfromthattargetchart: newvalue
subkeyfromthattargetchart:
enabled: true
setting: "value"
Псевдоним, который вы даете в require.yaml, является разделом ваших значений.yaml из вашей диаграммы.
Перед установкой необходимо указать helm обновить эти требования:
helm repo update
helm dependency update
, а затем просто helm install
эту (виртуальную?) диаграмму.Эта диаграмма не содержит каких-либо ресурсов, поэтому она не будет называться пакетом в менеджерах пакетов Linux - но они также используют переходные пакеты или пакеты, которые просто являются набором других (например, build-essential)
Учитывая васуже есть values.yaml, чтобы перезаписать их в целевой диаграмме, это все немного?Поскольку cust-values .yaml, передаваемые для установки с -f
, просто должны содержать настройку, так как она внесет изменения в values.yaml из целевой диаграммы, и ваша первая команда в вопросе выглядит как правильный путь.