@@ -58,11 +58,24 @@ func NewConfigLoader(kubeconfig, context string) clientcmd.ClientConfig {
5858}
5959
6060func NewClient (kubeconfig , context , namespace string ) (KubeClient , error ) {
61+ client := KubeClient {
62+ Context : context ,
63+ Namespace : namespace ,
64+ }
65+
6166 configLoader := NewConfigLoader (kubeconfig , context )
62- var client KubeClient
6367
64- if rawConfig , err := configLoader .RawConfig (); err == nil {
65- client .Context = rawConfig .CurrentContext
68+ if client .Context == "" {
69+ if rawConfig , err := configLoader .RawConfig (); err == nil {
70+ client .Context = rawConfig .CurrentContext
71+ }
72+ }
73+
74+ if client .Namespace == "" {
75+ var err error
76+ if client .Namespace , _ , err = configLoader .Namespace (); err != nil {
77+ return client , err
78+ }
6679 }
6780
6881 var err error
@@ -72,14 +85,6 @@ func NewClient(kubeconfig, context, namespace string) (KubeClient, error) {
7285
7386 client .ClientConfig .UserAgent = rest .DefaultKubernetesUserAgent ()
7487
75- if namespace == "" {
76- if client .Namespace , _ , err = configLoader .Namespace (); err != nil {
77- return client , err
78- }
79- } else {
80- client .Namespace = namespace
81- }
82-
8388 if client .ClientSet , err = kubernetes .NewForConfig (client .ClientConfig ); err != nil {
8489 return client , err
8590 }
@@ -88,5 +93,5 @@ func NewClient(kubeconfig, context, namespace string) (KubeClient, error) {
8893 return client , err
8994 }
9095
91- return client , err
96+ return client , nil
9297}
0 commit comments