diff --git a/go.mod b/go.mod index b0c28396..cb0a796a 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/gosuri/uitable v0.0.4 github.com/hashicorp/go-getter v1.7.1 github.com/helmfile/vals v0.23.0 - github.com/imdario/mergo v0.3.13 + github.com/imdario/mergo v0.3.14 github.com/spf13/cobra v1.6.1 github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.2 diff --git a/go.sum b/go.sum index a4978752..124c0714 100644 --- a/go.sum +++ b/go.sum @@ -656,6 +656,8 @@ github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1: github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= +github.com/imdario/mergo v0.3.14 h1:fOqeC1+nCuuk6PKQdg9YmosXX7Y7mHX6R/0ZldI9iHo= +github.com/imdario/mergo v0.3.14/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= github.com/inconshreveable/mousetrap v1.0.1 h1:U3uMjPSQEBMNp1lFxmllqCPM6P5u/Xq7Pgzkat/bFNc= github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/itchyny/astgen-go v0.0.0-20200116103543-aaa595cf980e/go.mod h1:9Gyr9nZoENI+woes+xm+BFhmvYmAp6bPtXD866pQH9g= diff --git a/pkg/environment/environment.go b/pkg/environment/environment.go index e7e92709..427f6db6 100644 --- a/pkg/environment/environment.go +++ b/pkg/environment/environment.go @@ -68,7 +68,7 @@ func (e *Environment) Merge(other *Environment) (*Environment, error) { } copy := e.DeepCopy() if other != nil { - if err := mergo.Merge(©, other, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(©, other, mergo.WithOverride); err != nil { return nil, err } } @@ -78,11 +78,11 @@ func (e *Environment) Merge(other *Environment) (*Environment, error) { func (e *Environment) GetMergedValues() (map[string]interface{}, error) { vals := map[string]interface{}{} - if err := mergo.Merge(&vals, e.Defaults, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&vals, e.Defaults, mergo.WithOverride); err != nil { return nil, err } - if err := mergo.Merge(&vals, e.Values, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&vals, e.Values, mergo.WithOverride); err != nil { return nil, err } diff --git a/pkg/state/create.go b/pkg/state/create.go index f9f6a252..2f380b17 100644 --- a/pkg/state/create.go +++ b/pkg/state/create.go @@ -151,7 +151,7 @@ func (c *StateCreator) LoadEnvValues(target *HelmState, env string, ctxEnv, over return nil, err } - if err := mergo.Merge(&e.Defaults, newDefaults, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&e.Defaults, newDefaults, mergo.WithOverride); err != nil { return nil, err } @@ -252,7 +252,7 @@ func (c *StateCreator) loadEnvValues(st *HelmState, name string, failOnMissingEn if ctxEnv != nil { intCtxEnv := *ctxEnv - if err := mergo.Merge(&intCtxEnv, newEnv, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&intCtxEnv, newEnv, mergo.WithOverride); err != nil { return nil, fmt.Errorf("error while merging environment values for \"%s\": %v", name, err) } @@ -262,7 +262,7 @@ func (c *StateCreator) loadEnvValues(st *HelmState, name string, failOnMissingEn if overrode != nil { intOverrodeEnv := *newEnv - if err := mergo.Merge(&intOverrodeEnv, overrode, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&intOverrodeEnv, overrode, mergo.WithOverride); err != nil { return nil, fmt.Errorf("error while merging environment overrode values for \"%s\": %v", name, err) } @@ -358,7 +358,7 @@ func (c *StateCreator) scatterGatherEnvSecretFiles(st *HelmState, envSecretFiles if result.err != nil { errs = append(errs, result.err) } else { - if err := mergo.Merge(&envVals, &result.result, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&envVals, &result.result, mergo.WithOverride); err != nil { errs = append(errs, fmt.Errorf("failed to load environment secrets file \"%s\": %v", result.path, err)) } } diff --git a/pkg/state/envvals_loader.go b/pkg/state/envvals_loader.go index c8af966e..5a1d29b3 100644 --- a/pkg/state/envvals_loader.go +++ b/pkg/state/envvals_loader.go @@ -90,7 +90,7 @@ func (ld *EnvironmentValuesLoader) LoadEnvironmentValues(missingFileHandler *str if err != nil { return nil, err } - if err := mergo.Merge(&result, &vals, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&result, &vals, mergo.WithOverride); err != nil { return nil, fmt.Errorf("failed to merge %v: %v", m, err) } } diff --git a/pkg/state/state.go b/pkg/state/state.go index e0c05948..eec92637 100644 --- a/pkg/state/state.go +++ b/pkg/state/state.go @@ -1550,7 +1550,7 @@ func (st *HelmState) WriteReleasesValues(helm helmexec.Interface, additionalValu return []error{fmt.Errorf("unmarshalling yaml %s: %w", f, err)} } - if err := mergo.Merge(&merged, &src, mergo.WithOverride, mergo.WithOverwriteWithEmptyValue); err != nil { + if err := mergo.Merge(&merged, &src, mergo.WithOverride); err != nil { return []error{fmt.Errorf("merging %s: %w", f, err)} } }