diff --git a/cmd/helm/install.go b/cmd/helm/install.go index c0aaad653..864a13860 100644 --- a/cmd/helm/install.go +++ b/cmd/helm/install.go @@ -205,7 +205,7 @@ func runInstall(args []string, client *action.Install, valueOpts *values.Options } } - client.Namespace = action.GetNamespace() + client.Namespace = action.GetNamespace(settings) return client.Run(chartRequested, vals) } diff --git a/cmd/helm/lint.go b/cmd/helm/lint.go index 11dc2dc3f..c259b1f37 100644 --- a/cmd/helm/lint.go +++ b/cmd/helm/lint.go @@ -51,7 +51,7 @@ func newLintCmd(out io.Writer) *cobra.Command { if len(args) > 0 { paths = args } - client.Namespace = action.GetNamespace() + client.Namespace = action.GetNamespace(settings) vals, err := valueOpts.MergeValues(getter.All(settings)) if err != nil { return err diff --git a/pkg/action/action.go b/pkg/action/action.go index 063f4cde7..e12698c11 100644 --- a/pkg/action/action.go +++ b/pkg/action/action.go @@ -56,7 +56,6 @@ var ( config genericclioptions.RESTClientGetter configOnce sync.Once - settings *cli.EnvSettings ) // ValidName is a regular expression for names. @@ -215,11 +214,10 @@ func (c *Configuration) recordRelease(r *release.Release) { } // InitActionConfig initializes the action configuration -func InitActionConfig(envsettings *cli.EnvSettings, allNamespaces bool, helmDriver string, log debug) (*Configuration, error) { - settings = envsettings +func InitActionConfig(envSettings *cli.EnvSettings, allNamespaces bool, helmDriver string, log debug) (*Configuration, error) { var actionConfig Configuration - kubeconfig := kubeConfig() + kubeconfig := kubeConfig(envSettings) kc := kube.New(kubeconfig) kc.Log = log @@ -230,7 +228,7 @@ func InitActionConfig(envsettings *cli.EnvSettings, allNamespaces bool, helmDriv } var namespace string if !allNamespaces { - namespace = GetNamespace() + namespace = GetNamespace(envSettings) } var store *storage.Storage @@ -259,15 +257,15 @@ func InitActionConfig(envsettings *cli.EnvSettings, allNamespaces bool, helmDriv return &actionConfig, nil } -func kubeConfig() genericclioptions.RESTClientGetter { +func kubeConfig(envSettings *cli.EnvSettings) genericclioptions.RESTClientGetter { configOnce.Do(func() { - config = kube.GetConfig(settings.KubeConfig, settings.KubeContext, settings.Namespace) + config = kube.GetConfig(envSettings.KubeConfig, envSettings.KubeContext, envSettings.Namespace) }) return config } //GetNamespace gets the namespace from the configuration -func GetNamespace() string { +func GetNamespace(envSettings *cli.EnvSettings) string { if envSettings.Namespace != "" { return envSettings.Namespace }