Merge pull request #230 from sjmshsh/master

fix universal buf
diff --git a/conf/dubbo-cp.yaml b/conf/dubbo-cp.yaml
index e82a723..cf2c2c3 100644
--- a/conf/dubbo-cp.yaml
+++ b/conf/dubbo-cp.yaml
@@ -15,6 +15,7 @@
 
 # 可选 k8s half universal
 deploy_mode: k8s
+mode: test
 runtime:
   kubernetes:
     admissionServer:
diff --git a/pkg/config/plugins/runtime/k8s/config.go b/pkg/config/plugins/runtime/k8s/config.go
index 794e6a1..7d4d3fb 100644
--- a/pkg/config/plugins/runtime/k8s/config.go
+++ b/pkg/config/plugins/runtime/k8s/config.go
@@ -40,7 +40,8 @@
 func DefaultKubernetesRuntimeConfig() *KubernetesRuntimeConfig {
 	return &KubernetesRuntimeConfig{
 		AdmissionServer: AdmissionServerConfig{
-			Port: 5443,
+			Address: "localhost",
+			Port:    5443,
 		},
 		MarshalingCacheExpirationTime: config_types.Duration{Duration: 5 * time.Minute},
 		ControllersConcurrency: ControllersConcurrency{
diff --git a/pkg/core/governance/governance_config.go b/pkg/core/governance/governance_config.go
index 382b872..aa89969 100644
--- a/pkg/core/governance/governance_config.go
+++ b/pkg/core/governance/governance_config.go
@@ -25,10 +25,6 @@
 	"dubbo.apache.org/dubbo-go/v3/common"
 	"dubbo.apache.org/dubbo-go/v3/config_center"
 	"dubbo.apache.org/dubbo-go/v3/registry"
-
-	gozk "github.com/dubbogo/go-zookeeper/zk"
-
-	perrors "github.com/pkg/errors"
 )
 
 const group = "dubbo"
@@ -158,9 +154,6 @@
 	}
 	rule, err := zk.configCenter.GetRule(key, config_center.WithGroup(zk.group))
 	if err != nil {
-		if perrors.Is(err, gozk.ErrNoNode) {
-			return "", &RuleNotFound{err}
-		}
 		return "", err
 	}
 	return rule, nil
@@ -173,9 +166,6 @@
 	}
 	err := zk.configCenter.PublishConfig(key, zk.group, value)
 	if err != nil {
-		if perrors.Is(err, gozk.ErrNodeExists) {
-			return &RuleExists{err}
-		}
 		return err
 	}
 	return nil
