From 9697de54eef8f53b2dc93cf6000d61f11beacb48 Mon Sep 17 00:00:00 2001 From: Scott Rigby Date: Wed, 5 Jul 2017 20:36:19 -0400 Subject: [PATCH] New Helm magic to delete a previous values file key --- cmd/helm/install.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/cmd/helm/install.go b/cmd/helm/install.go index 988e7f0a1..45183ab64 100644 --- a/cmd/helm/install.go +++ b/cmd/helm/install.go @@ -273,6 +273,14 @@ func (i *installCmd) run() error { // Merges source and destination map, preferring values from the source map func mergeValues(dest map[string]interface{}, src map[string]interface{}) map[string]interface{} { for k, v := range src { + // If the new value is literally the string "null", remove the value's key. + // This allows helm's multiple value sources (value files or --set) to + // remove incompatible keys from the previous values. + if v == "null" { + delete(dest, k) + continue + } + // If the key doesn't exist already, then just set the key to that value if _, exists := dest[k]; !exists { dest[k] = v