Don't append --tiller-namespace flag when running helm3 (#1594)

This commit is contained in:
jayme-github 2020-12-13 02:21:12 +01:00 committed by GitHub
parent 0637973e40
commit 4c0987a618
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 18 deletions

View File

@ -272,6 +272,7 @@ func (c *StateCreator) loadEnvValues(st *HelmState, name string, failOnMissingEn
func (c *StateCreator) scatterGatherEnvSecretFiles(st *HelmState, envSecretFiles []string, envVals map[string]interface{}, readFile func(string) ([]byte, error)) error { func (c *StateCreator) scatterGatherEnvSecretFiles(st *HelmState, envSecretFiles []string, envVals map[string]interface{}, readFile func(string) ([]byte, error)) error {
var errs []error var errs []error
helm := c.getHelm(st)
inputs := envSecretFiles inputs := envSecretFiles
inputsSize := len(inputs) inputsSize := len(inputs)
@ -294,8 +295,8 @@ func (c *StateCreator) scatterGatherEnvSecretFiles(st *HelmState, envSecretFiles
func(id int) { func(id int) {
for path := range secrets { for path := range secrets {
release := &ReleaseSpec{} release := &ReleaseSpec{}
flags := st.appendConnectionFlags([]string{}, release) flags := st.appendConnectionFlags([]string{}, helm, release)
decFile, err := c.getHelm(st).DecryptSecret(st.createHelmContext(release, 0), path, flags...) decFile, err := helm.DecryptSecret(st.createHelmContext(release, 0), path, flags...)
if err != nil { if err != nil {
results <- secretResult{nil, err, path} results <- secretResult{nil, err, path}
continue continue

View File

@ -619,7 +619,7 @@ func (st *HelmState) DeleteReleasesForSync(affectedReleases *AffectedReleases, h
} else { } else {
args = []string{"--purge"} args = []string{"--purge"}
} }
deletionFlags := st.appendConnectionFlags(args, release) deletionFlags := st.appendConnectionFlags(args, helm, release)
m.Lock() m.Lock()
if _, err := st.triggerReleaseEvent("preuninstall", nil, release, "sync"); err != nil { if _, err := st.triggerReleaseEvent("preuninstall", nil, release, "sync"); err != nil {
affectedReleases.Failed = append(affectedReleases.Failed, release) affectedReleases.Failed = append(affectedReleases.Failed, release)
@ -733,7 +733,7 @@ func (st *HelmState) SyncReleases(affectedReleases *AffectedReleases, helm helme
} else { } else {
args = []string{"--purge"} args = []string{"--purge"}
} }
deletionFlags := st.appendConnectionFlags(args, release) deletionFlags := st.appendConnectionFlags(args, helm, release)
m.Lock() m.Lock()
if _, err := st.triggerReleaseEvent("preuninstall", nil, release, "sync"); err != nil { if _, err := st.triggerReleaseEvent("preuninstall", nil, release, "sync"); err != nil {
affectedReleases.Failed = append(affectedReleases.Failed, release) affectedReleases.Failed = append(affectedReleases.Failed, release)
@ -802,7 +802,7 @@ func (st *HelmState) SyncReleases(affectedReleases *AffectedReleases, helm helme
} }
func (st *HelmState) listReleases(context helmexec.HelmContext, helm helmexec.Interface, release *ReleaseSpec) (string, error) { func (st *HelmState) listReleases(context helmexec.HelmContext, helm helmexec.Interface, release *ReleaseSpec) (string, error) {
flags := st.connectionFlags(release) flags := st.connectionFlags(helm, release)
if helm.IsHelm3() && release.Namespace != "" { if helm.IsHelm3() && release.Namespace != "" {
flags = append(flags, "--namespace", release.Namespace) flags = append(flags, "--namespace", release.Namespace)
} }
@ -1738,7 +1738,7 @@ func (st *HelmState) ReleaseStatuses(helm helmexec.Interface, workerLimit int) [
if helm.IsHelm3() && release.Namespace != "" { if helm.IsHelm3() && release.Namespace != "" {
flags = append(flags, "--namespace", release.Namespace) flags = append(flags, "--namespace", release.Namespace)
} }
flags = st.appendConnectionFlags(flags, &release) flags = st.appendConnectionFlags(flags, helm, &release)
return helm.ReleaseStatus(st.createHelmContext(&release, workerIndex), release.Name, flags...) return helm.ReleaseStatus(st.createHelmContext(&release, workerIndex), release.Name, flags...)
}) })
@ -1753,7 +1753,7 @@ func (st *HelmState) DeleteReleases(affectedReleases *AffectedReleases, helm hel
if purge && !helm.IsHelm3() { if purge && !helm.IsHelm3() {
flags = append(flags, "--purge") flags = append(flags, "--purge")
} }
flags = st.appendConnectionFlags(flags, &release) flags = st.appendConnectionFlags(flags, helm, &release)
if helm.IsHelm3() && release.Namespace != "" { if helm.IsHelm3() && release.Namespace != "" {
flags = append(flags, "--namespace", release.Namespace) flags = append(flags, "--namespace", release.Namespace)
} }
@ -1826,7 +1826,7 @@ func (st *HelmState) TestReleases(helm helmexec.Interface, cleanup bool, timeout
flags = append(flags, "--timeout", duration) flags = append(flags, "--timeout", duration)
} }
flags = st.appendConnectionFlags(flags, &release) flags = st.appendConnectionFlags(flags, helm, &release)
return helm.TestRelease(st.createHelmContext(&release, workerIndex), release.Name, flags...) return helm.TestRelease(st.createHelmContext(&release, workerIndex), release.Name, flags...)
}) })
@ -2062,25 +2062,27 @@ func findChartDirectory(topLevelDir string) (string, error) {
} }
// appendConnectionFlags append all the helm command-line flags related to K8s API and Tiller connection including the kubecontext // appendConnectionFlags append all the helm command-line flags related to K8s API and Tiller connection including the kubecontext
func (st *HelmState) appendConnectionFlags(flags []string, release *ReleaseSpec) []string { func (st *HelmState) appendConnectionFlags(flags []string, helm helmexec.Interface, release *ReleaseSpec) []string {
adds := st.connectionFlags(release) adds := st.connectionFlags(helm, release)
for _, a := range adds { for _, a := range adds {
flags = append(flags, a) flags = append(flags, a)
} }
return flags return flags
} }
func (st *HelmState) connectionFlags(release *ReleaseSpec) []string { func (st *HelmState) connectionFlags(helm helmexec.Interface, release *ReleaseSpec) []string {
flags := []string{} flags := []string{}
tillerless := st.HelmDefaults.Tillerless tillerless := st.HelmDefaults.Tillerless
if release.Tillerless != nil { if release.Tillerless != nil {
tillerless = *release.Tillerless tillerless = *release.Tillerless
} }
if !tillerless { if !tillerless {
if release.TillerNamespace != "" { if !helm.IsHelm3() {
flags = append(flags, "--tiller-namespace", release.TillerNamespace) if release.TillerNamespace != "" {
} else if st.HelmDefaults.TillerNamespace != "" { flags = append(flags, "--tiller-namespace", release.TillerNamespace)
flags = append(flags, "--tiller-namespace", st.HelmDefaults.TillerNamespace) } else if st.HelmDefaults.TillerNamespace != "" {
flags = append(flags, "--tiller-namespace", st.HelmDefaults.TillerNamespace)
}
} }
if release.TLS != nil && *release.TLS || release.TLS == nil && st.HelmDefaults.TLS { if release.TLS != nil && *release.TLS || release.TLS == nil && st.HelmDefaults.TLS {
@ -2177,7 +2179,7 @@ func (st *HelmState) flagsForUpgrade(helm helmexec.Interface, release *ReleaseSp
flags = append(flags, "--disable-openapi-validation") flags = append(flags, "--disable-openapi-validation")
} }
flags = st.appendConnectionFlags(flags, release) flags = st.appendConnectionFlags(flags, helm, release)
var err error var err error
flags, err = st.appendHelmXFlags(flags, release) flags, err = st.appendHelmXFlags(flags, release)
@ -2243,7 +2245,7 @@ func (st *HelmState) flagsForDiff(helm helmexec.Interface, release *ReleaseSpec,
flags = append(flags, "--disable-validation") flags = append(flags, "--disable-validation")
} }
flags = st.appendConnectionFlags(flags, release) flags = st.appendConnectionFlags(flags, helm, release)
var err error var err error
flags, err = st.appendHelmXFlags(flags, release) flags, err = st.appendHelmXFlags(flags, release)
@ -2516,7 +2518,7 @@ func (st *HelmState) generateSecretValuesFiles(helm helmexec.Interface, release
} }
path := paths[0] path := paths[0]
decryptFlags := st.appendConnectionFlags([]string{}, release) decryptFlags := st.appendConnectionFlags([]string{}, helm, release)
valfile, err := helm.DecryptSecret(st.createHelmContext(release, workerIndex), path, decryptFlags...) valfile, err := helm.DecryptSecret(st.createHelmContext(release, workerIndex), path, decryptFlags...)
if err != nil { if err != nil {
return nil, err return nil, err