Browse Source

add k8s namespace override for capi provisioned cluster (#2994)

Co-authored-by: David Townley <davidtownley@Davids-MacBook-Air.local>
dt3-5 3 năm trước cách đây
mục cha
commit
06c5eba0a6
1 tập tin đã thay đổi với 16 bổ sung1 xóa
  1. 16 1
      internal/kubernetes/config.go

+ 16 - 1
internal/kubernetes/config.go

@@ -287,7 +287,22 @@ func (conf *OutOfClusterConfig) GetClientConfigFromCluster() (clientcmd.ClientCo
 		if err != nil {
 			return nil, err
 		}
-		return clientcmd.NewClientConfigFromBytes([]byte(rc))
+		clientConfig, err := clientcmd.NewClientConfigFromBytes([]byte(rc))
+		if err != nil {
+			return nil, err
+		}
+		rawConfig, err := clientConfig.RawConfig()
+		if err != nil {
+			return nil, err
+		}
+
+		overrides := &clientcmd.ConfigOverrides{}
+
+		overrides.Context = api.Context{
+			Namespace: conf.DefaultNamespace,
+		}
+
+		return clientcmd.NewDefaultClientConfig(rawConfig, overrides), nil
 	}
 
 	if conf.Cluster.AuthMechanism == models.Local {