Präzedenz
Chart-values.yaml < Parent-Chart-Overrides <
-f-Dateien (rechts gewinnt) <
--set-json < --set <
--set-string < --set-file <
--set-literal, feste Reihenfolge unabhängig von
der Position im Aufruf.
Subchart-Values unter dem Subchart-Namen scopen;
global: ist in allen Charts sichtbar.
Beim Upgrade ersetzen neue -f/--set-Werte
die gemerkten Overrides komplett, nur ohne neue Werte
übernimmt Helm sie. --reuse-values mergt auf
die alten Werte samt alter Chart-Defaults,
--reset-then-reuse-values auf die alten Werte und die
Defaults des neuen Charts. --reset-values verwirft sie
auch ohne neue Werte.
Secrets-Strategien
Nie Klartext-Secrets in values.yaml im Git. Gängige Muster:
helm-secrets-Plugin + SOPS/age: values verschlüsselt im Repo, Entschlüsselung beim Deploy.
External Secrets Operator / Sealed Secrets: Secret-Lifecycle außerhalb des Charts, Chart referenziert nur den Namen.
CI-Injection: --set-file aus dem
Secret-Store der Pipeline, nichts landet im Repo.
helm upgrade --install shop ./shop -n shop \
-f values.yaml -f values-prod.yaml \
--set image.tag=2.8.1 \
--set-file tls.cert=./tls.crt \
--set-json 'resources={"limits":{"cpu":"1"}}'
helm get values shop -n shop # gemerkte Overrides