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
+}