Fix: Release options should override helm defaults (#497)
Options specified in releases (e.g. `recreatePods`) should override the respective options set in `helmDefaults`. Currently, `helmDefaults` takes precedence.
In the below example, `--force` should not be passed as an additional deployment argument:
```
helmDefaults:
force: true
releases:
- name: example
namespace: example
chart: some/repo
version: ~1.24.1
force: false
```
Fixes #492
This commit is contained in:
parent
f2996e2452
commit
c4eb95f3ec
|
|
@ -928,11 +928,11 @@ func (st *HelmState) flagsForUpgrade(helm helmexec.Interface, release *ReleaseSp
|
|||
flags = append(flags, "--devel")
|
||||
}
|
||||
|
||||
if release.Verify != nil && *release.Verify || st.HelmDefaults.Verify {
|
||||
if release.Verify != nil && *release.Verify || release.Verify == nil && st.HelmDefaults.Verify {
|
||||
flags = append(flags, "--verify")
|
||||
}
|
||||
|
||||
if release.Wait != nil && *release.Wait || st.HelmDefaults.Wait {
|
||||
if release.Wait != nil && *release.Wait || release.Wait == nil && st.HelmDefaults.Wait {
|
||||
flags = append(flags, "--wait")
|
||||
}
|
||||
|
||||
|
|
@ -944,15 +944,15 @@ func (st *HelmState) flagsForUpgrade(helm helmexec.Interface, release *ReleaseSp
|
|||
flags = append(flags, "--timeout", fmt.Sprintf("%d", timeout))
|
||||
}
|
||||
|
||||
if release.Force != nil && *release.Force || st.HelmDefaults.Force {
|
||||
if release.Force != nil && *release.Force || release.Force == nil && st.HelmDefaults.Force {
|
||||
flags = append(flags, "--force")
|
||||
}
|
||||
|
||||
if release.RecreatePods != nil && *release.RecreatePods || st.HelmDefaults.RecreatePods {
|
||||
if release.RecreatePods != nil && *release.RecreatePods || release.RecreatePods == nil && st.HelmDefaults.RecreatePods {
|
||||
flags = append(flags, "--recreate-pods")
|
||||
}
|
||||
|
||||
if release.Atomic != nil && *release.Atomic || st.HelmDefaults.Atomic {
|
||||
if release.Atomic != nil && *release.Atomic || release.Atomic == nil && st.HelmDefaults.Atomic {
|
||||
flags = append(flags, "--atomic")
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -192,7 +192,6 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
|
|||
},
|
||||
want: []string{
|
||||
"--version", "0.1",
|
||||
"--verify",
|
||||
"--namespace", "test-namespace",
|
||||
},
|
||||
},
|
||||
|
|
@ -228,7 +227,6 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
|
|||
},
|
||||
want: []string{
|
||||
"--version", "0.1",
|
||||
"--force",
|
||||
"--namespace", "test-namespace",
|
||||
},
|
||||
},
|
||||
|
|
@ -264,7 +262,6 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
|
|||
},
|
||||
want: []string{
|
||||
"--version", "0.1",
|
||||
"--recreate-pods",
|
||||
"--namespace", "test-namespace",
|
||||
},
|
||||
},
|
||||
|
|
@ -336,7 +333,6 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
|
|||
},
|
||||
want: []string{
|
||||
"--version", "0.1",
|
||||
"--wait",
|
||||
"--namespace", "test-namespace",
|
||||
},
|
||||
},
|
||||
|
|
@ -395,7 +391,7 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
|
|||
},
|
||||
},
|
||||
{
|
||||
name: "atomic-from-default",
|
||||
name: "atomic-override-default",
|
||||
defaults: HelmSpec{
|
||||
Atomic: true,
|
||||
},
|
||||
|
|
@ -406,6 +402,22 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
|
|||
Name: "test-charts",
|
||||
Namespace: "test-namespace",
|
||||
},
|
||||
want: []string{
|
||||
"--version", "0.1",
|
||||
"--namespace", "test-namespace",
|
||||
},
|
||||
},
|
||||
{
|
||||
name: "atomic-from-default",
|
||||
defaults: HelmSpec{
|
||||
Atomic: true,
|
||||
},
|
||||
release: &ReleaseSpec{
|
||||
Chart: "test/chart",
|
||||
Version: "0.1",
|
||||
Name: "test-charts",
|
||||
Namespace: "test-namespace",
|
||||
},
|
||||
want: []string{
|
||||
"--version", "0.1",
|
||||
"--atomic",
|
||||
|
|
|
|||
Loading…
Reference in New Issue