This is an automated email from the ASF dual-hosted git repository.

zhongxjian pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-kubernetes.git


The following commit(s) were added to refs/heads/master by this push:
     new 690a0fa9 [operator] replenish k8s clientcmd util
690a0fa9 is described below

commit 690a0fa9bb4bed0421cb492725deac2610c698e4
Author: mfordjody <[email protected]>
AuthorDate: Sun Dec 8 11:32:01 2024 +0800

    [operator] replenish k8s clientcmd util
---
 pkg/util/kube/client.go | 15 +++++++++++++++
 pkg/util/kube/util.go   | 16 +++++++++++++---
 2 files changed, 28 insertions(+), 3 deletions(-)

diff --git a/pkg/util/kube/client.go b/pkg/util/kube/client.go
new file mode 100644
index 00000000..87ce2496
--- /dev/null
+++ b/pkg/util/kube/client.go
@@ -0,0 +1,15 @@
+package kube
+
+import (
+       apiextensionsv1 
"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
+       "k8s.io/apimachinery/pkg/runtime"
+       utilruntime "k8s.io/apimachinery/pkg/util/runtime"
+       kubescheme "k8s.io/client-go/kubernetes/scheme"
+)
+
+func dubboScheme() *runtime.Scheme {
+       scheme := runtime.NewScheme()
+       utilruntime.Must(kubescheme.AddToScheme(scheme))
+       utilruntime.Must(apiextensionsv1.AddToScheme(scheme))
+
+}
diff --git a/pkg/util/kube/util.go b/pkg/util/kube/util.go
index 971f0ecb..1b244f9f 100644
--- a/pkg/util/kube/util.go
+++ b/pkg/util/kube/util.go
@@ -2,6 +2,7 @@ package kube
 
 import (
        corev1 "k8s.io/api/core/v1"
+       "k8s.io/apimachinery/pkg/runtime/serializer"
        "k8s.io/client-go/rest"
        "k8s.io/client-go/tools/clientcmd"
 
@@ -9,6 +10,14 @@ import (
 )
 
 func DefaultRestConfig(kubeconfig, context string, fns ...func(config 
*rest.Config)) (*rest.Config, error) {
+       bcc, err := BuildClientConfig(kubeconfig, context)
+       if err != nil {
+               return nil, err
+       }
+       for _, fn := range fns {
+               fn(bcc)
+       }
+       return bcc, nil
 }
 
 func BuildClientConfig(kubeconfig, context string) (*rest.Config, error) {
@@ -16,10 +25,10 @@ func BuildClientConfig(kubeconfig, context string) 
(*rest.Config, error) {
        if err != nil {
                return nil, err
        }
-       return
+       return c, nil
 }
 
-func SetRestDefaults(config *rest.Config) (*rest.Config) {
+func SetRestDefaults(config *rest.Config) *rest.Config {
        if config.GroupVersion == nil || config.GroupVersion.Empty() {
                config.GroupVersion = &corev1.SchemeGroupVersion
        }
@@ -31,6 +40,7 @@ func SetRestDefaults(config *rest.Config) (*rest.Config) {
                }
        }
        if config.NegotiatedSerializer == nil {
+               config.NegotiatedSerializer = 
serializer.NewCodecFactory(dubboScheme()).WithoutConversion()
        }
        return config
 }
@@ -53,4 +63,4 @@ func BuildClientCmd(kubeconfig, context string, overrides 
...func(configOverride
                fn(configOverrides)
        }
        return 
clientcmd.NewNonInteractiveDeferredLoadingClientConfig(loadingRules, 
configOverrides)
-}
\ No newline at end of file
+}

Reply via email to