diff --git a/pkg/core/managers/apis/dataplane/dataplane_manager.go b/pkg/core/managers/apis/dataplane/dataplane_manager.go
index 7ec8cba..036a0ef 100644
--- a/pkg/core/managers/apis/dataplane/dataplane_manager.go
+++ b/pkg/core/managers/apis/dataplane/dataplane_manager.go
@@ -132,6 +132,10 @@
 }
 
 func (m *dataplaneManager) setHealth(dp *core_mesh.DataplaneResource) {
+	if m.zone == "" || dp.Spec.Networking == nil {
+		return
+	}
+
 	for _, inbound := range dp.Spec.Networking.Inbound {
 		if inbound.ServiceProbe != nil {
 			inbound.State = mesh_proto.Dataplane_Networking_Inbound_NotReady
@@ -143,4 +147,9 @@
 	}
 }
 
-func (m *dataplaneManager) setExtensions(dp *core_mesh.DataplaneResource) {}
+func (m *dataplaneManager) setExtensions(dp *core_mesh.DataplaneResource) {
+	if m.zone == "" || dp.Spec.Networking == nil {
+		return
+	}
+
+}
diff --git a/pkg/plugins/resources/traditional/store.go b/pkg/plugins/resources/traditional/store.go
index 1d5edd4..0139fd4 100644
--- a/pkg/plugins/resources/traditional/store.go
+++ b/pkg/plugins/resources/traditional/store.go
@@ -20,6 +20,7 @@
 import (
 	"context"
 	"fmt"
+	"github.com/dubbogo/go-zookeeper/zk"
 	"sync"
 )
 
@@ -582,6 +583,9 @@
 		path := mesh_proto.GetRoutePath(id, consts.TagRoute)
 		cfg, err := c.governance.GetConfig(path)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		if cfg != "" {
@@ -606,6 +610,9 @@
 		path := mesh_proto.GetRoutePath(id, consts.ConditionRoute)
 		cfg, err := c.governance.GetConfig(path)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		if cfg != "" {
@@ -630,6 +637,9 @@
 		path := mesh_proto.GetOverridePath(id)
 		cfg, err := c.governance.GetConfig(path)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		if cfg != "" {
@@ -646,6 +656,9 @@
 		key := opts.Name
 		set, err := c.metadataReport.GetServiceAppMapping(key, mappingGroup, nil)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		meta := &resourceMetaObject{
@@ -672,6 +685,9 @@
 		if revision == "" {
 			children, err := c.regClient.GetChildren(getMetadataPath(app))
 			if err != nil {
+				if errors.Is(err, zk.ErrNoNode) {
+					return nil
+				}
 				return err
 			}
 			revision = children[0]
@@ -679,6 +695,9 @@
 		id := dubbo_identifier.NewSubscriberMetadataIdentifier(app, revision)
 		appMetadata, err := c.metadataReport.GetAppMetadata(id)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		metaData := resource.GetSpec().(*mesh_proto.MetaData)
@@ -704,6 +723,9 @@
 		path := GenerateCpGroupPath(string(resource.Descriptor().Name), opts.Name)
 		value, err := c.regClient.GetContent(path)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		if err := core_model.FromYAML(value, resource.GetSpec()); err != nil {
@@ -742,6 +764,9 @@
 		// 1. 首先获取到所有到key
 		keys, err := c.metadataReport.GetConfigKeysByGroup(mappingGroup)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		for _, key := range keys.Values() {
@@ -749,6 +774,9 @@
 			// 通过key得到所有的mapping映射关系
 			set, err := c.metadataReport.GetServiceAppMapping(key, mappingGroup, nil)
 			if err != nil {
+				if errors.Is(err, zk.ErrNoNode) {
+					return nil
+				}
 				return err
 			}
 			meta := &resourceMetaObject{
@@ -774,6 +802,9 @@
 		rootDir := getMetadataPath()
 		appNames, err := c.regClient.GetChildren(rootDir)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		for _, app := range appNames {
@@ -781,6 +812,9 @@
 			path := getMetadataPath(app)
 			revisions, err := c.regClient.GetChildren(path)
 			if err != nil {
+				if errors.Is(err, zk.ErrNoNode) {
+					return nil
+				}
 				return err
 			}
 			if revisions[0] == "provider" ||
@@ -791,6 +825,9 @@
 				id := dubbo_identifier.NewSubscriberMetadataIdentifier(app, revision)
 				appMetadata, err := c.metadataReport.GetAppMetadata(id)
 				if err != nil {
+					if errors.Is(err, zk.ErrNoNode) {
+						return nil
+					}
 					return err
 				}
 				item := resources.NewItem()
@@ -830,12 +867,18 @@
 		rootDir := getDubboCpPath(string(resources.GetItemType()))
 		names, err := c.regClient.GetChildren(rootDir)
 		if err != nil {
+			if errors.Is(err, zk.ErrNoNode) {
+				return nil
+			}
 			return err
 		}
 		for _, name := range names {
 			path := getDubboCpPath(string(resources.GetItemType()), name)
 			bytes, err := c.regClient.GetContent(path)
 			if err != nil {
+				if errors.Is(err, zk.ErrNoNode) {
+					return nil
+				}
 				return err
 			}
 			item := resources.NewItem()
diff --git a/pkg/plugins/runtime/k8s/controllers/pod_controller.go b/pkg/plugins/runtime/k8s/controllers/pod_controller.go
index 324d76a..66407f6 100644
--- a/pkg/plugins/runtime/k8s/controllers/pod_controller.go
+++ b/pkg/plugins/runtime/k8s/controllers/pod_controller.go
@@ -104,12 +104,12 @@
 		return kube_ctrl.Result{}, r.reconcileZoneEgress(ctx, pod, log)
 	}
 
-	// only Pods with injected Dubbo need a Dataplane descriptor
-	injected, _, err := metadata.Annotations(pod.Annotations).GetEnabled(metadata.DubboSidecarInjectedAnnotation)
+	xdsEnable, xdsExist, err := metadata.Annotations(pod.Annotations).GetEnabled(metadata.DubboXdsEnableAnnotation)
 	if err != nil {
 		return kube_ctrl.Result{}, err
 	}
-	if injected {
+
+	if xdsExist && xdsEnable {
 		return kube_ctrl.Result{}, r.reconcileDataplane(ctx, pod, log)
 	}
 
diff --git a/pkg/plugins/runtime/k8s/metadata/annotations.go b/pkg/plugins/runtime/k8s/metadata/annotations.go
index 896c90a..52b0298 100644
--- a/pkg/plugins/runtime/k8s/metadata/annotations.go
+++ b/pkg/plugins/runtime/k8s/metadata/annotations.go
@@ -45,6 +45,8 @@
 	// which is crucial for Multizone communication
 	DubboEgressAnnotation = "dubbo.io/egress"
 
+	DubboXdsEnableAnnotation = "dubbo.io/xds-enable"
+
 	// DubboSidecarDrainTime allows to specify drain time of Dubbo DP sidecar.
 	DubboSidecarDrainTime = "dubbo.io/sidecar-drain-time"
 
diff --git a/pkg/plugins/runtime/k8s/plugin.go b/pkg/plugins/runtime/k8s/plugin.go
index 93732af..5a342a0 100644
--- a/pkg/plugins/runtime/k8s/plugin.go
+++ b/pkg/plugins/runtime/k8s/plugin.go
@@ -96,8 +96,15 @@
 		Scheme:        mgr.GetScheme(),
 		Log:           core.Log.WithName("controllers").WithName("Pod"),
 		PodConverter: k8s_controllers.PodConverter{
-			ServiceGetter:     mgr.GetClient(),
-			NodeGetter:        mgr.GetClient(),
+			ServiceGetter: mgr.GetClient(),
+			NodeGetter:    mgr.GetClient(),
+			InboundConverter: k8s_controllers.InboundConverter{
+				NameExtractor: k8s_controllers.NameExtractor{
+					ReplicaSetGetter: mgr.GetClient(),
+					JobGetter:        mgr.GetClient(),
+				},
+			},
+			Zone:              rt.Config().Multizone.Zone.Name,
 			ResourceConverter: converter,
 		},
 		ResourceConverter: converter,
diff --git a/pkg/test/component.go b/pkg/test/component.go
index 9f52d36..d4317cc 100644
--- a/pkg/test/component.go
+++ b/pkg/test/component.go
@@ -19,6 +19,7 @@
 
 import (
 	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
+	"github.com/apache/dubbo-kubernetes/pkg/config/core"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/apis/mesh"
 	core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/store"
@@ -26,6 +27,9 @@
 )
 
 func Setup(rt core_runtime.Runtime) error {
+	if rt.GetDeployMode() == core.KubernetesMode {
+		return nil
+	}
 	// 测试mapping资源
 	if err := testMapping(rt); err != nil {
 		return err
diff --git a/test/app/consumer/deployment.yaml b/test/app/consumer/deployment.yaml
index 23409e7..ec83ebf 100644
--- a/test/app/consumer/deployment.yaml
+++ b/test/app/consumer/deployment.yaml
@@ -25,10 +25,11 @@
       app: dubbo-samples-apiserver-consumer
   template:
     metadata:
+      annotations:
+        dubbo.io/xds-enable: enabled
       labels:
         app: dubbo-samples-apiserver-consumer
     spec:
-      serviceAccountName: dubbo-sa
       containers:
         - name: server
           image: apache/dubbo-demo:dubbo-samples-apiserver-consumer_0.0.1
@@ -52,4 +53,4 @@
               path: /startup
               port: 22222
             failureThreshold: 30
-            periodSeconds: 10
\ No newline at end of file
+            periodSeconds: 10
diff --git a/test/app/provider/deployment.yaml b/test/app/provider/deployment.yaml
index d67ed5e..52d34ab 100644
--- a/test/app/provider/deployment.yaml
+++ b/test/app/provider/deployment.yaml
@@ -25,10 +25,11 @@
       app: dubbo-samples-apiserver-provider
   template:
     metadata:
+      annotations:
+        dubbo.io/xds-enable: enabled
       labels:
         app: dubbo-samples-apiserver-provider
     spec:
-      serviceAccountName: dubbo-sa
       containers:
         - name: server
           image: apache/dubbo-demo:dubbo-samples-apiserver-provider_0.0.1
diff --git a/test/app/provider/serviceaccount.yaml b/test/app/provider/serviceaccount.yaml
deleted file mode 100644
index 83ec3a9..0000000
--- a/test/app/provider/serviceaccount.yaml
+++ /dev/null
@@ -1,51 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-apiVersion: v1
-kind: Namespace
-metadata:
-  name: dubbo-system
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: Role
-metadata:
-  namespace: dubbo-system
-  name: dubbo-role
-rules:
-  - apiGroups: [ "" ]
-    resources: [ "pods" ]
-    verbs: [ "get", "watch", "list", "update", "patch" ]
-  - apiGroups: [ "", "service.dubbo.apache.org" ]
-    resources: [ "services", "endpoints", "virtualservices", "destinationrules" ]
-    verbs: [ "get", "watch", "list" ]
----
-apiVersion: v1
-kind: ServiceAccount
-metadata:
-  name: dubbo-sa
-  namespace: dubbo-system
----
-apiVersion: rbac.authorization.k8s.io/v1
-kind: RoleBinding
-metadata:
-  name: dubbo-sa-bind
-  namespace: dubbo-system
-roleRef:
-  apiGroup: rbac.authorization.k8s.io
-  kind: Role
-  name: dubbo-role
-subjects:
-  - kind: ServiceAccount
-    name: dubbo-sa
\ No newline at end of file
diff --git a/test/control-plane/cp.yaml b/test/control-plane/cp.yaml
index f8f113c..cef2f1a 100644
--- a/test/control-plane/cp.yaml
+++ b/test/control-plane/cp.yaml
@@ -59,10 +59,7 @@
           values: ["kube-system"]
     clientConfig:
       caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lSQUtFUngwdFRpUTlkK1Z1SXZDQkZJc1V3RFFZSktvWklodmNOQVFFTEJRQXcKRWpFUU1BNEdBMVVFQXhNSGEzVnRZUzFqWVRBZUZ3MHlOREF6TWpRd056STVNVEphRncwek5EQXpNakl3TnpJNQpNVEphTUJJeEVEQU9CZ05WQkFNVEIydDFiV0V0WTJFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3CmdnRUtBb0lCQVFDMy96cnFjdUdMbmQ3c3EwcThNNEVSS2N6Nm1PWWpZZ3hLYUpNWXNGZ2dPS2tMLytGSXMydG0KVVcxa2tad3hkN1JRbWp6TFBqN0lGbDJVR3d6alBXM3M4L29mUE1CdUFabWVmZSttSkpYYTJvTGJ5MHhoVmRiQQpWM2JMczBiUEhWMlJXSk9aTmlxUk5LSXZQVDh6NWc3UGttOEJGanM4eVhlZ0pPT1hUUUtyeHZoWjFjVWxXTlBQCkFZbnhZbkozVjNOakdCbjlaUjhuZGZ0SnRjNkR4MU5aNlA2Sk01bEl1WlJGazM2WU1Eb0FOV3RPb1gzWXVERSsKMUpsaUFVTDRxWUZnQjYyMFBsNlNudmlOYnNPekVsTHhyOW5tbENhTjRkVS9IMkt4d2NXVjRXbUtqeDNMQUpXSgpJNExRL1RJUi8rVm8zMVk2TWZaT3lMR2VpNHdtOVpxVkFnTUJBQUdqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDCnBEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIKL3pBZEJnTlZIUTRFRmdRVURGTHprb24zWEF1MUNmVks0V29mTlRUTjUvZ3dEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUJITVZvUFpQcVNJMkZzY01BUDh6MmkzVEg2MTE4bjVaMlc2b0pzUEVPR2tTQlRZc0lTcXVpNHp4NUxyCkFFK1R2TkM4YzdYQVI0Zk4wUmpEdmhDU1hudXlUVmZETHQ2UGEybkEzdE94aWtlbDJHNDYyMlkzaldoMCt5d1UKcit3UkwveXFxWnRjUUFCYnp5eTF2bXFpQWRvOTByVDVkYTRwVmJkSW9CNlp2VnlHRjFCcTRPc1poWllobkhUTQpuUG9RZW9aY0xYdlM5Z0lFb0lGaENkZzNhaDhNc2MwUEw5bDlzMHY5a293T1dYT2xrUno1SkJ5SG1VeXdRaEtrCkdlMVFJR1NIcFZ3OHV1UVZUMXJFbU9HRnVFVU1HeDZNRFJHSkwwUkxTMytMYTk2Y0w2WjQrejFkcVNCSlJVdUQKM0k4S29yTklkUTg1OHVGNHJjTndaOXllaUM4PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
-      service:
-        namespace: dubbo-system
-        name: dubbo-control-plane
-        path: /default-dubbo-io-v1alpha1-mesh
+      url: https://localhost:5443/default-dubbo-io-v1alpha1-mesh
     rules:
       - apiGroups:
           - dubbo.io
@@ -84,10 +81,7 @@
           values: ["dubbo-system"]
     clientConfig:
       caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lSQUtFUngwdFRpUTlkK1Z1SXZDQkZJc1V3RFFZSktvWklodmNOQVFFTEJRQXcKRWpFUU1BNEdBMVVFQXhNSGEzVnRZUzFqWVRBZUZ3MHlOREF6TWpRd056STVNVEphRncwek5EQXpNakl3TnpJNQpNVEphTUJJeEVEQU9CZ05WQkFNVEIydDFiV0V0WTJFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3CmdnRUtBb0lCQVFDMy96cnFjdUdMbmQ3c3EwcThNNEVSS2N6Nm1PWWpZZ3hLYUpNWXNGZ2dPS2tMLytGSXMydG0KVVcxa2tad3hkN1JRbWp6TFBqN0lGbDJVR3d6alBXM3M4L29mUE1CdUFabWVmZSttSkpYYTJvTGJ5MHhoVmRiQQpWM2JMczBiUEhWMlJXSk9aTmlxUk5LSXZQVDh6NWc3UGttOEJGanM4eVhlZ0pPT1hUUUtyeHZoWjFjVWxXTlBQCkFZbnhZbkozVjNOakdCbjlaUjhuZGZ0SnRjNkR4MU5aNlA2Sk01bEl1WlJGazM2WU1Eb0FOV3RPb1gzWXVERSsKMUpsaUFVTDRxWUZnQjYyMFBsNlNudmlOYnNPekVsTHhyOW5tbENhTjRkVS9IMkt4d2NXVjRXbUtqeDNMQUpXSgpJNExRL1RJUi8rVm8zMVk2TWZaT3lMR2VpNHdtOVpxVkFnTUJBQUdqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDCnBEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIKL3pBZEJnTlZIUTRFRmdRVURGTHprb24zWEF1MUNmVks0V29mTlRUTjUvZ3dEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUJITVZvUFpQcVNJMkZzY01BUDh6MmkzVEg2MTE4bjVaMlc2b0pzUEVPR2tTQlRZc0lTcXVpNHp4NUxyCkFFK1R2TkM4YzdYQVI0Zk4wUmpEdmhDU1hudXlUVmZETHQ2UGEybkEzdE94aWtlbDJHNDYyMlkzaldoMCt5d1UKcit3UkwveXFxWnRjUUFCYnp5eTF2bXFpQWRvOTByVDVkYTRwVmJkSW9CNlp2VnlHRjFCcTRPc1poWllobkhUTQpuUG9RZW9aY0xYdlM5Z0lFb0lGaENkZzNhaDhNc2MwUEw5bDlzMHY5a293T1dYT2xrUno1SkJ5SG1VeXdRaEtrCkdlMVFJR1NIcFZ3OHV1UVZUMXJFbU9HRnVFVU1HeDZNRFJHSkwwUkxTMytMYTk2Y0w2WjQrejFkcVNCSlJVdUQKM0k4S29yTklkUTg1OHVGNHJjTndaOXllaUM4PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
-      service:
-        namespace: dubbo-system
-        name: dubbo-control-plane
-        path: /owner-reference-dubbo-io-v1alpha1
+      url: https://localhost:5443/owner-reference-dubbo-io-v1alpha1
     rules:
       - apiGroups:
           - dubbo.io
@@ -122,10 +116,7 @@
           values: ["kube-system"]
     clientConfig:
       caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lSQUtFUngwdFRpUTlkK1Z1SXZDQkZJc1V3RFFZSktvWklodmNOQVFFTEJRQXcKRWpFUU1BNEdBMVVFQXhNSGEzVnRZUzFqWVRBZUZ3MHlOREF6TWpRd056STVNVEphRncwek5EQXpNakl3TnpJNQpNVEphTUJJeEVEQU9CZ05WQkFNVEIydDFiV0V0WTJFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3CmdnRUtBb0lCQVFDMy96cnFjdUdMbmQ3c3EwcThNNEVSS2N6Nm1PWWpZZ3hLYUpNWXNGZ2dPS2tMLytGSXMydG0KVVcxa2tad3hkN1JRbWp6TFBqN0lGbDJVR3d6alBXM3M4L29mUE1CdUFabWVmZSttSkpYYTJvTGJ5MHhoVmRiQQpWM2JMczBiUEhWMlJXSk9aTmlxUk5LSXZQVDh6NWc3UGttOEJGanM4eVhlZ0pPT1hUUUtyeHZoWjFjVWxXTlBQCkFZbnhZbkozVjNOakdCbjlaUjhuZGZ0SnRjNkR4MU5aNlA2Sk01bEl1WlJGazM2WU1Eb0FOV3RPb1gzWXVERSsKMUpsaUFVTDRxWUZnQjYyMFBsNlNudmlOYnNPekVsTHhyOW5tbENhTjRkVS9IMkt4d2NXVjRXbUtqeDNMQUpXSgpJNExRL1RJUi8rVm8zMVk2TWZaT3lMR2VpNHdtOVpxVkFnTUJBQUdqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDCnBEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIKL3pBZEJnTlZIUTRFRmdRVURGTHprb24zWEF1MUNmVks0V29mTlRUTjUvZ3dEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUJITVZvUFpQcVNJMkZzY01BUDh6MmkzVEg2MTE4bjVaMlc2b0pzUEVPR2tTQlRZc0lTcXVpNHp4NUxyCkFFK1R2TkM4YzdYQVI0Zk4wUmpEdmhDU1hudXlUVmZETHQ2UGEybkEzdE94aWtlbDJHNDYyMlkzaldoMCt5d1UKcit3UkwveXFxWnRjUUFCYnp5eTF2bXFpQWRvOTByVDVkYTRwVmJkSW9CNlp2VnlHRjFCcTRPc1poWllobkhUTQpuUG9RZW9aY0xYdlM5Z0lFb0lGaENkZzNhaDhNc2MwUEw5bDlzMHY5a293T1dYT2xrUno1SkJ5SG1VeXdRaEtrCkdlMVFJR1NIcFZ3OHV1UVZUMXJFbU9HRnVFVU1HeDZNRFJHSkwwUkxTMytMYTk2Y0w2WjQrejFkcVNCSlJVdUQKM0k4S29yTklkUTg1OHVGNHJjTndaOXllaUM4PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
-      service:
-        namespace: dubbo-system
-        name: dubbo-control-plane
-        path: /validate-dubbo-io-v1alpha1
+      url: https://localhost:5443/validate-dubbo-io-v1alpha1
     rules:
       - apiGroups:
           - dubbo.io
@@ -165,10 +156,7 @@
           values: ["kube-system"]
     clientConfig:
       caBundle: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFRENDQWZpZ0F3SUJBZ0lSQUtFUngwdFRpUTlkK1Z1SXZDQkZJc1V3RFFZSktvWklodmNOQVFFTEJRQXcKRWpFUU1BNEdBMVVFQXhNSGEzVnRZUzFqWVRBZUZ3MHlOREF6TWpRd056STVNVEphRncwek5EQXpNakl3TnpJNQpNVEphTUJJeEVEQU9CZ05WQkFNVEIydDFiV0V0WTJFd2dnRWlNQTBHQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3CmdnRUtBb0lCQVFDMy96cnFjdUdMbmQ3c3EwcThNNEVSS2N6Nm1PWWpZZ3hLYUpNWXNGZ2dPS2tMLytGSXMydG0KVVcxa2tad3hkN1JRbWp6TFBqN0lGbDJVR3d6alBXM3M4L29mUE1CdUFabWVmZSttSkpYYTJvTGJ5MHhoVmRiQQpWM2JMczBiUEhWMlJXSk9aTmlxUk5LSXZQVDh6NWc3UGttOEJGanM4eVhlZ0pPT1hUUUtyeHZoWjFjVWxXTlBQCkFZbnhZbkozVjNOakdCbjlaUjhuZGZ0SnRjNkR4MU5aNlA2Sk01bEl1WlJGazM2WU1Eb0FOV3RPb1gzWXVERSsKMUpsaUFVTDRxWUZnQjYyMFBsNlNudmlOYnNPekVsTHhyOW5tbENhTjRkVS9IMkt4d2NXVjRXbUtqeDNMQUpXSgpJNExRL1RJUi8rVm8zMVk2TWZaT3lMR2VpNHdtOVpxVkFnTUJBQUdqWVRCZk1BNEdBMVVkRHdFQi93UUVBd0lDCnBEQWRCZ05WSFNVRUZqQVVCZ2dyQmdFRkJRY0RBUVlJS3dZQkJRVUhBd0l3RHdZRFZSMFRBUUgvQkFVd0F3RUIKL3pBZEJnTlZIUTRFRmdRVURGTHprb24zWEF1MUNmVks0V29mTlRUTjUvZ3dEUVlKS29aSWh2Y05BUUVMQlFBRApnZ0VCQUJITVZvUFpQcVNJMkZzY01BUDh6MmkzVEg2MTE4bjVaMlc2b0pzUEVPR2tTQlRZc0lTcXVpNHp4NUxyCkFFK1R2TkM4YzdYQVI0Zk4wUmpEdmhDU1hudXlUVmZETHQ2UGEybkEzdE94aWtlbDJHNDYyMlkzaldoMCt5d1UKcit3UkwveXFxWnRjUUFCYnp5eTF2bXFpQWRvOTByVDVkYTRwVmJkSW9CNlp2VnlHRjFCcTRPc1poWllobkhUTQpuUG9RZW9aY0xYdlM5Z0lFb0lGaENkZzNhaDhNc2MwUEw5bDlzMHY5a293T1dYT2xrUno1SkJ5SG1VeXdRaEtrCkdlMVFJR1NIcFZ3OHV1UVZUMXJFbU9HRnVFVU1HeDZNRFJHSkwwUkxTMytMYTk2Y0w2WjQrejFkcVNCSlJVdUQKM0k4S29yTklkUTg1OHVGNHJjTndaOXllaUM4PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
-      service:
-        namespace: dubbo-system
-        name: dubbo-control-plane
-        path: /validate-v1-service
+      url: https://localhost:5443/validate-v1-service
     rules:
       - apiGroups:
           - ""