Feat: support helm flag --enable-dns (#830)
* Support helm flag --enable-dns Signed-off-by: vincent_stchu <24803055+vincentstchu@users.noreply.github.com>
This commit is contained in:
parent
b7233d1238
commit
3d0f0afe3a
|
|
@ -157,6 +157,8 @@ type HelmSpec struct {
|
||||||
KubeContext string `yaml:"kubeContext,omitempty"`
|
KubeContext string `yaml:"kubeContext,omitempty"`
|
||||||
Args []string `yaml:"args,omitempty"`
|
Args []string `yaml:"args,omitempty"`
|
||||||
Verify bool `yaml:"verify"`
|
Verify bool `yaml:"verify"`
|
||||||
|
// EnableDNS, when set to true, enable DNS lookups when rendering templates
|
||||||
|
EnableDNS bool `yaml:"enableDNS"`
|
||||||
// Devel, when set to true, use development versions, too. Equivalent to version '>0.0.0-0'
|
// Devel, when set to true, use development versions, too. Equivalent to version '>0.0.0-0'
|
||||||
Devel bool `yaml:"devel"`
|
Devel bool `yaml:"devel"`
|
||||||
// Wait, if set to true, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful
|
// Wait, if set to true, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful
|
||||||
|
|
@ -233,6 +235,8 @@ type ReleaseSpec struct {
|
||||||
// Verify enables signature verification on fetched chart.
|
// Verify enables signature verification on fetched chart.
|
||||||
// Beware some (or many?) chart repositories and charts don't seem to support it.
|
// Beware some (or many?) chart repositories and charts don't seem to support it.
|
||||||
Verify *bool `yaml:"verify,omitempty"`
|
Verify *bool `yaml:"verify,omitempty"`
|
||||||
|
// EnableDNS, when set to true, enable DNS lookups when rendering templates
|
||||||
|
EnableDNS *bool `yaml:"enableDNS,omitempty"`
|
||||||
// Devel, when set to true, use development versions, too. Equivalent to version '>0.0.0-0'
|
// Devel, when set to true, use development versions, too. Equivalent to version '>0.0.0-0'
|
||||||
Devel *bool `yaml:"devel,omitempty"`
|
Devel *bool `yaml:"devel,omitempty"`
|
||||||
// Wait, if set to true, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful
|
// Wait, if set to true, will wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment are in a ready state before marking the release as successful
|
||||||
|
|
@ -2477,6 +2481,10 @@ func (st *HelmState) flagsForUpgrade(helm helmexec.Interface, release *ReleaseSp
|
||||||
flags = append(flags, "--verify")
|
flags = append(flags, "--verify")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if release.EnableDNS != nil && *release.EnableDNS || release.EnableDNS == nil && st.HelmDefaults.EnableDNS {
|
||||||
|
flags = append(flags, "--enable-dns")
|
||||||
|
}
|
||||||
|
|
||||||
if release.Wait != nil && *release.Wait || release.Wait == nil && st.HelmDefaults.Wait {
|
if release.Wait != nil && *release.Wait || release.Wait == nil && st.HelmDefaults.Wait {
|
||||||
flags = append(flags, "--wait")
|
flags = append(flags, "--wait")
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -235,6 +235,41 @@ func TestHelmState_flagsForUpgrade(t *testing.T) {
|
||||||
"--namespace", "test-namespace",
|
"--namespace", "test-namespace",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name: "enable-dns",
|
||||||
|
defaults: HelmSpec{
|
||||||
|
EnableDNS: false,
|
||||||
|
},
|
||||||
|
release: &ReleaseSpec{
|
||||||
|
Chart: "test/chart",
|
||||||
|
Version: "0.1",
|
||||||
|
EnableDNS: &enable,
|
||||||
|
Name: "test-charts",
|
||||||
|
Namespace: "test-namespace",
|
||||||
|
},
|
||||||
|
want: []string{
|
||||||
|
"--version", "0.1",
|
||||||
|
"--enable-dns",
|
||||||
|
"--namespace", "test-namespace",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
name: "enable-dns-from-default",
|
||||||
|
defaults: HelmSpec{
|
||||||
|
EnableDNS: true,
|
||||||
|
},
|
||||||
|
release: &ReleaseSpec{
|
||||||
|
Chart: "test/chart",
|
||||||
|
Version: "0.1",
|
||||||
|
EnableDNS: &disable,
|
||||||
|
Name: "test-charts",
|
||||||
|
Namespace: "test-namespace",
|
||||||
|
},
|
||||||
|
want: []string{
|
||||||
|
"--version", "0.1",
|
||||||
|
"--namespace", "test-namespace",
|
||||||
|
},
|
||||||
|
},
|
||||||
{
|
{
|
||||||
name: "force",
|
name: "force",
|
||||||
defaults: HelmSpec{
|
defaults: HelmSpec{
|
||||||
|
|
|
||||||
|
|
@ -38,39 +38,39 @@ func TestGenerateID(t *testing.T) {
|
||||||
run(testcase{
|
run(testcase{
|
||||||
subject: "baseline",
|
subject: "baseline",
|
||||||
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw"},
|
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw"},
|
||||||
want: "foo-values-77cb4d7f9b",
|
want: "foo-values-76d4857b56",
|
||||||
})
|
})
|
||||||
|
|
||||||
run(testcase{
|
run(testcase{
|
||||||
subject: "different bytes content",
|
subject: "different bytes content",
|
||||||
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw"},
|
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw"},
|
||||||
data: []byte(`{"k":"v"}`),
|
data: []byte(`{"k":"v"}`),
|
||||||
want: "foo-values-6f6bc74b55",
|
want: "foo-values-55d59fb487",
|
||||||
})
|
})
|
||||||
|
|
||||||
run(testcase{
|
run(testcase{
|
||||||
subject: "different map content",
|
subject: "different map content",
|
||||||
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw"},
|
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw"},
|
||||||
data: map[string]interface{}{"k": "v"},
|
data: map[string]interface{}{"k": "v"},
|
||||||
want: "foo-values-57dfc6cb8f",
|
want: "foo-values-7c8d99f9f7",
|
||||||
})
|
})
|
||||||
|
|
||||||
run(testcase{
|
run(testcase{
|
||||||
subject: "different chart",
|
subject: "different chart",
|
||||||
release: ReleaseSpec{Name: "foo", Chart: "stable/envoy"},
|
release: ReleaseSpec{Name: "foo", Chart: "stable/envoy"},
|
||||||
want: "foo-values-74594bb67",
|
want: "foo-values-7467f76549",
|
||||||
})
|
})
|
||||||
|
|
||||||
run(testcase{
|
run(testcase{
|
||||||
subject: "different name",
|
subject: "different name",
|
||||||
release: ReleaseSpec{Name: "bar", Chart: "incubator/raw"},
|
release: ReleaseSpec{Name: "bar", Chart: "incubator/raw"},
|
||||||
want: "bar-values-bdbb54d7",
|
want: "bar-values-dbdf465b7",
|
||||||
})
|
})
|
||||||
|
|
||||||
run(testcase{
|
run(testcase{
|
||||||
subject: "specific ns",
|
subject: "specific ns",
|
||||||
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw", Namespace: "myns"},
|
release: ReleaseSpec{Name: "foo", Chart: "incubator/raw", Namespace: "myns"},
|
||||||
want: "myns-foo-values-677dcd477",
|
want: "myns-foo-values-6d4874d757",
|
||||||
})
|
})
|
||||||
|
|
||||||
for id, n := range ids {
|
for id, n := range ids {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue