delete code not need
diff --git a/api/mesh/options.pb.go b/api/mesh/options.pb.go
index da895ec..a953a47 100644
--- a/api/mesh/options.pb.go
+++ b/api/mesh/options.pb.go
@@ -7,18 +7,13 @@
 package mesh
 
 import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	descriptorpb "google.golang.org/protobuf/types/descriptorpb"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
-	descriptorpb "google.golang.org/protobuf/types/descriptorpb"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/condition_route.pb.go b/api/mesh/v1alpha1/condition_route.pb.go
index 0d857ea..f2ce62d 100644
--- a/api/mesh/v1alpha1/condition_route.pb.go
+++ b/api/mesh/v1alpha1/condition_route.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/dataplane.pb.go b/api/mesh/v1alpha1/dataplane.pb.go
index e44d81f..a17ed5d 100644
--- a/api/mesh/v1alpha1/dataplane.pb.go
+++ b/api/mesh/v1alpha1/dataplane.pb.go
@@ -7,23 +7,14 @@
 package v1alpha1
 
 import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
 	_ "github.com/envoyproxy/protoc-gen-validate/validate"
-
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
 	durationpb "google.golang.org/protobuf/types/known/durationpb"
 	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	reflect "reflect"
+	sync "sync"
 )
 
 const (
diff --git a/api/mesh/v1alpha1/dataplane_insight.pb.go b/api/mesh/v1alpha1/dataplane_insight.pb.go
index f459f09..4f1b13b 100644
--- a/api/mesh/v1alpha1/dataplane_insight.pb.go
+++ b/api/mesh/v1alpha1/dataplane_insight.pb.go
@@ -7,24 +7,15 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	_ "github.com/envoyproxy/protoc-gen-validate/validate"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	_ "github.com/envoyproxy/protoc-gen-validate/validate"
-
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
-	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/dds.pb.go b/api/mesh/v1alpha1/dds.pb.go
index 1ac46ed..33e2e93 100644
--- a/api/mesh/v1alpha1/dds.pb.go
+++ b/api/mesh/v1alpha1/dds.pb.go
@@ -7,19 +7,13 @@
 package v1alpha1
 
 import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
 	v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
-
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
 	anypb "google.golang.org/protobuf/types/known/anypb"
 	durationpb "google.golang.org/protobuf/types/known/durationpb"
+	reflect "reflect"
+	sync "sync"
 )
 
 const (
@@ -171,528 +165,6 @@
 	return nil
 }
 
-// XDSConfigRequest is a request for XDS Config Dump that is executed on Zone
-// CP.
-type XDSConfigRequest struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// RequestID is a UUID of a request so we can correlate requests with response
-	// on one stream.
-	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
-	// Type of resource (Dataplane, ZoneIngress, ZoneEgress)
-	ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
-	// Name of the resource on which we execute config dump.
-	ResourceName string `protobuf:"bytes,3,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
-	// Mesh of the resource on which we execute config dump. Should be empty for
-	// ZoneIngress, ZoneEgress.
-	ResourceMesh string `protobuf:"bytes,4,opt,name=resource_mesh,json=resourceMesh,proto3" json:"resource_mesh,omitempty"`
-}
-
-func (x *XDSConfigRequest) Reset() {
-	*x = XDSConfigRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[3]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *XDSConfigRequest) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*XDSConfigRequest) ProtoMessage() {}
-
-func (x *XDSConfigRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[3]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use XDSConfigRequest.ProtoReflect.Descriptor instead.
-func (*XDSConfigRequest) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_dds_proto_rawDescGZIP(), []int{3}
-}
-
-func (x *XDSConfigRequest) GetRequestId() string {
-	if x != nil {
-		return x.RequestId
-	}
-	return ""
-}
-
-func (x *XDSConfigRequest) GetResourceType() string {
-	if x != nil {
-		return x.ResourceType
-	}
-	return ""
-}
-
-func (x *XDSConfigRequest) GetResourceName() string {
-	if x != nil {
-		return x.ResourceName
-	}
-	return ""
-}
-
-func (x *XDSConfigRequest) GetResourceMesh() string {
-	if x != nil {
-		return x.ResourceMesh
-	}
-	return ""
-}
-
-// XDSConfigRequest is a response containing result of XDS Config Dump execution
-// on Zone CP.
-type XDSConfigResponse struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// RequestID is a UUID that was set by the Global CP.
-	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
-	// Types that are assignable to Result:
-	//
-	//	*XDSConfigResponse_Error
-	//	*XDSConfigResponse_Config
-	Result isXDSConfigResponse_Result `protobuf_oneof:"result"`
-}
-
-func (x *XDSConfigResponse) Reset() {
-	*x = XDSConfigResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[4]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *XDSConfigResponse) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*XDSConfigResponse) ProtoMessage() {}
-
-func (x *XDSConfigResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[4]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use XDSConfigResponse.ProtoReflect.Descriptor instead.
-func (*XDSConfigResponse) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_dds_proto_rawDescGZIP(), []int{4}
-}
-
-func (x *XDSConfigResponse) GetRequestId() string {
-	if x != nil {
-		return x.RequestId
-	}
-	return ""
-}
-
-func (m *XDSConfigResponse) GetResult() isXDSConfigResponse_Result {
-	if m != nil {
-		return m.Result
-	}
-	return nil
-}
-
-func (x *XDSConfigResponse) GetError() string {
-	if x, ok := x.GetResult().(*XDSConfigResponse_Error); ok {
-		return x.Error
-	}
-	return ""
-}
-
-func (x *XDSConfigResponse) GetConfig() []byte {
-	if x, ok := x.GetResult().(*XDSConfigResponse_Config); ok {
-		return x.Config
-	}
-	return nil
-}
-
-type isXDSConfigResponse_Result interface {
-	isXDSConfigResponse_Result()
-}
-
-type XDSConfigResponse_Error struct {
-	// Error that was captured by the Zone CP when executing XDS Config Dump.
-	Error string `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
-}
-
-type XDSConfigResponse_Config struct {
-	// The XDS Config that is a successful result of XDS Config dump execution.
-	Config []byte `protobuf:"bytes,3,opt,name=config,proto3,oneof"`
-}
-
-func (*XDSConfigResponse_Error) isXDSConfigResponse_Result() {}
-
-func (*XDSConfigResponse_Config) isXDSConfigResponse_Result() {}
-
-// StatsRequest is a request for dubbo-dp stats that is executed on Zone CP.
-type StatsRequest struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// RequestID is a UUID of a request so we can correlate requests with response
-	// on one stream.
-	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
-	// Type of resource (Dataplane, ZoneIngress, ZoneEgress)
-	ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
-	// Name of the resource on which we execute dubbo-dp stats request.
-	ResourceName string `protobuf:"bytes,3,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
-	// Mesh of the resource on which we execute dubbo-dp stats request.
-	// Should be empty for ZoneIngress, ZoneEgress.
-	ResourceMesh string `protobuf:"bytes,4,opt,name=resource_mesh,json=resourceMesh,proto3" json:"resource_mesh,omitempty"`
-}
-
-func (x *StatsRequest) Reset() {
-	*x = StatsRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[5]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *StatsRequest) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*StatsRequest) ProtoMessage() {}
-
-func (x *StatsRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[5]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use StatsRequest.ProtoReflect.Descriptor instead.
-func (*StatsRequest) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_dds_proto_rawDescGZIP(), []int{5}
-}
-
-func (x *StatsRequest) GetRequestId() string {
-	if x != nil {
-		return x.RequestId
-	}
-	return ""
-}
-
-func (x *StatsRequest) GetResourceType() string {
-	if x != nil {
-		return x.ResourceType
-	}
-	return ""
-}
-
-func (x *StatsRequest) GetResourceName() string {
-	if x != nil {
-		return x.ResourceName
-	}
-	return ""
-}
-
-func (x *StatsRequest) GetResourceMesh() string {
-	if x != nil {
-		return x.ResourceMesh
-	}
-	return ""
-}
-
-// StatsResponse is a response containing result of dubbo-dp stats execution on
-// Zone CP.
-type StatsResponse struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// RequestID is a UUID that was set by the Global CP.
-	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
-	// Types that are assignable to Result:
-	//
-	//	*StatsResponse_Error
-	//	*StatsResponse_Stats
-	Result isStatsResponse_Result `protobuf_oneof:"result"`
-}
-
-func (x *StatsResponse) Reset() {
-	*x = StatsResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[6]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *StatsResponse) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*StatsResponse) ProtoMessage() {}
-
-func (x *StatsResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[6]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use StatsResponse.ProtoReflect.Descriptor instead.
-func (*StatsResponse) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_dds_proto_rawDescGZIP(), []int{6}
-}
-
-func (x *StatsResponse) GetRequestId() string {
-	if x != nil {
-		return x.RequestId
-	}
-	return ""
-}
-
-func (m *StatsResponse) GetResult() isStatsResponse_Result {
-	if m != nil {
-		return m.Result
-	}
-	return nil
-}
-
-func (x *StatsResponse) GetError() string {
-	if x, ok := x.GetResult().(*StatsResponse_Error); ok {
-		return x.Error
-	}
-	return ""
-}
-
-func (x *StatsResponse) GetStats() []byte {
-	if x, ok := x.GetResult().(*StatsResponse_Stats); ok {
-		return x.Stats
-	}
-	return nil
-}
-
-type isStatsResponse_Result interface {
-	isStatsResponse_Result()
-}
-
-type StatsResponse_Error struct {
-	// Error that was captured by the Zone CP when executing dubbo-dp stats
-	// request.
-	Error string `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
-}
-
-type StatsResponse_Stats struct {
-	// The stats content that is a successful result of dubbo-dp stats
-	// execution.
-	Stats []byte `protobuf:"bytes,3,opt,name=stats,proto3,oneof"`
-}
-
-func (*StatsResponse_Error) isStatsResponse_Result() {}
-
-func (*StatsResponse_Stats) isStatsResponse_Result() {}
-
-// ClustersRequest is a request for dubbo-dp clusters that is executed on Zone
-// CP.
-type ClustersRequest struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// RequestID is a UUID of a request so we can correlate requests with response
-	// on one stream.
-	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
-	// Type of resource (Dataplane, ZoneIngress, ZoneEgress)
-	ResourceType string `protobuf:"bytes,2,opt,name=resource_type,json=resourceType,proto3" json:"resource_type,omitempty"`
-	// Name of the resource on which we execute dubbo-dp clusters request.
-	ResourceName string `protobuf:"bytes,3,opt,name=resource_name,json=resourceName,proto3" json:"resource_name,omitempty"`
-	// Mesh of the resource on which we execute dubbo-dp clusters request.
-	// Should be empty for ZoneIngress, ZoneEgress.
-	ResourceMesh string `protobuf:"bytes,4,opt,name=resource_mesh,json=resourceMesh,proto3" json:"resource_mesh,omitempty"`
-}
-
-func (x *ClustersRequest) Reset() {
-	*x = ClustersRequest{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[7]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *ClustersRequest) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ClustersRequest) ProtoMessage() {}
-
-func (x *ClustersRequest) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[7]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use ClustersRequest.ProtoReflect.Descriptor instead.
-func (*ClustersRequest) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_dds_proto_rawDescGZIP(), []int{7}
-}
-
-func (x *ClustersRequest) GetRequestId() string {
-	if x != nil {
-		return x.RequestId
-	}
-	return ""
-}
-
-func (x *ClustersRequest) GetResourceType() string {
-	if x != nil {
-		return x.ResourceType
-	}
-	return ""
-}
-
-func (x *ClustersRequest) GetResourceName() string {
-	if x != nil {
-		return x.ResourceName
-	}
-	return ""
-}
-
-func (x *ClustersRequest) GetResourceMesh() string {
-	if x != nil {
-		return x.ResourceMesh
-	}
-	return ""
-}
-
-// ClustersResponse is a response containing result of dubbo-dp clusters
-// execution on Zone CP.
-type ClustersResponse struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// RequestID is a UUID that was set by the Global CP.
-	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
-	// Types that are assignable to Result:
-	//
-	//	*ClustersResponse_Error
-	//	*ClustersResponse_Clusters
-	Result isClustersResponse_Result `protobuf_oneof:"result"`
-}
-
-func (x *ClustersResponse) Reset() {
-	*x = ClustersResponse{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[8]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *ClustersResponse) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ClustersResponse) ProtoMessage() {}
-
-func (x *ClustersResponse) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[8]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use ClustersResponse.ProtoReflect.Descriptor instead.
-func (*ClustersResponse) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_dds_proto_rawDescGZIP(), []int{8}
-}
-
-func (x *ClustersResponse) GetRequestId() string {
-	if x != nil {
-		return x.RequestId
-	}
-	return ""
-}
-
-func (m *ClustersResponse) GetResult() isClustersResponse_Result {
-	if m != nil {
-		return m.Result
-	}
-	return nil
-}
-
-func (x *ClustersResponse) GetError() string {
-	if x, ok := x.GetResult().(*ClustersResponse_Error); ok {
-		return x.Error
-	}
-	return ""
-}
-
-func (x *ClustersResponse) GetClusters() []byte {
-	if x, ok := x.GetResult().(*ClustersResponse_Clusters); ok {
-		return x.Clusters
-	}
-	return nil
-}
-
-type isClustersResponse_Result interface {
-	isClustersResponse_Result()
-}
-
-type ClustersResponse_Error struct {
-	// Error that was captured by the Zone CP when executing dubbo-dp clusters
-	// request.
-	Error string `protobuf:"bytes,2,opt,name=error,proto3,oneof"`
-}
-
-type ClustersResponse_Clusters struct {
-	// The clusters content that is a successful result of dubbo-dp clusters
-	// execution.
-	Clusters []byte `protobuf:"bytes,3,opt,name=clusters,proto3,oneof"`
-}
-
-func (*ClustersResponse_Error) isClustersResponse_Result() {}
-
-func (*ClustersResponse_Clusters) isClustersResponse_Result() {}
-
 type DubboResource_Meta struct {
 	state         protoimpl.MessageState
 	sizeCache     protoimpl.SizeCache
@@ -707,7 +179,7 @@
 func (x *DubboResource_Meta) Reset() {
 	*x = DubboResource_Meta{}
 	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[9]
+		mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[3]
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		ms.StoreMessageInfo(mi)
 	}
@@ -720,7 +192,7 @@
 func (*DubboResource_Meta) ProtoMessage() {}
 
 func (x *DubboResource_Meta) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[9]
+	mi := &file_api_mesh_v1alpha1_dds_proto_msgTypes[3]
 	if protoimpl.UnsafeEnabled && x != nil {
 		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
 		if ms.LoadMessageInfo() == nil {
@@ -804,114 +276,45 @@
 	0x74, 0x65, 0x72, 0x76, 0x61, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
 	0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44,
 	0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x76, 0x61,
-	0x6c, 0x22, 0xa0, 0x01, 0x0a, 0x10, 0x58, 0x44, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
-	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
-	0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65,
-	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
-	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12,
-	0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x68,
-	0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
-	0x4d, 0x65, 0x73, 0x68, 0x22, 0x6e, 0x0a, 0x11, 0x58, 0x44, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69,
-	0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72,
-	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f,
-	0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72,
-	0x12, 0x18, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c,
-	0x48, 0x00, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65,
-	0x73, 0x75, 0x6c, 0x74, 0x22, 0x9c, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x49, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
-	0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73,
-	0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73,
-	0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
-	0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23,
-	0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x18,
-	0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d,
-	0x65, 0x73, 0x68, 0x22, 0x68, 0x0a, 0x0d, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
-	0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01,
-	0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x05, 0x73,
-	0x74, 0x61, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x05, 0x73, 0x74,
-	0x61, 0x74, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x22, 0x9f, 0x01,
-	0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18,
-	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64,
-	0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70,
-	0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
-	0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
-	0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65,
-	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65,
-	0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x73, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28,
-	0x09, 0x52, 0x0c, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x73, 0x68, 0x22,
-	0x71, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69,
-	0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x49, 0x64, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28,
-	0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x1c, 0x0a, 0x08, 0x63, 0x6c,
-	0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x08,
-	0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x42, 0x08, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75,
-	0x6c, 0x74, 0x32, 0x90, 0x01, 0x0a, 0x15, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x44, 0x69, 0x73, 0x63,
-	0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x14,
-	0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75,
-	0x72, 0x63, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72,
-	0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76,
-	0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
-	0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e,
-	0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
-	0x65, 0x28, 0x01, 0x30, 0x01, 0x32, 0xa0, 0x03, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c,
-	0x44, 0x44, 0x53, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x65, 0x0a, 0x10, 0x53, 0x74,
-	0x72, 0x65, 0x61, 0x6d, 0x58, 0x44, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x26,
-	0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c,
-	0x70, 0x68, 0x61, 0x31, 0x2e, 0x58, 0x44, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65,
-	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x25, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d,
-	0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x58, 0x44, 0x53,
-	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x01, 0x30,
-	0x01, 0x12, 0x58, 0x0a, 0x0b, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x53, 0x74, 0x61, 0x74, 0x73,
-	0x12, 0x22, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
-	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x21, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
-	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73,
-	0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x61, 0x0a, 0x0e, 0x53,
-	0x74, 0x72, 0x65, 0x61, 0x6d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x25, 0x2e,
-	0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x24, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
-	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
-	0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x01, 0x30, 0x01, 0x12, 0x68,
-	0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2b, 0x2e,
-	0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68,
-	0x65, 0x63, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x64, 0x75, 0x62,
-	0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
-	0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b,
-	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x8e, 0x02, 0x0a, 0x0e, 0x44, 0x44, 0x53,
-	0x53, 0x79, 0x6e, 0x63, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x47,
-	0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54, 0x6f, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12,
-	0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e,
-	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c,
-	0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65,
-	0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
-	0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e,
-	0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65,
-	0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x12, 0x7d, 0x0a, 0x10, 0x5a, 0x6f,
-	0x6e, 0x65, 0x54, 0x6f, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x32,
-	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64,
-	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74,
-	0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
-	0x73, 0x65, 0x1a, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69,
-	0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e,
-	0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65,
-	0x71, 0x75, 0x65, 0x73, 0x74, 0x28, 0x01, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74,
-	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64,
-	0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f,
-	0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
-	0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+	0x6c, 0x32, 0x90, 0x01, 0x0a, 0x15, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x44, 0x69, 0x73, 0x63, 0x6f,
+	0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x77, 0x0a, 0x14, 0x53,
+	0x74, 0x72, 0x65, 0x61, 0x6d, 0x44, 0x75, 0x62, 0x62, 0x6f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72,
+	0x63, 0x65, 0x73, 0x12, 0x2c, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76,
+	0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33,
+	0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+	0x74, 0x1a, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+	0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44,
+	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x28, 0x01, 0x30, 0x01, 0x32, 0x7c, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x44, 0x44,
+	0x53, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x0b, 0x48, 0x65, 0x61, 0x6c,
+	0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2b, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e,
+	0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x5a, 0x6f,
+	0x6e, 0x65, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x71,
+	0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
+	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x48,
+	0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+	0x73, 0x65, 0x32, 0x8e, 0x02, 0x0a, 0x0e, 0x44, 0x44, 0x53, 0x53, 0x79, 0x6e, 0x63, 0x53, 0x65,
+	0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x7d, 0x0a, 0x10, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x54,
+	0x6f, 0x5a, 0x6f, 0x6e, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x31, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
+	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
+	0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63,
+	0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x65,
+	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73,
+	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44,
+	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+	0x28, 0x01, 0x30, 0x01, 0x12, 0x7d, 0x0a, 0x10, 0x5a, 0x6f, 0x6e, 0x65, 0x54, 0x6f, 0x47, 0x6c,
+	0x6f, 0x62, 0x61, 0x6c, 0x53, 0x79, 0x6e, 0x63, 0x12, 0x32, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79,
+	0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65,
+	0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44, 0x69, 0x73, 0x63, 0x6f,
+	0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x31, 0x2e, 0x65,
+	0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73,
+	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x65, 0x6c, 0x74, 0x61, 0x44,
+	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x28,
+	0x01, 0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f,
+	0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b,
+	0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65,
+	0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f,
+	0x74, 0x6f, 0x33,
 }
 
 var (
@@ -926,47 +329,35 @@
 	return file_api_mesh_v1alpha1_dds_proto_rawDescData
 }
 
-var file_api_mesh_v1alpha1_dds_proto_msgTypes = make([]protoimpl.MessageInfo, 11)
+var file_api_mesh_v1alpha1_dds_proto_msgTypes = make([]protoimpl.MessageInfo, 5)
 var file_api_mesh_v1alpha1_dds_proto_goTypes = []interface{}{
 	(*DubboResource)(nil),             // 0: dubbo.mesh.v1alpha1.DubboResource
 	(*ZoneHealthCheckRequest)(nil),    // 1: dubbo.mesh.v1alpha1.ZoneHealthCheckRequest
 	(*ZoneHealthCheckResponse)(nil),   // 2: dubbo.mesh.v1alpha1.ZoneHealthCheckResponse
-	(*XDSConfigRequest)(nil),          // 3: dubbo.mesh.v1alpha1.XDSConfigRequest
-	(*XDSConfigResponse)(nil),         // 4: dubbo.mesh.v1alpha1.XDSConfigResponse
-	(*StatsRequest)(nil),              // 5: dubbo.mesh.v1alpha1.StatsRequest
-	(*StatsResponse)(nil),             // 6: dubbo.mesh.v1alpha1.StatsResponse
-	(*ClustersRequest)(nil),           // 7: dubbo.mesh.v1alpha1.ClustersRequest
-	(*ClustersResponse)(nil),          // 8: dubbo.mesh.v1alpha1.ClustersResponse
-	(*DubboResource_Meta)(nil),        // 9: dubbo.mesh.v1alpha1.DubboResource.Meta
-	nil,                               // 10: dubbo.mesh.v1alpha1.DubboResource.Meta.LabelsEntry
-	(*anypb.Any)(nil),                 // 11: google.protobuf.Any
-	(*durationpb.Duration)(nil),       // 12: google.protobuf.Duration
-	(*v3.DiscoveryRequest)(nil),       // 13: envoy.service.discovery.v3.DiscoveryRequest
-	(*v3.DeltaDiscoveryRequest)(nil),  // 14: envoy.service.discovery.v3.DeltaDiscoveryRequest
-	(*v3.DeltaDiscoveryResponse)(nil), // 15: envoy.service.discovery.v3.DeltaDiscoveryResponse
-	(*v3.DiscoveryResponse)(nil),      // 16: envoy.service.discovery.v3.DiscoveryResponse
+	(*DubboResource_Meta)(nil),        // 3: dubbo.mesh.v1alpha1.DubboResource.Meta
+	nil,                               // 4: dubbo.mesh.v1alpha1.DubboResource.Meta.LabelsEntry
+	(*anypb.Any)(nil),                 // 5: google.protobuf.Any
+	(*durationpb.Duration)(nil),       // 6: google.protobuf.Duration
+	(*v3.DiscoveryRequest)(nil),       // 7: envoy.service.discovery.v3.DiscoveryRequest
+	(*v3.DeltaDiscoveryRequest)(nil),  // 8: envoy.service.discovery.v3.DeltaDiscoveryRequest
+	(*v3.DeltaDiscoveryResponse)(nil), // 9: envoy.service.discovery.v3.DeltaDiscoveryResponse
+	(*v3.DiscoveryResponse)(nil),      // 10: envoy.service.discovery.v3.DiscoveryResponse
 }
 var file_api_mesh_v1alpha1_dds_proto_depIdxs = []int32{
-	9,  // 0: dubbo.mesh.v1alpha1.DubboResource.meta:type_name -> dubbo.mesh.v1alpha1.DubboResource.Meta
-	11, // 1: dubbo.mesh.v1alpha1.DubboResource.spec:type_name -> google.protobuf.Any
-	12, // 2: dubbo.mesh.v1alpha1.ZoneHealthCheckResponse.interval:type_name -> google.protobuf.Duration
-	10, // 3: dubbo.mesh.v1alpha1.DubboResource.Meta.labels:type_name -> dubbo.mesh.v1alpha1.DubboResource.Meta.LabelsEntry
-	13, // 4: dubbo.mesh.v1alpha1.DubboDiscoveryService.StreamDubboResources:input_type -> envoy.service.discovery.v3.DiscoveryRequest
-	4,  // 5: dubbo.mesh.v1alpha1.GlobalDDSService.StreamXDSConfigs:input_type -> dubbo.mesh.v1alpha1.XDSConfigResponse
-	6,  // 6: dubbo.mesh.v1alpha1.GlobalDDSService.StreamStats:input_type -> dubbo.mesh.v1alpha1.StatsResponse
-	8,  // 7: dubbo.mesh.v1alpha1.GlobalDDSService.StreamClusters:input_type -> dubbo.mesh.v1alpha1.ClustersResponse
-	1,  // 8: dubbo.mesh.v1alpha1.GlobalDDSService.HealthCheck:input_type -> dubbo.mesh.v1alpha1.ZoneHealthCheckRequest
-	14, // 9: dubbo.mesh.v1alpha1.DDSSyncService.GlobalToZoneSync:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest
-	15, // 10: dubbo.mesh.v1alpha1.DDSSyncService.ZoneToGlobalSync:input_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse
-	16, // 11: dubbo.mesh.v1alpha1.DubboDiscoveryService.StreamDubboResources:output_type -> envoy.service.discovery.v3.DiscoveryResponse
-	3,  // 12: dubbo.mesh.v1alpha1.GlobalDDSService.StreamXDSConfigs:output_type -> dubbo.mesh.v1alpha1.XDSConfigRequest
-	5,  // 13: dubbo.mesh.v1alpha1.GlobalDDSService.StreamStats:output_type -> dubbo.mesh.v1alpha1.StatsRequest
-	7,  // 14: dubbo.mesh.v1alpha1.GlobalDDSService.StreamClusters:output_type -> dubbo.mesh.v1alpha1.ClustersRequest
-	2,  // 15: dubbo.mesh.v1alpha1.GlobalDDSService.HealthCheck:output_type -> dubbo.mesh.v1alpha1.ZoneHealthCheckResponse
-	15, // 16: dubbo.mesh.v1alpha1.DDSSyncService.GlobalToZoneSync:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse
-	14, // 17: dubbo.mesh.v1alpha1.DDSSyncService.ZoneToGlobalSync:output_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest
-	11, // [11:18] is the sub-list for method output_type
-	4,  // [4:11] is the sub-list for method input_type
+	3,  // 0: dubbo.mesh.v1alpha1.DubboResource.meta:type_name -> dubbo.mesh.v1alpha1.DubboResource.Meta
+	5,  // 1: dubbo.mesh.v1alpha1.DubboResource.spec:type_name -> google.protobuf.Any
+	6,  // 2: dubbo.mesh.v1alpha1.ZoneHealthCheckResponse.interval:type_name -> google.protobuf.Duration
+	4,  // 3: dubbo.mesh.v1alpha1.DubboResource.Meta.labels:type_name -> dubbo.mesh.v1alpha1.DubboResource.Meta.LabelsEntry
+	7,  // 4: dubbo.mesh.v1alpha1.DubboDiscoveryService.StreamDubboResources:input_type -> envoy.service.discovery.v3.DiscoveryRequest
+	1,  // 5: dubbo.mesh.v1alpha1.GlobalDDSService.HealthCheck:input_type -> dubbo.mesh.v1alpha1.ZoneHealthCheckRequest
+	8,  // 6: dubbo.mesh.v1alpha1.DDSSyncService.GlobalToZoneSync:input_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest
+	9,  // 7: dubbo.mesh.v1alpha1.DDSSyncService.ZoneToGlobalSync:input_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse
+	10, // 8: dubbo.mesh.v1alpha1.DubboDiscoveryService.StreamDubboResources:output_type -> envoy.service.discovery.v3.DiscoveryResponse
+	2,  // 9: dubbo.mesh.v1alpha1.GlobalDDSService.HealthCheck:output_type -> dubbo.mesh.v1alpha1.ZoneHealthCheckResponse
+	9,  // 10: dubbo.mesh.v1alpha1.DDSSyncService.GlobalToZoneSync:output_type -> envoy.service.discovery.v3.DeltaDiscoveryResponse
+	8,  // 11: dubbo.mesh.v1alpha1.DDSSyncService.ZoneToGlobalSync:output_type -> envoy.service.discovery.v3.DeltaDiscoveryRequest
+	8,  // [8:12] is the sub-list for method output_type
+	4,  // [4:8] is the sub-list for method input_type
 	4,  // [4:4] is the sub-list for extension type_name
 	4,  // [4:4] is the sub-list for extension extendee
 	0,  // [0:4] is the sub-list for field type_name
@@ -1015,78 +406,6 @@
 			}
 		}
 		file_api_mesh_v1alpha1_dds_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*XDSConfigRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_api_mesh_v1alpha1_dds_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*XDSConfigResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_api_mesh_v1alpha1_dds_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*StatsRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_api_mesh_v1alpha1_dds_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*StatsResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_api_mesh_v1alpha1_dds_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ClustersRequest); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_api_mesh_v1alpha1_dds_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ClustersResponse); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-		file_api_mesh_v1alpha1_dds_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
 			switch v := v.(*DubboResource_Meta); i {
 			case 0:
 				return &v.state
@@ -1099,25 +418,13 @@
 			}
 		}
 	}
-	file_api_mesh_v1alpha1_dds_proto_msgTypes[4].OneofWrappers = []interface{}{
-		(*XDSConfigResponse_Error)(nil),
-		(*XDSConfigResponse_Config)(nil),
-	}
-	file_api_mesh_v1alpha1_dds_proto_msgTypes[6].OneofWrappers = []interface{}{
-		(*StatsResponse_Error)(nil),
-		(*StatsResponse_Stats)(nil),
-	}
-	file_api_mesh_v1alpha1_dds_proto_msgTypes[8].OneofWrappers = []interface{}{
-		(*ClustersResponse_Error)(nil),
-		(*ClustersResponse_Clusters)(nil),
-	}
 	type x struct{}
 	out := protoimpl.TypeBuilder{
 		File: protoimpl.DescBuilder{
 			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
 			RawDescriptor: file_api_mesh_v1alpha1_dds_proto_rawDesc,
 			NumEnums:      0,
-			NumMessages:   11,
+			NumMessages:   5,
 			NumExtensions: 0,
 			NumServices:   3,
 		},
diff --git a/api/mesh/v1alpha1/dds.proto b/api/mesh/v1alpha1/dds.proto
index 70de3a4..7db41de 100644
--- a/api/mesh/v1alpha1/dds.proto
+++ b/api/mesh/v1alpha1/dds.proto
@@ -33,21 +33,6 @@
 }
 
 service GlobalDDSService {
-  // StreamXDSConfigs is logically a service exposed by Zone CP so Global CP can
-  // execute Config Dumps. It is however represented by bi-directional streaming
-  // to leverage existing connection from Zone CP to Global CP.
-  rpc StreamXDSConfigs(stream XDSConfigResponse)
-      returns (stream XDSConfigRequest);
-  // StreamStats is logically a service exposed by Zone CP so Global CP can
-  // execute dubbo-dp stats requests. It is however represented by
-  // bi-directional streaming to leverage existing connection from Zone CP to
-  // Global CP.
-  rpc StreamStats(stream StatsResponse) returns (stream StatsRequest);
-  // StreamStats is logically a service exposed by Zone CP so Global CP can
-  // execute dubbo-dp clusters request. It is however represented by
-  // bi-directional streaming to leverage existing connection from Zone CP to
-  // Global CP.
-  rpc StreamClusters(stream ClustersResponse) returns (stream ClustersRequest);
   // HealthCheck allows us to implement a health check that works across
   // proxies, unlike HTTP/2 PING frames.
   rpc HealthCheck(ZoneHealthCheckRequest) returns (ZoneHealthCheckResponse);
@@ -69,96 +54,3 @@
   rpc ZoneToGlobalSync(stream envoy.service.discovery.v3.DeltaDiscoveryResponse)
       returns (stream envoy.service.discovery.v3.DeltaDiscoveryRequest);
 }
-
-// XDSConfigRequest is a request for XDS Config Dump that is executed on Zone
-// CP.
-message XDSConfigRequest {
-  // RequestID is a UUID of a request so we can correlate requests with response
-  // on one stream.
-  string request_id = 1;
-
-  // Type of resource (Dataplane, ZoneIngress, ZoneEgress)
-  string resource_type = 2;
-  // Name of the resource on which we execute config dump.
-  string resource_name = 3;
-  // Mesh of the resource on which we execute config dump. Should be empty for
-  // ZoneIngress, ZoneEgress.
-  string resource_mesh = 4;
-}
-
-// XDSConfigRequest is a response containing result of XDS Config Dump execution
-// on Zone CP.
-message XDSConfigResponse {
-  // RequestID is a UUID that was set by the Global CP.
-  string request_id = 1;
-
-  oneof result {
-    // Error that was captured by the Zone CP when executing XDS Config Dump.
-    string error = 2;
-    // The XDS Config that is a successful result of XDS Config dump execution.
-    bytes config = 3;
-  }
-}
-
-// StatsRequest is a request for dubbo-dp stats that is executed on Zone CP.
-message StatsRequest {
-  // RequestID is a UUID of a request so we can correlate requests with response
-  // on one stream.
-  string request_id = 1;
-
-  // Type of resource (Dataplane, ZoneIngress, ZoneEgress)
-  string resource_type = 2;
-  // Name of the resource on which we execute dubbo-dp stats request.
-  string resource_name = 3;
-  // Mesh of the resource on which we execute dubbo-dp stats request.
-  // Should be empty for ZoneIngress, ZoneEgress.
-  string resource_mesh = 4;
-}
-
-// StatsResponse is a response containing result of dubbo-dp stats execution on
-// Zone CP.
-message StatsResponse {
-  // RequestID is a UUID that was set by the Global CP.
-  string request_id = 1;
-
-  oneof result {
-    // Error that was captured by the Zone CP when executing dubbo-dp stats
-    // request.
-    string error = 2;
-    // The stats content that is a successful result of dubbo-dp stats
-    // execution.
-    bytes stats = 3;
-  }
-}
-
-// ClustersRequest is a request for dubbo-dp clusters that is executed on Zone
-// CP.
-message ClustersRequest {
-  // RequestID is a UUID of a request so we can correlate requests with response
-  // on one stream.
-  string request_id = 1;
-
-  // Type of resource (Dataplane, ZoneIngress, ZoneEgress)
-  string resource_type = 2;
-  // Name of the resource on which we execute dubbo-dp clusters request.
-  string resource_name = 3;
-  // Mesh of the resource on which we execute dubbo-dp clusters request.
-  // Should be empty for ZoneIngress, ZoneEgress.
-  string resource_mesh = 4;
-}
-
-// ClustersResponse is a response containing result of dubbo-dp clusters
-// execution on Zone CP.
-message ClustersResponse {
-  // RequestID is a UUID that was set by the Global CP.
-  string request_id = 1;
-
-  oneof result {
-    // Error that was captured by the Zone CP when executing dubbo-dp clusters
-    // request.
-    string error = 2;
-    // The clusters content that is a successful result of dubbo-dp clusters
-    // execution.
-    bytes clusters = 3;
-  }
-}
diff --git a/api/mesh/v1alpha1/dds_grpc.pb.go b/api/mesh/v1alpha1/dds_grpc.pb.go
index c90de7b..f218ee5 100644
--- a/api/mesh/v1alpha1/dds_grpc.pb.go
+++ b/api/mesh/v1alpha1/dds_grpc.pb.go
@@ -4,11 +4,7 @@
 
 import (
 	context "context"
-)
-
-import (
 	v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
-
 	grpc "google.golang.org/grpc"
 	codes "google.golang.org/grpc/codes"
 	status "google.golang.org/grpc/status"
@@ -141,20 +137,6 @@
 //
 // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
 type GlobalDDSServiceClient interface {
-	// StreamXDSConfigs is logically a service exposed by Zone CP so Global CP can
-	// execute Config Dumps. It is however represented by bi-directional streaming
-	// to leverage existing connection from Zone CP to Global CP.
-	StreamXDSConfigs(ctx context.Context, opts ...grpc.CallOption) (GlobalDDSService_StreamXDSConfigsClient, error)
-	// StreamStats is logically a service exposed by Zone CP so Global CP can
-	// execute dubbo-dp stats requests. It is however represented by
-	// bi-directional streaming to leverage existing connection from Zone CP to
-	// Global CP.
-	StreamStats(ctx context.Context, opts ...grpc.CallOption) (GlobalDDSService_StreamStatsClient, error)
-	// StreamStats is logically a service exposed by Zone CP so Global CP can
-	// execute dubbo-dp clusters request. It is however represented by
-	// bi-directional streaming to leverage existing connection from Zone CP to
-	// Global CP.
-	StreamClusters(ctx context.Context, opts ...grpc.CallOption) (GlobalDDSService_StreamClustersClient, error)
 	// HealthCheck allows us to implement a health check that works across
 	// proxies, unlike HTTP/2 PING frames.
 	HealthCheck(ctx context.Context, in *ZoneHealthCheckRequest, opts ...grpc.CallOption) (*ZoneHealthCheckResponse, error)
@@ -168,99 +150,6 @@
 	return &globalDDSServiceClient{cc}
 }
 
-func (c *globalDDSServiceClient) StreamXDSConfigs(ctx context.Context, opts ...grpc.CallOption) (GlobalDDSService_StreamXDSConfigsClient, error) {
-	stream, err := c.cc.NewStream(ctx, &GlobalDDSService_ServiceDesc.Streams[0], "/dubbo.mesh.v1alpha1.GlobalDDSService/StreamXDSConfigs", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &globalDDSServiceStreamXDSConfigsClient{stream}
-	return x, nil
-}
-
-type GlobalDDSService_StreamXDSConfigsClient interface {
-	Send(*XDSConfigResponse) error
-	Recv() (*XDSConfigRequest, error)
-	grpc.ClientStream
-}
-
-type globalDDSServiceStreamXDSConfigsClient struct {
-	grpc.ClientStream
-}
-
-func (x *globalDDSServiceStreamXDSConfigsClient) Send(m *XDSConfigResponse) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *globalDDSServiceStreamXDSConfigsClient) Recv() (*XDSConfigRequest, error) {
-	m := new(XDSConfigRequest)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func (c *globalDDSServiceClient) StreamStats(ctx context.Context, opts ...grpc.CallOption) (GlobalDDSService_StreamStatsClient, error) {
-	stream, err := c.cc.NewStream(ctx, &GlobalDDSService_ServiceDesc.Streams[1], "/dubbo.mesh.v1alpha1.GlobalDDSService/StreamStats", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &globalDDSServiceStreamStatsClient{stream}
-	return x, nil
-}
-
-type GlobalDDSService_StreamStatsClient interface {
-	Send(*StatsResponse) error
-	Recv() (*StatsRequest, error)
-	grpc.ClientStream
-}
-
-type globalDDSServiceStreamStatsClient struct {
-	grpc.ClientStream
-}
-
-func (x *globalDDSServiceStreamStatsClient) Send(m *StatsResponse) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *globalDDSServiceStreamStatsClient) Recv() (*StatsRequest, error) {
-	m := new(StatsRequest)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func (c *globalDDSServiceClient) StreamClusters(ctx context.Context, opts ...grpc.CallOption) (GlobalDDSService_StreamClustersClient, error) {
-	stream, err := c.cc.NewStream(ctx, &GlobalDDSService_ServiceDesc.Streams[2], "/dubbo.mesh.v1alpha1.GlobalDDSService/StreamClusters", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &globalDDSServiceStreamClustersClient{stream}
-	return x, nil
-}
-
-type GlobalDDSService_StreamClustersClient interface {
-	Send(*ClustersResponse) error
-	Recv() (*ClustersRequest, error)
-	grpc.ClientStream
-}
-
-type globalDDSServiceStreamClustersClient struct {
-	grpc.ClientStream
-}
-
-func (x *globalDDSServiceStreamClustersClient) Send(m *ClustersResponse) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *globalDDSServiceStreamClustersClient) Recv() (*ClustersRequest, error) {
-	m := new(ClustersRequest)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
 func (c *globalDDSServiceClient) HealthCheck(ctx context.Context, in *ZoneHealthCheckRequest, opts ...grpc.CallOption) (*ZoneHealthCheckResponse, error) {
 	out := new(ZoneHealthCheckResponse)
 	err := c.cc.Invoke(ctx, "/dubbo.mesh.v1alpha1.GlobalDDSService/HealthCheck", in, out, opts...)
@@ -274,20 +163,6 @@
 // All implementations must embed UnimplementedGlobalDDSServiceServer
 // for forward compatibility
 type GlobalDDSServiceServer interface {
-	// StreamXDSConfigs is logically a service exposed by Zone CP so Global CP can
-	// execute Config Dumps. It is however represented by bi-directional streaming
-	// to leverage existing connection from Zone CP to Global CP.
-	StreamXDSConfigs(GlobalDDSService_StreamXDSConfigsServer) error
-	// StreamStats is logically a service exposed by Zone CP so Global CP can
-	// execute dubbo-dp stats requests. It is however represented by
-	// bi-directional streaming to leverage existing connection from Zone CP to
-	// Global CP.
-	StreamStats(GlobalDDSService_StreamStatsServer) error
-	// StreamStats is logically a service exposed by Zone CP so Global CP can
-	// execute dubbo-dp clusters request. It is however represented by
-	// bi-directional streaming to leverage existing connection from Zone CP to
-	// Global CP.
-	StreamClusters(GlobalDDSService_StreamClustersServer) error
 	// HealthCheck allows us to implement a health check that works across
 	// proxies, unlike HTTP/2 PING frames.
 	HealthCheck(context.Context, *ZoneHealthCheckRequest) (*ZoneHealthCheckResponse, error)
@@ -298,15 +173,6 @@
 type UnimplementedGlobalDDSServiceServer struct {
 }
 
-func (UnimplementedGlobalDDSServiceServer) StreamXDSConfigs(GlobalDDSService_StreamXDSConfigsServer) error {
-	return status.Errorf(codes.Unimplemented, "method StreamXDSConfigs not implemented")
-}
-func (UnimplementedGlobalDDSServiceServer) StreamStats(GlobalDDSService_StreamStatsServer) error {
-	return status.Errorf(codes.Unimplemented, "method StreamStats not implemented")
-}
-func (UnimplementedGlobalDDSServiceServer) StreamClusters(GlobalDDSService_StreamClustersServer) error {
-	return status.Errorf(codes.Unimplemented, "method StreamClusters not implemented")
-}
 func (UnimplementedGlobalDDSServiceServer) HealthCheck(context.Context, *ZoneHealthCheckRequest) (*ZoneHealthCheckResponse, error) {
 	return nil, status.Errorf(codes.Unimplemented, "method HealthCheck not implemented")
 }
@@ -323,84 +189,6 @@
 	s.RegisterService(&GlobalDDSService_ServiceDesc, srv)
 }
 
-func _GlobalDDSService_StreamXDSConfigs_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(GlobalDDSServiceServer).StreamXDSConfigs(&globalDDSServiceStreamXDSConfigsServer{stream})
-}
-
-type GlobalDDSService_StreamXDSConfigsServer interface {
-	Send(*XDSConfigRequest) error
-	Recv() (*XDSConfigResponse, error)
-	grpc.ServerStream
-}
-
-type globalDDSServiceStreamXDSConfigsServer struct {
-	grpc.ServerStream
-}
-
-func (x *globalDDSServiceStreamXDSConfigsServer) Send(m *XDSConfigRequest) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *globalDDSServiceStreamXDSConfigsServer) Recv() (*XDSConfigResponse, error) {
-	m := new(XDSConfigResponse)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func _GlobalDDSService_StreamStats_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(GlobalDDSServiceServer).StreamStats(&globalDDSServiceStreamStatsServer{stream})
-}
-
-type GlobalDDSService_StreamStatsServer interface {
-	Send(*StatsRequest) error
-	Recv() (*StatsResponse, error)
-	grpc.ServerStream
-}
-
-type globalDDSServiceStreamStatsServer struct {
-	grpc.ServerStream
-}
-
-func (x *globalDDSServiceStreamStatsServer) Send(m *StatsRequest) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *globalDDSServiceStreamStatsServer) Recv() (*StatsResponse, error) {
-	m := new(StatsResponse)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-func _GlobalDDSService_StreamClusters_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(GlobalDDSServiceServer).StreamClusters(&globalDDSServiceStreamClustersServer{stream})
-}
-
-type GlobalDDSService_StreamClustersServer interface {
-	Send(*ClustersRequest) error
-	Recv() (*ClustersResponse, error)
-	grpc.ServerStream
-}
-
-type globalDDSServiceStreamClustersServer struct {
-	grpc.ServerStream
-}
-
-func (x *globalDDSServiceStreamClustersServer) Send(m *ClustersRequest) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *globalDDSServiceStreamClustersServer) Recv() (*ClustersResponse, error) {
-	m := new(ClustersResponse)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
 func _GlobalDDSService_HealthCheck_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
 	in := new(ZoneHealthCheckRequest)
 	if err := dec(in); err != nil {
@@ -431,26 +219,7 @@
 			Handler:    _GlobalDDSService_HealthCheck_Handler,
 		},
 	},
-	Streams: []grpc.StreamDesc{
-		{
-			StreamName:    "StreamXDSConfigs",
-			Handler:       _GlobalDDSService_StreamXDSConfigs_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-		{
-			StreamName:    "StreamStats",
-			Handler:       _GlobalDDSService_StreamStats_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-		{
-			StreamName:    "StreamClusters",
-			Handler:       _GlobalDDSService_StreamClusters_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-	},
+	Streams:  []grpc.StreamDesc{},
 	Metadata: "api/mesh/v1alpha1/dds.proto",
 }
 
diff --git a/api/mesh/v1alpha1/dynamic_config.pb.go b/api/mesh/v1alpha1/dynamic_config.pb.go
index 605db84..86d2e9d 100644
--- a/api/mesh/v1alpha1/dynamic_config.pb.go
+++ b/api/mesh/v1alpha1/dynamic_config.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/envoy_admin.pb.go b/api/mesh/v1alpha1/envoy_admin.pb.go
index 1b37b2f..ebf6996 100644
--- a/api/mesh/v1alpha1/envoy_admin.pb.go
+++ b/api/mesh/v1alpha1/envoy_admin.pb.go
@@ -7,16 +7,12 @@
 package v1alpha1
 
 import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/envoy_admin_inter_cp_forward.pb.go b/api/mesh/v1alpha1/envoy_admin_inter_cp_forward.pb.go
deleted file mode 100644
index 8b1f5f9..0000000
--- a/api/mesh/v1alpha1/envoy_admin_inter_cp_forward.pb.go
+++ /dev/null
@@ -1,106 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.28.1
-// 	protoc        v3.20.0
-// source: api/mesh/v1alpha1/envoy_admin_inter_cp_forward.proto
-
-package v1alpha1
-
-import (
-	reflect "reflect"
-)
-
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-const (
-	// Verify that this generated code is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
-	// Verify that runtime/protoimpl is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-var File_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto protoreflect.FileDescriptor
-
-var file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_rawDesc = []byte{
-	0x0a, 0x34, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x5f,
-	0x69, 0x6e, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x70, 0x5f, 0x66, 0x6f, 0x72, 0x77, 0x61, 0x72, 0x64,
-	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65,
-	0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x1a, 0x1b, 0x61, 0x70, 0x69,
-	0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x64,
-	0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x32, 0xa6, 0x02, 0x0a, 0x1f, 0x49, 0x6e, 0x74,
-	0x65, 0x72, 0x43, 0x50, 0x45, 0x6e, 0x76, 0x6f, 0x79, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x46, 0x6f,
-	0x72, 0x77, 0x61, 0x72, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x5a, 0x0a, 0x09,
-	0x58, 0x44, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x2e, 0x64, 0x75, 0x62, 0x62,
-	0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e,
-	0x58, 0x44, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x1a, 0x26, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
-	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x58, 0x44, 0x53, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
-	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74,
-	0x73, 0x12, 0x21, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
-	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73, 0x52, 0x65, 0x71,
-	0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
-	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x73,
-	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x57, 0x0a, 0x08, 0x43, 0x6c, 0x75, 0x73,
-	0x74, 0x65, 0x72, 0x73, 0x12, 0x24, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73,
-	0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74,
-	0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x64, 0x75, 0x62,
-	0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
-	0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
-	0x65, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
-	0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62,
-	0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68,
-	0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x33,
-}
-
-var file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_goTypes = []interface{}{
-	(*XDSConfigRequest)(nil),  // 0: dubbo.mesh.v1alpha1.XDSConfigRequest
-	(*StatsRequest)(nil),      // 1: dubbo.mesh.v1alpha1.StatsRequest
-	(*ClustersRequest)(nil),   // 2: dubbo.mesh.v1alpha1.ClustersRequest
-	(*XDSConfigResponse)(nil), // 3: dubbo.mesh.v1alpha1.XDSConfigResponse
-	(*StatsResponse)(nil),     // 4: dubbo.mesh.v1alpha1.StatsResponse
-	(*ClustersResponse)(nil),  // 5: dubbo.mesh.v1alpha1.ClustersResponse
-}
-var file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_depIdxs = []int32{
-	0, // 0: dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService.XDSConfig:input_type -> dubbo.mesh.v1alpha1.XDSConfigRequest
-	1, // 1: dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService.Stats:input_type -> dubbo.mesh.v1alpha1.StatsRequest
-	2, // 2: dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService.Clusters:input_type -> dubbo.mesh.v1alpha1.ClustersRequest
-	3, // 3: dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService.XDSConfig:output_type -> dubbo.mesh.v1alpha1.XDSConfigResponse
-	4, // 4: dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService.Stats:output_type -> dubbo.mesh.v1alpha1.StatsResponse
-	5, // 5: dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService.Clusters:output_type -> dubbo.mesh.v1alpha1.ClustersResponse
-	3, // [3:6] is the sub-list for method output_type
-	0, // [0:3] is the sub-list for method input_type
-	0, // [0:0] is the sub-list for extension type_name
-	0, // [0:0] is the sub-list for extension extendee
-	0, // [0:0] is the sub-list for field type_name
-}
-
-func init() { file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_init() }
-func file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_init() {
-	if File_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto != nil {
-		return
-	}
-	file_api_mesh_v1alpha1_dds_proto_init()
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   0,
-			NumExtensions: 0,
-			NumServices:   1,
-		},
-		GoTypes:           file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_goTypes,
-		DependencyIndexes: file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_depIdxs,
-	}.Build()
-	File_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto = out.File
-	file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_rawDesc = nil
-	file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_goTypes = nil
-	file_api_mesh_v1alpha1_envoy_admin_inter_cp_forward_proto_depIdxs = nil
-}
diff --git a/api/mesh/v1alpha1/envoy_admin_inter_cp_forward.proto b/api/mesh/v1alpha1/envoy_admin_inter_cp_forward.proto
deleted file mode 100644
index 91cd601..0000000
--- a/api/mesh/v1alpha1/envoy_admin_inter_cp_forward.proto
+++ /dev/null
@@ -1,13 +0,0 @@
-syntax = "proto3";
-
-package dubbo.mesh.v1alpha1;
-
-option go_package = "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1";
-
-import "api/mesh/v1alpha1/dds.proto";
-
-service InterCPEnvoyAdminForwardService {
-  rpc XDSConfig(XDSConfigRequest) returns (XDSConfigResponse);
-  rpc Stats(StatsRequest) returns (StatsResponse);
-  rpc Clusters(ClustersRequest) returns (ClustersResponse);
-}
diff --git a/api/mesh/v1alpha1/envoy_admin_inter_cp_forward_grpc.pb.go b/api/mesh/v1alpha1/envoy_admin_inter_cp_forward_grpc.pb.go
deleted file mode 100644
index 398addc..0000000
--- a/api/mesh/v1alpha1/envoy_admin_inter_cp_forward_grpc.pb.go
+++ /dev/null
@@ -1,177 +0,0 @@
-// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	context "context"
-)
-
-import (
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-)
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
-
-// InterCPEnvoyAdminForwardServiceClient is the client API for InterCPEnvoyAdminForwardService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
-type InterCPEnvoyAdminForwardServiceClient interface {
-	XDSConfig(ctx context.Context, in *XDSConfigRequest, opts ...grpc.CallOption) (*XDSConfigResponse, error)
-	Stats(ctx context.Context, in *StatsRequest, opts ...grpc.CallOption) (*StatsResponse, error)
-	Clusters(ctx context.Context, in *ClustersRequest, opts ...grpc.CallOption) (*ClustersResponse, error)
-}
-
-type interCPEnvoyAdminForwardServiceClient struct {
-	cc grpc.ClientConnInterface
-}
-
-func NewInterCPEnvoyAdminForwardServiceClient(cc grpc.ClientConnInterface) InterCPEnvoyAdminForwardServiceClient {
-	return &interCPEnvoyAdminForwardServiceClient{cc}
-}
-
-func (c *interCPEnvoyAdminForwardServiceClient) XDSConfig(ctx context.Context, in *XDSConfigRequest, opts ...grpc.CallOption) (*XDSConfigResponse, error) {
-	out := new(XDSConfigResponse)
-	err := c.cc.Invoke(ctx, "/dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService/XDSConfig", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *interCPEnvoyAdminForwardServiceClient) Stats(ctx context.Context, in *StatsRequest, opts ...grpc.CallOption) (*StatsResponse, error) {
-	out := new(StatsResponse)
-	err := c.cc.Invoke(ctx, "/dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService/Stats", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-func (c *interCPEnvoyAdminForwardServiceClient) Clusters(ctx context.Context, in *ClustersRequest, opts ...grpc.CallOption) (*ClustersResponse, error) {
-	out := new(ClustersResponse)
-	err := c.cc.Invoke(ctx, "/dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService/Clusters", in, out, opts...)
-	if err != nil {
-		return nil, err
-	}
-	return out, nil
-}
-
-// InterCPEnvoyAdminForwardServiceServer is the server API for InterCPEnvoyAdminForwardService service.
-// All implementations must embed UnimplementedInterCPEnvoyAdminForwardServiceServer
-// for forward compatibility
-type InterCPEnvoyAdminForwardServiceServer interface {
-	XDSConfig(context.Context, *XDSConfigRequest) (*XDSConfigResponse, error)
-	Stats(context.Context, *StatsRequest) (*StatsResponse, error)
-	Clusters(context.Context, *ClustersRequest) (*ClustersResponse, error)
-	mustEmbedUnimplementedInterCPEnvoyAdminForwardServiceServer()
-}
-
-// UnimplementedInterCPEnvoyAdminForwardServiceServer must be embedded to have forward compatible implementations.
-type UnimplementedInterCPEnvoyAdminForwardServiceServer struct {
-}
-
-func (UnimplementedInterCPEnvoyAdminForwardServiceServer) XDSConfig(context.Context, *XDSConfigRequest) (*XDSConfigResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method XDSConfig not implemented")
-}
-func (UnimplementedInterCPEnvoyAdminForwardServiceServer) Stats(context.Context, *StatsRequest) (*StatsResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method Stats not implemented")
-}
-func (UnimplementedInterCPEnvoyAdminForwardServiceServer) Clusters(context.Context, *ClustersRequest) (*ClustersResponse, error) {
-	return nil, status.Errorf(codes.Unimplemented, "method Clusters not implemented")
-}
-func (UnimplementedInterCPEnvoyAdminForwardServiceServer) mustEmbedUnimplementedInterCPEnvoyAdminForwardServiceServer() {
-}
-
-// UnsafeInterCPEnvoyAdminForwardServiceServer may be embedded to opt out of forward compatibility for this service.
-// Use of this interface is not recommended, as added methods to InterCPEnvoyAdminForwardServiceServer will
-// result in compilation errors.
-type UnsafeInterCPEnvoyAdminForwardServiceServer interface {
-	mustEmbedUnimplementedInterCPEnvoyAdminForwardServiceServer()
-}
-
-func RegisterInterCPEnvoyAdminForwardServiceServer(s grpc.ServiceRegistrar, srv InterCPEnvoyAdminForwardServiceServer) {
-	s.RegisterService(&InterCPEnvoyAdminForwardService_ServiceDesc, srv)
-}
-
-func _InterCPEnvoyAdminForwardService_XDSConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(XDSConfigRequest)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(InterCPEnvoyAdminForwardServiceServer).XDSConfig(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService/XDSConfig",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(InterCPEnvoyAdminForwardServiceServer).XDSConfig(ctx, req.(*XDSConfigRequest))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _InterCPEnvoyAdminForwardService_Stats_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(StatsRequest)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(InterCPEnvoyAdminForwardServiceServer).Stats(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService/Stats",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(InterCPEnvoyAdminForwardServiceServer).Stats(ctx, req.(*StatsRequest))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-func _InterCPEnvoyAdminForwardService_Clusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
-	in := new(ClustersRequest)
-	if err := dec(in); err != nil {
-		return nil, err
-	}
-	if interceptor == nil {
-		return srv.(InterCPEnvoyAdminForwardServiceServer).Clusters(ctx, in)
-	}
-	info := &grpc.UnaryServerInfo{
-		Server:     srv,
-		FullMethod: "/dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService/Clusters",
-	}
-	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
-		return srv.(InterCPEnvoyAdminForwardServiceServer).Clusters(ctx, req.(*ClustersRequest))
-	}
-	return interceptor(ctx, in, info, handler)
-}
-
-// InterCPEnvoyAdminForwardService_ServiceDesc is the grpc.ServiceDesc for InterCPEnvoyAdminForwardService service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var InterCPEnvoyAdminForwardService_ServiceDesc = grpc.ServiceDesc{
-	ServiceName: "dubbo.mesh.v1alpha1.InterCPEnvoyAdminForwardService",
-	HandlerType: (*InterCPEnvoyAdminForwardServiceServer)(nil),
-	Methods: []grpc.MethodDesc{
-		{
-			MethodName: "XDSConfig",
-			Handler:    _InterCPEnvoyAdminForwardService_XDSConfig_Handler,
-		},
-		{
-			MethodName: "Stats",
-			Handler:    _InterCPEnvoyAdminForwardService_Stats_Handler,
-		},
-		{
-			MethodName: "Clusters",
-			Handler:    _InterCPEnvoyAdminForwardService_Clusters_Handler,
-		},
-	},
-	Streams:  []grpc.StreamDesc{},
-	Metadata: "api/mesh/v1alpha1/envoy_admin_inter_cp_forward.proto",
-}
diff --git a/api/mesh/v1alpha1/mapping.pb.go b/api/mesh/v1alpha1/mapping.pb.go
index 8c24968..af0dc5e 100644
--- a/api/mesh/v1alpha1/mapping.pb.go
+++ b/api/mesh/v1alpha1/mapping.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/mapping_grpc.pb.go b/api/mesh/v1alpha1/mapping_grpc.pb.go
index 1422d9f..279598d 100644
--- a/api/mesh/v1alpha1/mapping_grpc.pb.go
+++ b/api/mesh/v1alpha1/mapping_grpc.pb.go
@@ -4,9 +4,6 @@
 
 import (
 	context "context"
-)
-
-import (
 	grpc "google.golang.org/grpc"
 	codes "google.golang.org/grpc/codes"
 	status "google.golang.org/grpc/status"
diff --git a/api/mesh/v1alpha1/mesh.pb.go b/api/mesh/v1alpha1/mesh.pb.go
index a7524aa..ae4373d 100644
--- a/api/mesh/v1alpha1/mesh.pb.go
+++ b/api/mesh/v1alpha1/mesh.pb.go
@@ -7,21 +7,13 @@
 package v1alpha1
 
 import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
 	structpb "google.golang.org/protobuf/types/known/structpb"
 	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	reflect "reflect"
+	sync "sync"
 )
 
 const (
diff --git a/api/mesh/v1alpha1/mesh_insight.pb.go b/api/mesh/v1alpha1/mesh_insight.pb.go
index 412805d..ec3a155 100644
--- a/api/mesh/v1alpha1/mesh_insight.pb.go
+++ b/api/mesh/v1alpha1/mesh_insight.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/metadata.pb.go b/api/mesh/v1alpha1/metadata.pb.go
index 3cf1a15..fb5994c 100644
--- a/api/mesh/v1alpha1/metadata.pb.go
+++ b/api/mesh/v1alpha1/metadata.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/metadata_grpc.pb.go b/api/mesh/v1alpha1/metadata_grpc.pb.go
index a1303f6..0eb782b 100644
--- a/api/mesh/v1alpha1/metadata_grpc.pb.go
+++ b/api/mesh/v1alpha1/metadata_grpc.pb.go
@@ -4,9 +4,6 @@
 
 import (
 	context "context"
-)
-
-import (
 	grpc "google.golang.org/grpc"
 	codes "google.golang.org/grpc/codes"
 	status "google.golang.org/grpc/status"
diff --git a/api/mesh/v1alpha1/metrics.pb.go b/api/mesh/v1alpha1/metrics.pb.go
index 0f3dfb0..add6199 100644
--- a/api/mesh/v1alpha1/metrics.pb.go
+++ b/api/mesh/v1alpha1/metrics.pb.go
@@ -7,17 +7,12 @@
 package v1alpha1
 
 import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
 	structpb "google.golang.org/protobuf/types/known/structpb"
 	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
+	reflect "reflect"
+	sync "sync"
 )
 
 const (
diff --git a/api/mesh/v1alpha1/mux.pb.go b/api/mesh/v1alpha1/mux.pb.go
deleted file mode 100644
index 965e304..0000000
--- a/api/mesh/v1alpha1/mux.pb.go
+++ /dev/null
@@ -1,260 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.28.1
-// 	protoc        v3.20.0
-// source: api/mesh/v1alpha1/mux.proto
-
-package v1alpha1
-
-import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
-	v2 "github.com/envoyproxy/go-control-plane/envoy/api/v2"
-	v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
-
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-const (
-	// Verify that this generated code is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
-	// Verify that runtime/protoimpl is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-type Message struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// Types that are assignable to Value:
-	//
-	//	*Message_LegacyRequest
-	//	*Message_LegacyResponse
-	//	*Message_Request
-	//	*Message_Response
-	Value isMessage_Value `protobuf_oneof:"value"`
-}
-
-func (x *Message) Reset() {
-	*x = Message{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_mux_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *Message) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Message) ProtoMessage() {}
-
-func (x *Message) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_mux_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use Message.ProtoReflect.Descriptor instead.
-func (*Message) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_mux_proto_rawDescGZIP(), []int{0}
-}
-
-func (m *Message) GetValue() isMessage_Value {
-	if m != nil {
-		return m.Value
-	}
-	return nil
-}
-
-func (x *Message) GetLegacyRequest() *v2.DiscoveryRequest {
-	if x, ok := x.GetValue().(*Message_LegacyRequest); ok {
-		return x.LegacyRequest
-	}
-	return nil
-}
-
-func (x *Message) GetLegacyResponse() *v2.DiscoveryResponse {
-	if x, ok := x.GetValue().(*Message_LegacyResponse); ok {
-		return x.LegacyResponse
-	}
-	return nil
-}
-
-func (x *Message) GetRequest() *v3.DiscoveryRequest {
-	if x, ok := x.GetValue().(*Message_Request); ok {
-		return x.Request
-	}
-	return nil
-}
-
-func (x *Message) GetResponse() *v3.DiscoveryResponse {
-	if x, ok := x.GetValue().(*Message_Response); ok {
-		return x.Response
-	}
-	return nil
-}
-
-type isMessage_Value interface {
-	isMessage_Value()
-}
-
-type Message_LegacyRequest struct {
-	LegacyRequest *v2.DiscoveryRequest `protobuf:"bytes,1,opt,name=legacy_request,json=legacyRequest,proto3,oneof"`
-}
-
-type Message_LegacyResponse struct {
-	LegacyResponse *v2.DiscoveryResponse `protobuf:"bytes,2,opt,name=legacy_response,json=legacyResponse,proto3,oneof"`
-}
-
-type Message_Request struct {
-	Request *v3.DiscoveryRequest `protobuf:"bytes,3,opt,name=request,proto3,oneof"`
-}
-
-type Message_Response struct {
-	Response *v3.DiscoveryResponse `protobuf:"bytes,4,opt,name=response,proto3,oneof"`
-}
-
-func (*Message_LegacyRequest) isMessage_Value() {}
-
-func (*Message_LegacyResponse) isMessage_Value() {}
-
-func (*Message_Request) isMessage_Value() {}
-
-func (*Message_Response) isMessage_Value() {}
-
-var File_api_mesh_v1alpha1_mux_proto protoreflect.FileDescriptor
-
-var file_api_mesh_v1alpha1_mux_proto_rawDesc = []byte{
-	0x0a, 0x1b, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2f, 0x6d, 0x75, 0x78, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x64,
-	0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68,
-	0x61, 0x31, 0x1a, 0x1c, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, 0x32,
-	0x2f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
-	0x1a, 0x2a, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2f,
-	0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2f, 0x76, 0x33, 0x2f, 0x64, 0x69, 0x73,
-	0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x02, 0x0a,
-	0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x47, 0x0a, 0x0e, 0x6c, 0x65, 0x67, 0x61,
-	0x63, 0x79, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
-	0x32, 0x1e, 0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e,
-	0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
-	0x48, 0x00, 0x52, 0x0d, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
-	0x74, 0x12, 0x4a, 0x0a, 0x0f, 0x6c, 0x65, 0x67, 0x61, 0x63, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x65, 0x6e, 0x76,
-	0x6f, 0x79, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76,
-	0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x0e, 0x6c,
-	0x65, 0x67, 0x61, 0x63, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a,
-	0x07, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
-	0x2e, 0x65, 0x6e, 0x76, 0x6f, 0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64,
-	0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63,
-	0x6f, 0x76, 0x65, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x48, 0x00, 0x52, 0x07,
-	0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x70, 0x6f,
-	0x6e, 0x73, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x65, 0x6e, 0x76, 0x6f,
-	0x79, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76,
-	0x65, 0x72, 0x79, 0x2e, 0x76, 0x33, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79,
-	0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x70,
-	0x6f, 0x6e, 0x73, 0x65, 0x42, 0x07, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x32, 0x63, 0x0a,
-	0x10, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x78, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
-	0x65, 0x12, 0x4f, 0x0a, 0x0d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x4d, 0x65, 0x73, 0x73, 0x61,
-	0x67, 0x65, 0x12, 0x1c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e,
-	0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
-	0x1a, 0x1c, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31,
-	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x28, 0x01,
-	0x30, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d,
-	0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75,
-	0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73,
-	0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x33,
-}
-
-var (
-	file_api_mesh_v1alpha1_mux_proto_rawDescOnce sync.Once
-	file_api_mesh_v1alpha1_mux_proto_rawDescData = file_api_mesh_v1alpha1_mux_proto_rawDesc
-)
-
-func file_api_mesh_v1alpha1_mux_proto_rawDescGZIP() []byte {
-	file_api_mesh_v1alpha1_mux_proto_rawDescOnce.Do(func() {
-		file_api_mesh_v1alpha1_mux_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_mesh_v1alpha1_mux_proto_rawDescData)
-	})
-	return file_api_mesh_v1alpha1_mux_proto_rawDescData
-}
-
-var file_api_mesh_v1alpha1_mux_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_api_mesh_v1alpha1_mux_proto_goTypes = []interface{}{
-	(*Message)(nil),              // 0: dubbo.mesh.v1alpha1.Message
-	(*v2.DiscoveryRequest)(nil),  // 1: envoy.api.v2.DiscoveryRequest
-	(*v2.DiscoveryResponse)(nil), // 2: envoy.api.v2.DiscoveryResponse
-	(*v3.DiscoveryRequest)(nil),  // 3: envoy.service.discovery.v3.DiscoveryRequest
-	(*v3.DiscoveryResponse)(nil), // 4: envoy.service.discovery.v3.DiscoveryResponse
-}
-var file_api_mesh_v1alpha1_mux_proto_depIdxs = []int32{
-	1, // 0: dubbo.mesh.v1alpha1.Message.legacy_request:type_name -> envoy.api.v2.DiscoveryRequest
-	2, // 1: dubbo.mesh.v1alpha1.Message.legacy_response:type_name -> envoy.api.v2.DiscoveryResponse
-	3, // 2: dubbo.mesh.v1alpha1.Message.request:type_name -> envoy.service.discovery.v3.DiscoveryRequest
-	4, // 3: dubbo.mesh.v1alpha1.Message.response:type_name -> envoy.service.discovery.v3.DiscoveryResponse
-	0, // 4: dubbo.mesh.v1alpha1.MultiplexService.StreamMessage:input_type -> dubbo.mesh.v1alpha1.Message
-	0, // 5: dubbo.mesh.v1alpha1.MultiplexService.StreamMessage:output_type -> dubbo.mesh.v1alpha1.Message
-	5, // [5:6] is the sub-list for method output_type
-	4, // [4:5] is the sub-list for method input_type
-	4, // [4:4] is the sub-list for extension type_name
-	4, // [4:4] is the sub-list for extension extendee
-	0, // [0:4] is the sub-list for field type_name
-}
-
-func init() { file_api_mesh_v1alpha1_mux_proto_init() }
-func file_api_mesh_v1alpha1_mux_proto_init() {
-	if File_api_mesh_v1alpha1_mux_proto != nil {
-		return
-	}
-	if !protoimpl.UnsafeEnabled {
-		file_api_mesh_v1alpha1_mux_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Message); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	file_api_mesh_v1alpha1_mux_proto_msgTypes[0].OneofWrappers = []interface{}{
-		(*Message_LegacyRequest)(nil),
-		(*Message_LegacyResponse)(nil),
-		(*Message_Request)(nil),
-		(*Message_Response)(nil),
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_api_mesh_v1alpha1_mux_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   1,
-			NumExtensions: 0,
-			NumServices:   1,
-		},
-		GoTypes:           file_api_mesh_v1alpha1_mux_proto_goTypes,
-		DependencyIndexes: file_api_mesh_v1alpha1_mux_proto_depIdxs,
-		MessageInfos:      file_api_mesh_v1alpha1_mux_proto_msgTypes,
-	}.Build()
-	File_api_mesh_v1alpha1_mux_proto = out.File
-	file_api_mesh_v1alpha1_mux_proto_rawDesc = nil
-	file_api_mesh_v1alpha1_mux_proto_goTypes = nil
-	file_api_mesh_v1alpha1_mux_proto_depIdxs = nil
-}
diff --git a/api/mesh/v1alpha1/mux.proto b/api/mesh/v1alpha1/mux.proto
deleted file mode 100644
index f7cccf1..0000000
--- a/api/mesh/v1alpha1/mux.proto
+++ /dev/null
@@ -1,21 +0,0 @@
-syntax = "proto3";
-
-package dubbo.mesh.v1alpha1;
-
-option go_package = "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1";
-
-import "envoy/api/v2/discovery.proto";
-import "envoy/service/discovery/v3/discovery.proto";
-
-service MultiplexService {
-  rpc StreamMessage(stream Message) returns (stream Message);
-}
-
-message Message {
-  oneof value {
-    envoy.api.v2.DiscoveryRequest legacy_request = 1;
-    envoy.api.v2.DiscoveryResponse legacy_response = 2;
-    envoy.service.discovery.v3.DiscoveryRequest request = 3;
-    envoy.service.discovery.v3.DiscoveryResponse response = 4;
-  }
-}
diff --git a/api/mesh/v1alpha1/mux_grpc.pb.go b/api/mesh/v1alpha1/mux_grpc.pb.go
deleted file mode 100644
index 00fa751..0000000
--- a/api/mesh/v1alpha1/mux_grpc.pb.go
+++ /dev/null
@@ -1,136 +0,0 @@
-// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
-
-package v1alpha1
-
-import (
-	context "context"
-)
-
-import (
-	grpc "google.golang.org/grpc"
-	codes "google.golang.org/grpc/codes"
-	status "google.golang.org/grpc/status"
-)
-
-// This is a compile-time assertion to ensure that this generated file
-// is compatible with the grpc package it is being compiled against.
-// Requires gRPC-Go v1.32.0 or later.
-const _ = grpc.SupportPackageIsVersion7
-
-// MultiplexServiceClient is the client API for MultiplexService service.
-//
-// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
-type MultiplexServiceClient interface {
-	StreamMessage(ctx context.Context, opts ...grpc.CallOption) (MultiplexService_StreamMessageClient, error)
-}
-
-type multiplexServiceClient struct {
-	cc grpc.ClientConnInterface
-}
-
-func NewMultiplexServiceClient(cc grpc.ClientConnInterface) MultiplexServiceClient {
-	return &multiplexServiceClient{cc}
-}
-
-func (c *multiplexServiceClient) StreamMessage(ctx context.Context, opts ...grpc.CallOption) (MultiplexService_StreamMessageClient, error) {
-	stream, err := c.cc.NewStream(ctx, &MultiplexService_ServiceDesc.Streams[0], "/dubbo.mesh.v1alpha1.MultiplexService/StreamMessage", opts...)
-	if err != nil {
-		return nil, err
-	}
-	x := &multiplexServiceStreamMessageClient{stream}
-	return x, nil
-}
-
-type MultiplexService_StreamMessageClient interface {
-	Send(*Message) error
-	Recv() (*Message, error)
-	grpc.ClientStream
-}
-
-type multiplexServiceStreamMessageClient struct {
-	grpc.ClientStream
-}
-
-func (x *multiplexServiceStreamMessageClient) Send(m *Message) error {
-	return x.ClientStream.SendMsg(m)
-}
-
-func (x *multiplexServiceStreamMessageClient) Recv() (*Message, error) {
-	m := new(Message)
-	if err := x.ClientStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-// MultiplexServiceServer is the server API for MultiplexService service.
-// All implementations must embed UnimplementedMultiplexServiceServer
-// for forward compatibility
-type MultiplexServiceServer interface {
-	StreamMessage(MultiplexService_StreamMessageServer) error
-	mustEmbedUnimplementedMultiplexServiceServer()
-}
-
-// UnimplementedMultiplexServiceServer must be embedded to have forward compatible implementations.
-type UnimplementedMultiplexServiceServer struct {
-}
-
-func (UnimplementedMultiplexServiceServer) StreamMessage(MultiplexService_StreamMessageServer) error {
-	return status.Errorf(codes.Unimplemented, "method StreamMessage not implemented")
-}
-func (UnimplementedMultiplexServiceServer) mustEmbedUnimplementedMultiplexServiceServer() {}
-
-// UnsafeMultiplexServiceServer may be embedded to opt out of forward compatibility for this service.
-// Use of this interface is not recommended, as added methods to MultiplexServiceServer will
-// result in compilation errors.
-type UnsafeMultiplexServiceServer interface {
-	mustEmbedUnimplementedMultiplexServiceServer()
-}
-
-func RegisterMultiplexServiceServer(s grpc.ServiceRegistrar, srv MultiplexServiceServer) {
-	s.RegisterService(&MultiplexService_ServiceDesc, srv)
-}
-
-func _MultiplexService_StreamMessage_Handler(srv interface{}, stream grpc.ServerStream) error {
-	return srv.(MultiplexServiceServer).StreamMessage(&multiplexServiceStreamMessageServer{stream})
-}
-
-type MultiplexService_StreamMessageServer interface {
-	Send(*Message) error
-	Recv() (*Message, error)
-	grpc.ServerStream
-}
-
-type multiplexServiceStreamMessageServer struct {
-	grpc.ServerStream
-}
-
-func (x *multiplexServiceStreamMessageServer) Send(m *Message) error {
-	return x.ServerStream.SendMsg(m)
-}
-
-func (x *multiplexServiceStreamMessageServer) Recv() (*Message, error) {
-	m := new(Message)
-	if err := x.ServerStream.RecvMsg(m); err != nil {
-		return nil, err
-	}
-	return m, nil
-}
-
-// MultiplexService_ServiceDesc is the grpc.ServiceDesc for MultiplexService service.
-// It's only intended for direct use with grpc.RegisterService,
-// and not to be introspected or modified (even as a copy)
-var MultiplexService_ServiceDesc = grpc.ServiceDesc{
-	ServiceName: "dubbo.mesh.v1alpha1.MultiplexService",
-	HandlerType: (*MultiplexServiceServer)(nil),
-	Methods:     []grpc.MethodDesc{},
-	Streams: []grpc.StreamDesc{
-		{
-			StreamName:    "StreamMessage",
-			Handler:       _MultiplexService_StreamMessage_Handler,
-			ServerStreams: true,
-			ClientStreams: true,
-		},
-	},
-	Metadata: "api/mesh/v1alpha1/mux.proto",
-}
diff --git a/api/mesh/v1alpha1/selector.pb.go b/api/mesh/v1alpha1/selector.pb.go
deleted file mode 100644
index 6f0521a..0000000
--- a/api/mesh/v1alpha1/selector.pb.go
+++ /dev/null
@@ -1,160 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.28.1
-// 	protoc        v3.20.0
-// source: api/mesh/v1alpha1/selector.proto
-
-package v1alpha1
-
-import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-const (
-	// Verify that this generated code is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
-	// Verify that runtime/protoimpl is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-// Selector defines structure for selecting tags for given dataplane
-type Selector struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	// Tags to match, can be used for both source and destinations
-	Match map[string]string `protobuf:"bytes,1,rep,name=match,proto3" json:"match,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
-}
-
-func (x *Selector) Reset() {
-	*x = Selector{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_selector_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *Selector) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*Selector) ProtoMessage() {}
-
-func (x *Selector) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_selector_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use Selector.ProtoReflect.Descriptor instead.
-func (*Selector) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_selector_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *Selector) GetMatch() map[string]string {
-	if x != nil {
-		return x.Match
-	}
-	return nil
-}
-
-var File_api_mesh_v1alpha1_selector_proto protoreflect.FileDescriptor
-
-var file_api_mesh_v1alpha1_selector_proto_rawDesc = []byte{
-	0x0a, 0x20, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
-	0x74, 0x6f, 0x12, 0x13, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76,
-	0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x22, 0x84, 0x01, 0x0a, 0x08, 0x53, 0x65, 0x6c, 0x65,
-	0x63, 0x74, 0x6f, 0x72, 0x12, 0x3e, 0x0a, 0x05, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20,
-	0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68,
-	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74,
-	0x6f, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x05, 0x6d,
-	0x61, 0x74, 0x63, 0x68, 0x1a, 0x38, 0x0a, 0x0a, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x45, 0x6e, 0x74,
-	0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
-	0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20,
-	0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x36,
-	0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61,
-	0x63, 0x68, 0x65, 0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e,
-	0x65, 0x74, 0x65, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31,
-	0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
-	file_api_mesh_v1alpha1_selector_proto_rawDescOnce sync.Once
-	file_api_mesh_v1alpha1_selector_proto_rawDescData = file_api_mesh_v1alpha1_selector_proto_rawDesc
-)
-
-func file_api_mesh_v1alpha1_selector_proto_rawDescGZIP() []byte {
-	file_api_mesh_v1alpha1_selector_proto_rawDescOnce.Do(func() {
-		file_api_mesh_v1alpha1_selector_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_mesh_v1alpha1_selector_proto_rawDescData)
-	})
-	return file_api_mesh_v1alpha1_selector_proto_rawDescData
-}
-
-var file_api_mesh_v1alpha1_selector_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
-var file_api_mesh_v1alpha1_selector_proto_goTypes = []interface{}{
-	(*Selector)(nil), // 0: dubbo.mesh.v1alpha1.Selector
-	nil,              // 1: dubbo.mesh.v1alpha1.Selector.MatchEntry
-}
-var file_api_mesh_v1alpha1_selector_proto_depIdxs = []int32{
-	1, // 0: dubbo.mesh.v1alpha1.Selector.match:type_name -> dubbo.mesh.v1alpha1.Selector.MatchEntry
-	1, // [1:1] is the sub-list for method output_type
-	1, // [1:1] is the sub-list for method input_type
-	1, // [1:1] is the sub-list for extension type_name
-	1, // [1:1] is the sub-list for extension extendee
-	0, // [0:1] is the sub-list for field type_name
-}
-
-func init() { file_api_mesh_v1alpha1_selector_proto_init() }
-func file_api_mesh_v1alpha1_selector_proto_init() {
-	if File_api_mesh_v1alpha1_selector_proto != nil {
-		return
-	}
-	if !protoimpl.UnsafeEnabled {
-		file_api_mesh_v1alpha1_selector_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*Selector); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_api_mesh_v1alpha1_selector_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   2,
-			NumExtensions: 0,
-			NumServices:   0,
-		},
-		GoTypes:           file_api_mesh_v1alpha1_selector_proto_goTypes,
-		DependencyIndexes: file_api_mesh_v1alpha1_selector_proto_depIdxs,
-		MessageInfos:      file_api_mesh_v1alpha1_selector_proto_msgTypes,
-	}.Build()
-	File_api_mesh_v1alpha1_selector_proto = out.File
-	file_api_mesh_v1alpha1_selector_proto_rawDesc = nil
-	file_api_mesh_v1alpha1_selector_proto_goTypes = nil
-	file_api_mesh_v1alpha1_selector_proto_depIdxs = nil
-}
diff --git a/api/mesh/v1alpha1/selector.proto b/api/mesh/v1alpha1/selector.proto
deleted file mode 100644
index d370c14..0000000
--- a/api/mesh/v1alpha1/selector.proto
+++ /dev/null
@@ -1,11 +0,0 @@
-syntax = "proto3";
-
-package dubbo.mesh.v1alpha1;
-
-option go_package = "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1";
-
-// Selector defines structure for selecting tags for given dataplane
-message Selector {
-  // Tags to match, can be used for both source and destinations
-  map<string, string> match = 1;
-}
diff --git a/api/mesh/v1alpha1/tag_route.pb.go b/api/mesh/v1alpha1/tag_route.pb.go
index 226066c..bccde3a 100644
--- a/api/mesh/v1alpha1/tag_route.pb.go
+++ b/api/mesh/v1alpha1/tag_route.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/zone_ingress.pb.go b/api/mesh/v1alpha1/zone_ingress.pb.go
index 51f4c1c..7d49f69 100644
--- a/api/mesh/v1alpha1/zone_ingress.pb.go
+++ b/api/mesh/v1alpha1/zone_ingress.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/zone_ingress_insight.pb.go b/api/mesh/v1alpha1/zone_ingress_insight.pb.go
index cc303d3..603fb98 100644
--- a/api/mesh/v1alpha1/zone_ingress_insight.pb.go
+++ b/api/mesh/v1alpha1/zone_ingress_insight.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/zoneegress.pb.go b/api/mesh/v1alpha1/zoneegress.pb.go
index b12e1ff..af60ddd 100644
--- a/api/mesh/v1alpha1/zoneegress.pb.go
+++ b/api/mesh/v1alpha1/zoneegress.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/zoneegressinsight.pb.go b/api/mesh/v1alpha1/zoneegressinsight.pb.go
index eb6c5c2..b912419 100644
--- a/api/mesh/v1alpha1/zoneegressinsight.pb.go
+++ b/api/mesh/v1alpha1/zoneegressinsight.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/mesh/v1alpha1/zoneegressoverview.pb.go b/api/mesh/v1alpha1/zoneegressoverview.pb.go
deleted file mode 100644
index a69c0ef..0000000
--- a/api/mesh/v1alpha1/zoneegressoverview.pb.go
+++ /dev/null
@@ -1,191 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.28.1
-// 	protoc        v3.20.0
-// source: api/mesh/v1alpha1/zoneegressoverview.proto
-
-package v1alpha1
-
-import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
-const (
-	// Verify that this generated code is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
-	// Verify that runtime/protoimpl is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-// ZoneEgressOverview defines the projected state of a ZoneEgress.
-type ZoneEgressOverview struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	ZoneEgress        *ZoneEgress        `protobuf:"bytes,1,opt,name=zoneEgress,proto3" json:"zoneEgress,omitempty"`
-	ZoneEgressInsight *ZoneEgressInsight `protobuf:"bytes,2,opt,name=zoneEgressInsight,proto3" json:"zoneEgressInsight,omitempty"`
-}
-
-func (x *ZoneEgressOverview) Reset() {
-	*x = ZoneEgressOverview{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_zoneegressoverview_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *ZoneEgressOverview) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ZoneEgressOverview) ProtoMessage() {}
-
-func (x *ZoneEgressOverview) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_zoneegressoverview_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use ZoneEgressOverview.ProtoReflect.Descriptor instead.
-func (*ZoneEgressOverview) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *ZoneEgressOverview) GetZoneEgress() *ZoneEgress {
-	if x != nil {
-		return x.ZoneEgress
-	}
-	return nil
-}
-
-func (x *ZoneEgressOverview) GetZoneEgressInsight() *ZoneEgressInsight {
-	if x != nil {
-		return x.ZoneEgressInsight
-	}
-	return nil
-}
-
-var File_api_mesh_v1alpha1_zoneegressoverview_proto protoreflect.FileDescriptor
-
-var file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDesc = []byte{
-	0x0a, 0x2a, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x6f, 0x76,
-	0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x64, 0x75,
-	0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
-	0x31, 0x1a, 0x16, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x6f, 0x70, 0x74, 0x69,
-	0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x61, 0x70, 0x69, 0x2f, 0x6d,
-	0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7a, 0x6f, 0x6e,
-	0x65, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x61,
-	0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
-	0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x65, 0x67, 0x72, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x73, 0x69, 0x67,
-	0x68, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x02, 0x0a, 0x12, 0x5a, 0x6f, 0x6e,
-	0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12,
-	0x3f, 0x0a, 0x0a, 0x7a, 0x6f, 0x6e, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20,
-	0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68,
-	0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x45, 0x67,
-	0x72, 0x65, 0x73, 0x73, 0x52, 0x0a, 0x7a, 0x6f, 0x6e, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73,
-	0x12, 0x54, 0x0a, 0x11, 0x7a, 0x6f, 0x6e, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e,
-	0x73, 0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x64, 0x75,
-	0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
-	0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x69,
-	0x67, 0x68, 0x74, 0x52, 0x11, 0x7a, 0x6f, 0x6e, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49,
-	0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x60, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x1c, 0x0a, 0x1a,
-	0x5a, 0x6f, 0x6e, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x76, 0x65, 0x72, 0x76, 0x69,
-	0x65, 0x77, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x14,
-	0x12, 0x12, 0x5a, 0x6f, 0x6e, 0x65, 0x45, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x76, 0x65, 0x72,
-	0x76, 0x69, 0x65, 0x77, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x18, 0x01, 0xaa, 0x8c, 0x89, 0xa6,
-	0x01, 0x06, 0x22, 0x04, 0x6d, 0x65, 0x73, 0x68, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x30, 0x01,
-	0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x60, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68,
-	0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2f, 0x64, 0x75,
-	0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x2f, 0x61,
-	0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
-	0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
-	file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescOnce sync.Once
-	file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescData = file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDesc
-)
-
-func file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescGZIP() []byte {
-	file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescOnce.Do(func() {
-		file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescData)
-	})
-	return file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDescData
-}
-
-var file_api_mesh_v1alpha1_zoneegressoverview_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_api_mesh_v1alpha1_zoneegressoverview_proto_goTypes = []interface{}{
-	(*ZoneEgressOverview)(nil), // 0: dubbo.mesh.v1alpha1.ZoneEgressOverview
-	(*ZoneEgress)(nil),         // 1: dubbo.mesh.v1alpha1.ZoneEgress
-	(*ZoneEgressInsight)(nil),  // 2: dubbo.mesh.v1alpha1.ZoneEgressInsight
-}
-var file_api_mesh_v1alpha1_zoneegressoverview_proto_depIdxs = []int32{
-	1, // 0: dubbo.mesh.v1alpha1.ZoneEgressOverview.zoneEgress:type_name -> dubbo.mesh.v1alpha1.ZoneEgress
-	2, // 1: dubbo.mesh.v1alpha1.ZoneEgressOverview.zoneEgressInsight:type_name -> dubbo.mesh.v1alpha1.ZoneEgressInsight
-	2, // [2:2] is the sub-list for method output_type
-	2, // [2:2] is the sub-list for method input_type
-	2, // [2:2] is the sub-list for extension type_name
-	2, // [2:2] is the sub-list for extension extendee
-	0, // [0:2] is the sub-list for field type_name
-}
-
-func init() { file_api_mesh_v1alpha1_zoneegressoverview_proto_init() }
-func file_api_mesh_v1alpha1_zoneegressoverview_proto_init() {
-	if File_api_mesh_v1alpha1_zoneegressoverview_proto != nil {
-		return
-	}
-	file_api_mesh_v1alpha1_zoneegress_proto_init()
-	file_api_mesh_v1alpha1_zoneegressinsight_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_api_mesh_v1alpha1_zoneegressoverview_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ZoneEgressOverview); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   1,
-			NumExtensions: 0,
-			NumServices:   0,
-		},
-		GoTypes:           file_api_mesh_v1alpha1_zoneegressoverview_proto_goTypes,
-		DependencyIndexes: file_api_mesh_v1alpha1_zoneegressoverview_proto_depIdxs,
-		MessageInfos:      file_api_mesh_v1alpha1_zoneegressoverview_proto_msgTypes,
-	}.Build()
-	File_api_mesh_v1alpha1_zoneegressoverview_proto = out.File
-	file_api_mesh_v1alpha1_zoneegressoverview_proto_rawDesc = nil
-	file_api_mesh_v1alpha1_zoneegressoverview_proto_goTypes = nil
-	file_api_mesh_v1alpha1_zoneegressoverview_proto_depIdxs = nil
-}
diff --git a/api/mesh/v1alpha1/zoneegressoverview.proto b/api/mesh/v1alpha1/zoneegressoverview.proto
deleted file mode 100644
index ea059f0..0000000
--- a/api/mesh/v1alpha1/zoneegressoverview.proto
+++ /dev/null
@@ -1,24 +0,0 @@
-syntax = "proto3";
-
-package dubbo.mesh.v1alpha1;
-
-option go_package = "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1";
-
-import "api/mesh/options.proto";
-import "api/mesh/v1alpha1/zoneegress.proto";
-import "api/mesh/v1alpha1/zoneegressinsight.proto";
-
-// ZoneEgressOverview defines the projected state of a ZoneEgress.
-message ZoneEgressOverview {
-
-  option (dubbo.mesh.resource).name = "ZoneEgressOverviewResource";
-  option (dubbo.mesh.resource).type = "ZoneEgressOverview";
-  option (dubbo.mesh.resource).global = true;
-  option (dubbo.mesh.resource).package = "mesh";
-  option (dubbo.mesh.resource).skip_registration = true;
-  option (dubbo.mesh.resource).skip_kubernetes_wrappers = true;
-
-  ZoneEgress zoneEgress = 1;
-
-  ZoneEgressInsight zoneEgressInsight = 2;
-}
diff --git a/api/mesh/v1alpha1/zoneingress_overview.pb.go b/api/mesh/v1alpha1/zoneingress_overview.pb.go
deleted file mode 100644
index 12e2e6f..0000000
--- a/api/mesh/v1alpha1/zoneingress_overview.pb.go
+++ /dev/null
@@ -1,192 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// versions:
-// 	protoc-gen-go v1.28.1
-// 	protoc        v3.20.0
-// source: api/mesh/v1alpha1/zoneingress_overview.proto
-
-package v1alpha1
-
-import (
-	reflect "reflect"
-	sync "sync"
-)
-
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
-const (
-	// Verify that this generated code is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
-	// Verify that runtime/protoimpl is sufficiently up-to-date.
-	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
-)
-
-// ZoneIngressOverview defines the projected state of a ZoneIngress.
-type ZoneIngressOverview struct {
-	state         protoimpl.MessageState
-	sizeCache     protoimpl.SizeCache
-	unknownFields protoimpl.UnknownFields
-
-	ZoneIngress        *ZoneIngress        `protobuf:"bytes,1,opt,name=zone_ingress,json=zoneIngress,proto3" json:"zone_ingress,omitempty"`
-	ZoneIngressInsight *ZoneIngressInsight `protobuf:"bytes,2,opt,name=zone_ingress_insight,json=zoneIngressInsight,proto3" json:"zone_ingress_insight,omitempty"`
-}
-
-func (x *ZoneIngressOverview) Reset() {
-	*x = ZoneIngressOverview{}
-	if protoimpl.UnsafeEnabled {
-		mi := &file_api_mesh_v1alpha1_zoneingress_overview_proto_msgTypes[0]
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		ms.StoreMessageInfo(mi)
-	}
-}
-
-func (x *ZoneIngressOverview) String() string {
-	return protoimpl.X.MessageStringOf(x)
-}
-
-func (*ZoneIngressOverview) ProtoMessage() {}
-
-func (x *ZoneIngressOverview) ProtoReflect() protoreflect.Message {
-	mi := &file_api_mesh_v1alpha1_zoneingress_overview_proto_msgTypes[0]
-	if protoimpl.UnsafeEnabled && x != nil {
-		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
-		if ms.LoadMessageInfo() == nil {
-			ms.StoreMessageInfo(mi)
-		}
-		return ms
-	}
-	return mi.MessageOf(x)
-}
-
-// Deprecated: Use ZoneIngressOverview.ProtoReflect.Descriptor instead.
-func (*ZoneIngressOverview) Descriptor() ([]byte, []int) {
-	return file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescGZIP(), []int{0}
-}
-
-func (x *ZoneIngressOverview) GetZoneIngress() *ZoneIngress {
-	if x != nil {
-		return x.ZoneIngress
-	}
-	return nil
-}
-
-func (x *ZoneIngressOverview) GetZoneIngressInsight() *ZoneIngressInsight {
-	if x != nil {
-		return x.ZoneIngressInsight
-	}
-	return nil
-}
-
-var File_api_mesh_v1alpha1_zoneingress_overview_proto protoreflect.FileDescriptor
-
-var file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDesc = []byte{
-	0x0a, 0x2c, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f,
-	0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13,
-	0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x1a, 0x16, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x6f, 0x70,
-	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x61, 0x70, 0x69,
-	0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x7a,
-	0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74,
-	0x6f, 0x1a, 0x2c, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c,
-	0x70, 0x68, 0x61, 0x31, 0x2f, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73,
-	0x73, 0x5f, 0x69, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
-	0x99, 0x02, 0x0a, 0x13, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f,
-	0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x12, 0x43, 0x0a, 0x0c, 0x7a, 0x6f, 0x6e, 0x65, 0x5f,
-	0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e,
-	0x64, 0x75, 0x62, 0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x52,
-	0x0b, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x12, 0x59, 0x0a, 0x14,
-	0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x6e, 0x73,
-	0x69, 0x67, 0x68, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x64, 0x75, 0x62,
-	0x62, 0x6f, 0x2e, 0x6d, 0x65, 0x73, 0x68, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
-	0x2e, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x49, 0x6e, 0x73, 0x69,
-	0x67, 0x68, 0x74, 0x52, 0x12, 0x7a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73,
-	0x49, 0x6e, 0x73, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x1d, 0x0a,
-	0x1b, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f, 0x76, 0x65, 0x72,
-	0x76, 0x69, 0x65, 0x77, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xaa, 0x8c, 0x89, 0xa6,
-	0x01, 0x15, 0x12, 0x13, 0x5a, 0x6f, 0x6e, 0x65, 0x49, 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x4f,
-	0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x18, 0x01, 0xaa,
-	0x8c, 0x89, 0xa6, 0x01, 0x06, 0x22, 0x04, 0x6d, 0x65, 0x73, 0x68, 0xaa, 0x8c, 0x89, 0xa6, 0x01,
-	0x02, 0x30, 0x01, 0xaa, 0x8c, 0x89, 0xa6, 0x01, 0x02, 0x60, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67,
-	0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x70, 0x61, 0x63, 0x68, 0x65,
-	0x2f, 0x64, 0x75, 0x62, 0x62, 0x6f, 0x2d, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65,
-	0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x65, 0x73, 0x68, 0x2f, 0x76, 0x31, 0x61, 0x6c, 0x70,
-	0x68, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
-}
-
-var (
-	file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescOnce sync.Once
-	file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescData = file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDesc
-)
-
-func file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescGZIP() []byte {
-	file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescOnce.Do(func() {
-		file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescData)
-	})
-	return file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDescData
-}
-
-var file_api_mesh_v1alpha1_zoneingress_overview_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
-var file_api_mesh_v1alpha1_zoneingress_overview_proto_goTypes = []interface{}{
-	(*ZoneIngressOverview)(nil), // 0: dubbo.mesh.v1alpha1.ZoneIngressOverview
-	(*ZoneIngress)(nil),         // 1: dubbo.mesh.v1alpha1.ZoneIngress
-	(*ZoneIngressInsight)(nil),  // 2: dubbo.mesh.v1alpha1.ZoneIngressInsight
-}
-var file_api_mesh_v1alpha1_zoneingress_overview_proto_depIdxs = []int32{
-	1, // 0: dubbo.mesh.v1alpha1.ZoneIngressOverview.zone_ingress:type_name -> dubbo.mesh.v1alpha1.ZoneIngress
-	2, // 1: dubbo.mesh.v1alpha1.ZoneIngressOverview.zone_ingress_insight:type_name -> dubbo.mesh.v1alpha1.ZoneIngressInsight
-	2, // [2:2] is the sub-list for method output_type
-	2, // [2:2] is the sub-list for method input_type
-	2, // [2:2] is the sub-list for extension type_name
-	2, // [2:2] is the sub-list for extension extendee
-	0, // [0:2] is the sub-list for field type_name
-}
-
-func init() { file_api_mesh_v1alpha1_zoneingress_overview_proto_init() }
-func file_api_mesh_v1alpha1_zoneingress_overview_proto_init() {
-	if File_api_mesh_v1alpha1_zoneingress_overview_proto != nil {
-		return
-	}
-	file_api_mesh_v1alpha1_zone_ingress_proto_init()
-	file_api_mesh_v1alpha1_zone_ingress_insight_proto_init()
-	if !protoimpl.UnsafeEnabled {
-		file_api_mesh_v1alpha1_zoneingress_overview_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
-			switch v := v.(*ZoneIngressOverview); i {
-			case 0:
-				return &v.state
-			case 1:
-				return &v.sizeCache
-			case 2:
-				return &v.unknownFields
-			default:
-				return nil
-			}
-		}
-	}
-	type x struct{}
-	out := protoimpl.TypeBuilder{
-		File: protoimpl.DescBuilder{
-			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
-			RawDescriptor: file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDesc,
-			NumEnums:      0,
-			NumMessages:   1,
-			NumExtensions: 0,
-			NumServices:   0,
-		},
-		GoTypes:           file_api_mesh_v1alpha1_zoneingress_overview_proto_goTypes,
-		DependencyIndexes: file_api_mesh_v1alpha1_zoneingress_overview_proto_depIdxs,
-		MessageInfos:      file_api_mesh_v1alpha1_zoneingress_overview_proto_msgTypes,
-	}.Build()
-	File_api_mesh_v1alpha1_zoneingress_overview_proto = out.File
-	file_api_mesh_v1alpha1_zoneingress_overview_proto_rawDesc = nil
-	file_api_mesh_v1alpha1_zoneingress_overview_proto_goTypes = nil
-	file_api_mesh_v1alpha1_zoneingress_overview_proto_depIdxs = nil
-}
diff --git a/api/mesh/v1alpha1/zoneingress_overview.proto b/api/mesh/v1alpha1/zoneingress_overview.proto
deleted file mode 100644
index 8afc614..0000000
--- a/api/mesh/v1alpha1/zoneingress_overview.proto
+++ /dev/null
@@ -1,23 +0,0 @@
-syntax = "proto3";
-
-package dubbo.mesh.v1alpha1;
-
-option go_package = "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1";
-import "api/mesh/options.proto";
-import "api/mesh/v1alpha1/zone_ingress.proto";
-import "api/mesh/v1alpha1/zone_ingress_insight.proto";
-
-// ZoneIngressOverview defines the projected state of a ZoneIngress.
-message ZoneIngressOverview {
-
-  option (dubbo.mesh.resource).name = "ZoneIngressOverviewResource";
-  option (dubbo.mesh.resource).type = "ZoneIngressOverview";
-  option (dubbo.mesh.resource).global = true;
-  option (dubbo.mesh.resource).package = "mesh";
-  option (dubbo.mesh.resource).skip_registration = true;
-  option (dubbo.mesh.resource).skip_kubernetes_wrappers = true;
-
-  ZoneIngress zone_ingress = 1;
-
-  ZoneIngressInsight zone_ingress_insight = 2;
-}
diff --git a/api/system/v1alpha1/config.pb.go b/api/system/v1alpha1/config.pb.go
index d43d200..081b7d2 100644
--- a/api/system/v1alpha1/config.pb.go
+++ b/api/system/v1alpha1/config.pb.go
@@ -7,20 +7,13 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/system/v1alpha1/datasource.pb.go b/api/system/v1alpha1/datasource.pb.go
index dbd31c5..12e047f 100644
--- a/api/system/v1alpha1/datasource.pb.go
+++ b/api/system/v1alpha1/datasource.pb.go
@@ -7,22 +7,14 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
-	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/system/v1alpha1/inter_cp_ping.pb.go b/api/system/v1alpha1/inter_cp_ping.pb.go
index e3afcaa..2217f14 100644
--- a/api/system/v1alpha1/inter_cp_ping.pb.go
+++ b/api/system/v1alpha1/inter_cp_ping.pb.go
@@ -7,16 +7,12 @@
 package v1alpha1
 
 import (
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/system/v1alpha1/inter_cp_ping_grpc.pb.go b/api/system/v1alpha1/inter_cp_ping_grpc.pb.go
index 7442e04..e89dea6 100644
--- a/api/system/v1alpha1/inter_cp_ping_grpc.pb.go
+++ b/api/system/v1alpha1/inter_cp_ping_grpc.pb.go
@@ -4,9 +4,6 @@
 
 import (
 	context "context"
-)
-
-import (
 	grpc "google.golang.org/grpc"
 	codes "google.golang.org/grpc/codes"
 	status "google.golang.org/grpc/status"
diff --git a/api/system/v1alpha1/secret.pb.go b/api/system/v1alpha1/secret.pb.go
index 6980e78..4b4c48a 100644
--- a/api/system/v1alpha1/secret.pb.go
+++ b/api/system/v1alpha1/secret.pb.go
@@ -7,22 +7,14 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
-	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/system/v1alpha1/zone.pb.go b/api/system/v1alpha1/zone.pb.go
index 2b19a37..c66d596 100644
--- a/api/system/v1alpha1/zone.pb.go
+++ b/api/system/v1alpha1/zone.pb.go
@@ -7,22 +7,14 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
-	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/api/system/v1alpha1/zone_insight.pb.go b/api/system/v1alpha1/zone_insight.pb.go
index 84b61a8..d78141c 100644
--- a/api/system/v1alpha1/zone_insight.pb.go
+++ b/api/system/v1alpha1/zone_insight.pb.go
@@ -7,22 +7,14 @@
 package v1alpha1
 
 import (
+	_ "github.com/apache/dubbo-kubernetes/api/mesh"
+	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
 	reflect "reflect"
 	sync "sync"
 )
 
-import (
-	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
-
-	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
-
-	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
-)
-
-import (
-	_ "github.com/apache/dubbo-kubernetes/api/mesh"
-)
-
 const (
 	// Verify that this generated code is sufficiently up-to-date.
 	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
diff --git a/build/tools-darwin-amd64/resource-gen b/build/tools-darwin-amd64/resource-gen
new file mode 100755
index 0000000..0975255
--- /dev/null
+++ b/build/tools-darwin-amd64/resource-gen
Binary files differ
diff --git a/pkg/core/admin/client.go b/pkg/core/admin/client.go
deleted file mode 100644
index 5bcbf39..0000000
--- a/pkg/core/admin/client.go
+++ /dev/null
@@ -1,191 +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.
- */
-
-package admin
-
-import (
-	"context"
-	"crypto/tls"
-	"crypto/x509"
-	"fmt"
-	"io"
-	"net"
-	"net/http"
-	"net/url"
-	"time"
-)
-
-import (
-	envoy_admin_v3 "github.com/envoyproxy/go-control-plane/envoy/admin/v3"
-
-	"github.com/pkg/errors"
-)
-
-import (
-	core_mesh "github.com/apache/dubbo-kubernetes/pkg/core/resources/apis/mesh"
-	"github.com/apache/dubbo-kubernetes/pkg/core/resources/manager"
-	core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
-	util_proto "github.com/apache/dubbo-kubernetes/pkg/util/proto"
-)
-
-type EnvoyAdminClient interface {
-	PostQuit(ctx context.Context, dataplane *core_mesh.DataplaneResource) error
-
-	Stats(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error)
-	Clusters(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error)
-	ConfigDump(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error)
-}
-
-type envoyAdminClient struct {
-	rm               manager.ResourceManager
-	defaultAdminPort uint32
-
-	caCertPool *x509.CertPool
-	clientCert *tls.Certificate
-}
-
-func NewEnvoyAdminClient(rm manager.ResourceManager, adminPort uint32) EnvoyAdminClient {
-	client := &envoyAdminClient{
-		rm:               rm,
-		defaultAdminPort: adminPort,
-	}
-	return client
-}
-
-func (a *envoyAdminClient) buildHTTPClient(ctx context.Context) (*http.Client, error) {
-	c := &http.Client{
-		Transport: &http.Transport{
-			DialContext: (&net.Dialer{
-				Timeout: 3 * time.Second,
-			}).DialContext,
-		},
-		Timeout: 5 * time.Second,
-	}
-	return c, nil
-}
-
-const (
-	quitquitquit = "quitquitquit"
-)
-
-func (a *envoyAdminClient) PostQuit(ctx context.Context, dataplane *core_mesh.DataplaneResource) error {
-	httpClient, err := a.buildHTTPClient(ctx)
-	if err != nil {
-		return err
-	}
-
-	url := fmt.Sprintf("https://%s/%s", dataplane.AdminAddress(a.defaultAdminPort), quitquitquit)
-	request, err := http.NewRequestWithContext(ctx, "POST", url, nil)
-	if err != nil {
-		return err
-	}
-
-	// Envoy will not send back any response, so do we not check the response
-	response, err := httpClient.Do(request)
-	if errors.Is(err, io.EOF) {
-		return nil // Envoy may not respond correctly for this request because it already started the shut-down process.
-	}
-	if err != nil {
-		return errors.Wrapf(err, "unable to send POST to %s", quitquitquit)
-	}
-	defer response.Body.Close()
-
-	if response.StatusCode != http.StatusOK {
-		return errors.Errorf("envoy response [%d %s] [%s]", response.StatusCode, response.Status, response.Body)
-	}
-
-	return nil
-}
-
-func (a *envoyAdminClient) Stats(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error) {
-	return a.executeRequest(ctx, proxy, "stats")
-}
-
-func (a *envoyAdminClient) Clusters(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error) {
-	return a.executeRequest(ctx, proxy, "clusters")
-}
-
-func (a *envoyAdminClient) ConfigDump(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error) {
-	configDump, err := a.executeRequest(ctx, proxy, "config_dump")
-	if err != nil {
-		return nil, err
-	}
-
-	cd := &envoy_admin_v3.ConfigDump{}
-	if err := util_proto.FromJSON(configDump, cd); err != nil {
-		return nil, err
-	}
-
-	if err := Sanitize(cd); err != nil {
-		return nil, err
-	}
-
-	return util_proto.ToJSONIndent(cd, " ")
-}
-
-func (a *envoyAdminClient) executeRequest(ctx context.Context, proxy core_model.ResourceWithAddress, path string) ([]byte, error) {
-	var httpClient *http.Client
-	var err error
-	u := &url.URL{}
-
-	switch proxy.(type) {
-	case *core_mesh.DataplaneResource:
-		httpClient, err = a.buildHTTPClient(ctx)
-		if err != nil {
-			return nil, err
-		}
-		u.Scheme = "https"
-	case *core_mesh.ZoneIngressResource, *core_mesh.ZoneEgressResource:
-		httpClient, err = a.buildHTTPClient(ctx)
-		if err != nil {
-			return nil, err
-		}
-		u.Scheme = "https"
-	default:
-		return nil, errors.New("unsupported proxy type")
-	}
-
-	if host, _, err := net.SplitHostPort(proxy.AdminAddress(a.defaultAdminPort)); err == nil && host == "127.0.0.1" {
-		httpClient = &http.Client{
-			Timeout: 5 * time.Second,
-		}
-		u.Scheme = "http"
-	}
-
-	u.Host = proxy.AdminAddress(a.defaultAdminPort)
-	u.Path = path
-	request, err := http.NewRequestWithContext(ctx, "GET", u.String(), nil)
-	if err != nil {
-		return nil, err
-	}
-
-	response, err := httpClient.Do(request)
-	if err != nil {
-		return nil, errors.Wrapf(err, "unable to send GET to %s", "config_dump")
-	}
-	defer response.Body.Close()
-
-	if response.StatusCode != http.StatusOK {
-		return nil, errors.Errorf("envoy response [%d %s] [%s]", response.StatusCode, response.Status, response.Body)
-	}
-
-	resp, err := io.ReadAll(response.Body)
-	if err != nil {
-		return nil, err
-	}
-	return resp, nil
-}
diff --git a/pkg/core/admin/dds_client.go b/pkg/core/admin/dds_client.go
deleted file mode 100644
index 474b180..0000000
--- a/pkg/core/admin/dds_client.go
+++ /dev/null
@@ -1,192 +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.
- */
-
-package admin
-
-import (
-	"context"
-	"fmt"
-	"reflect"
-)
-
-import (
-	"github.com/pkg/errors"
-)
-
-import (
-	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
-	"github.com/apache/dubbo-kubernetes/pkg/core"
-	core_mesh "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/dds/service"
-	util_grpc "github.com/apache/dubbo-kubernetes/pkg/util/grpc"
-	"github.com/apache/dubbo-kubernetes/pkg/util/k8s"
-)
-
-type ddsEnvoyAdminClient struct {
-	rpcs     service.EnvoyAdminRPCs
-	k8sStore bool
-}
-
-func NewDDSEnvoyAdminClient(rpcs service.EnvoyAdminRPCs, k8sStore bool) EnvoyAdminClient {
-	return &ddsEnvoyAdminClient{
-		rpcs:     rpcs,
-		k8sStore: k8sStore,
-	}
-}
-
-var _ EnvoyAdminClient = &ddsEnvoyAdminClient{}
-
-func (k *ddsEnvoyAdminClient) PostQuit(context.Context, *core_mesh.DataplaneResource) error {
-	panic("not implemented")
-}
-
-func (k *ddsEnvoyAdminClient) ConfigDump(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error) {
-	zone := core_model.ZoneOfResource(proxy)
-	nameInZone := resNameInZone(proxy)
-	reqId := core.NewUUID()
-	tenantZoneID := service.ZoneClientIDFromCtx(ctx, zone)
-
-	err := k.rpcs.XDSConfigDump.Send(tenantZoneID.String(), &mesh_proto.XDSConfigRequest{
-		RequestId:    reqId,
-		ResourceType: string(proxy.Descriptor().Name),
-		ResourceName: nameInZone,                // send the name which without the added prefix
-		ResourceMesh: proxy.GetMeta().GetMesh(), // should be empty for ZoneIngress/ZoneEgress
-	})
-	if err != nil {
-		return nil, &DDSTransportError{requestType: "XDSConfigRequest", reason: err.Error()}
-	}
-
-	defer k.rpcs.XDSConfigDump.DeleteWatch(tenantZoneID.String(), reqId)
-	ch := make(chan util_grpc.ReverseUnaryMessage)
-	if err := k.rpcs.XDSConfigDump.WatchResponse(tenantZoneID.String(), reqId, ch); err != nil {
-		return nil, errors.Wrapf(err, "could not watch the response")
-	}
-
-	select {
-	case <-ctx.Done():
-		return nil, ctx.Err()
-	case resp := <-ch:
-		configResp, ok := resp.(*mesh_proto.XDSConfigResponse)
-		if !ok {
-			return nil, errors.New("invalid request type")
-		}
-		if configResp.GetError() != "" {
-			return nil, &DDSTransportError{requestType: "XDSConfigRequest", reason: configResp.GetError()}
-		}
-		return configResp.GetConfig(), nil
-	}
-}
-
-func (k *ddsEnvoyAdminClient) Stats(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error) {
-	zone := core_model.ZoneOfResource(proxy)
-	nameInZone := resNameInZone(proxy)
-	reqId := core.NewUUID()
-	tenantZoneId := service.ZoneClientIDFromCtx(ctx, zone)
-
-	err := k.rpcs.Stats.Send(tenantZoneId.String(), &mesh_proto.StatsRequest{
-		RequestId:    reqId,
-		ResourceType: string(proxy.Descriptor().Name),
-		ResourceName: nameInZone,                // send the name which without the added prefix
-		ResourceMesh: proxy.GetMeta().GetMesh(), // should be empty for ZoneIngress/ZoneEgress
-	})
-	if err != nil {
-		return nil, &DDSTransportError{requestType: "StatsRequest", reason: err.Error()}
-	}
-
-	defer k.rpcs.Stats.DeleteWatch(tenantZoneId.String(), reqId)
-	ch := make(chan util_grpc.ReverseUnaryMessage)
-	if err := k.rpcs.Stats.WatchResponse(tenantZoneId.String(), reqId, ch); err != nil {
-		return nil, errors.Wrapf(err, "could not watch the response")
-	}
-
-	select {
-	case <-ctx.Done():
-		return nil, ctx.Err()
-	case resp := <-ch:
-		statsResp, ok := resp.(*mesh_proto.StatsResponse)
-		if !ok {
-			return nil, errors.New("invalid request type")
-		}
-		if statsResp.GetError() != "" {
-			return nil, &DDSTransportError{requestType: "StatsRequest", reason: statsResp.GetError()}
-		}
-		return statsResp.GetStats(), nil
-	}
-}
-
-func (k *ddsEnvoyAdminClient) Clusters(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error) {
-	zone := core_model.ZoneOfResource(proxy)
-	nameInZone := resNameInZone(proxy)
-	reqId := core.NewUUID()
-	tenantZoneID := service.ZoneClientIDFromCtx(ctx, zone)
-
-	err := k.rpcs.Clusters.Send(tenantZoneID.String(), &mesh_proto.ClustersRequest{
-		RequestId:    reqId,
-		ResourceType: string(proxy.Descriptor().Name),
-		ResourceName: nameInZone,                // send the name which without the added prefix
-		ResourceMesh: proxy.GetMeta().GetMesh(), // should be empty for ZoneIngress/ZoneEgress
-	})
-	if err != nil {
-		return nil, &DDSTransportError{requestType: "ClustersRequest", reason: err.Error()}
-	}
-
-	defer k.rpcs.Clusters.DeleteWatch(tenantZoneID.String(), reqId)
-	ch := make(chan util_grpc.ReverseUnaryMessage)
-	if err := k.rpcs.Clusters.WatchResponse(tenantZoneID.String(), reqId, ch); err != nil {
-		return nil, errors.Wrapf(err, "could not watch the response")
-	}
-
-	select {
-	case <-ctx.Done():
-		return nil, ctx.Err()
-	case resp := <-ch:
-		clustersResp, ok := resp.(*mesh_proto.ClustersResponse)
-		if !ok {
-			return nil, errors.New("invalid request type")
-		}
-		if clustersResp.GetError() != "" {
-			return nil, &DDSTransportError{requestType: "ClustersRequest", reason: clustersResp.GetError()}
-		}
-		return clustersResp.GetClusters(), nil
-	}
-}
-
-func resNameInZone(r core_model.Resource) string {
-	name := core_model.GetDisplayName(r)
-	if ns := r.GetMeta().GetLabels()[mesh_proto.KubeNamespaceTag]; ns != "" {
-		name = k8s.K8sNamespacedNameToCoreName(name, ns)
-	}
-	return name
-}
-
-type DDSTransportError struct {
-	requestType string
-	reason      string
-}
-
-func (e *DDSTransportError) Error() string {
-	if e.reason == "" {
-		return fmt.Sprintf("could not send %s", e.requestType)
-	} else {
-		return fmt.Sprintf("could not send %s: %s", e.requestType, e.reason)
-	}
-}
-
-func (e *DDSTransportError) Is(err error) bool {
-	return reflect.TypeOf(e) == reflect.TypeOf(err)
-}
diff --git a/pkg/core/admin/sanitize.go b/pkg/core/admin/sanitize.go
deleted file mode 100644
index 3b9b8d8..0000000
--- a/pkg/core/admin/sanitize.go
+++ /dev/null
@@ -1,54 +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.
- */
-
-package admin
-
-import (
-	envoy_admin_v3 "github.com/envoyproxy/go-control-plane/envoy/admin/v3"
-)
-
-func Sanitize(configDump *envoy_admin_v3.ConfigDump) error {
-	for _, config := range configDump.Configs {
-		if config.MessageIs(&envoy_admin_v3.BootstrapConfigDump{}) {
-			bootstrapConfigDump := &envoy_admin_v3.BootstrapConfigDump{}
-			if err := config.UnmarshalTo(bootstrapConfigDump); err != nil {
-				return err
-			}
-
-			for _, grpcService := range bootstrapConfigDump.GetBootstrap().GetDynamicResources().GetAdsConfig().GetGrpcServices() {
-				for i, initMeta := range grpcService.InitialMetadata {
-					if initMeta.Key == "authorization" {
-						grpcService.InitialMetadata[i].Value = "[redacted]"
-					}
-				}
-			}
-
-			for _, grpcService := range bootstrapConfigDump.GetBootstrap().GetHdsConfig().GetGrpcServices() {
-				for i, initMeta := range grpcService.InitialMetadata {
-					if initMeta.Key == "authorization" {
-						grpcService.InitialMetadata[i].Value = "[redacted]"
-					}
-				}
-			}
-
-			if err := config.MarshalFrom(bootstrapConfigDump); err != nil {
-				return err
-			}
-		}
-	}
-	return nil
-}
diff --git a/pkg/core/bootstrap/bootstrap.go b/pkg/core/bootstrap/bootstrap.go
index 36e8805..b3a2afa 100644
--- a/pkg/core/bootstrap/bootstrap.go
+++ b/pkg/core/bootstrap/bootstrap.go
@@ -41,7 +41,6 @@
 	config_core "github.com/apache/dubbo-kubernetes/pkg/config/core"
 	"github.com/apache/dubbo-kubernetes/pkg/config/core/resources/store"
 	"github.com/apache/dubbo-kubernetes/pkg/core"
-	admin2 "github.com/apache/dubbo-kubernetes/pkg/core/admin"
 	config_manager "github.com/apache/dubbo-kubernetes/pkg/core/config/manager"
 	"github.com/apache/dubbo-kubernetes/pkg/core/consts"
 	"github.com/apache/dubbo-kubernetes/pkg/core/datasource"
@@ -68,9 +67,6 @@
 	dds_context "github.com/apache/dubbo-kubernetes/pkg/dds/context"
 	"github.com/apache/dubbo-kubernetes/pkg/dp-server/server"
 	"github.com/apache/dubbo-kubernetes/pkg/events"
-	"github.com/apache/dubbo-kubernetes/pkg/intercp"
-	"github.com/apache/dubbo-kubernetes/pkg/intercp/catalog"
-	"github.com/apache/dubbo-kubernetes/pkg/intercp/envoyadmin"
 	k8s_extensions "github.com/apache/dubbo-kubernetes/pkg/plugins/extensions/k8s"
 	mesh_cache "github.com/apache/dubbo-kubernetes/pkg/xds/cache/mesh"
 	xds_context "github.com/apache/dubbo-kubernetes/pkg/xds/context"
@@ -129,26 +125,6 @@
 	kdsContext := dds_context.DefaultContext(appCtx, resourceManager, cfg)
 	builder.WithDDSContext(kdsContext)
 
-	if cfg.Mode == config_core.Global {
-		kdsEnvoyAdminClient := admin2.NewDDSEnvoyAdminClient(
-			builder.DDSContext().EnvoyAdminRPCs,
-			cfg.Store.Type == store.KubernetesStore,
-		)
-		forwardingClient := envoyadmin.NewForwardingEnvoyAdminClient(
-			builder.ReadOnlyResourceManager(),
-			catalog.NewConfigCatalog(resourceManager),
-			builder.GetInstanceId(),
-			intercp.PooledEnvoyAdminClientFn(builder.InterCPClientPool()),
-			kdsEnvoyAdminClient,
-		)
-		builder.WithEnvoyAdminClient(forwardingClient)
-	} else {
-		builder.WithEnvoyAdminClient(admin2.NewEnvoyAdminClient(
-			resourceManager,
-			builder.Config().GetEnvoyAdminPort(),
-		))
-	}
-
 	if err := initializeMeshCache(builder); err != nil {
 		return nil, err
 	}
diff --git a/pkg/core/resources/apis/mesh/zz_generated.resources.go b/pkg/core/resources/apis/mesh/zz_generated.resources.go
index 88d5b74..7aae6a7 100644
--- a/pkg/core/resources/apis/mesh/zz_generated.resources.go
+++ b/pkg/core/resources/apis/mesh/zz_generated.resources.go
@@ -5,11 +5,8 @@
 package mesh
 
 import (
-	"errors"
 	"fmt"
-)
 
-import (
 	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/registry"
@@ -1214,125 +1211,6 @@
 }
 
 const (
-	ZoneEgressOverviewType model.ResourceType = "ZoneEgressOverview"
-)
-
-var _ model.Resource = &ZoneEgressOverviewResource{}
-
-type ZoneEgressOverviewResource struct {
-	Meta model.ResourceMeta
-	Spec *mesh_proto.ZoneEgressOverview
-}
-
-func NewZoneEgressOverviewResource() *ZoneEgressOverviewResource {
-	return &ZoneEgressOverviewResource{
-		Spec: &mesh_proto.ZoneEgressOverview{},
-	}
-}
-
-func (t *ZoneEgressOverviewResource) GetMeta() model.ResourceMeta {
-	return t.Meta
-}
-
-func (t *ZoneEgressOverviewResource) SetMeta(m model.ResourceMeta) {
-	t.Meta = m
-}
-
-func (t *ZoneEgressOverviewResource) GetSpec() model.ResourceSpec {
-	return t.Spec
-}
-
-func (t *ZoneEgressOverviewResource) SetSpec(spec model.ResourceSpec) error {
-	protoType, ok := spec.(*mesh_proto.ZoneEgressOverview)
-	if !ok {
-		return fmt.Errorf("invalid type %T for Spec", spec)
-	} else {
-		if protoType == nil {
-			t.Spec = &mesh_proto.ZoneEgressOverview{}
-		} else {
-			t.Spec = protoType
-		}
-		return nil
-	}
-}
-
-func (t *ZoneEgressOverviewResource) Descriptor() model.ResourceTypeDescriptor {
-	return ZoneEgressOverviewResourceTypeDescriptor
-}
-
-func (t *ZoneEgressOverviewResource) SetOverviewSpec(resource model.Resource, insight model.Resource) error {
-	t.SetMeta(resource.GetMeta())
-	overview := &mesh_proto.ZoneEgressOverview{
-		ZoneEgress: resource.GetSpec().(*mesh_proto.ZoneEgress),
-	}
-	if insight != nil {
-		ins, ok := insight.GetSpec().(*mesh_proto.ZoneEgressInsight)
-		if !ok {
-			return errors.New("failed to convert to insight type 'ZoneEgressInsight'")
-		}
-		overview.ZoneEgressInsight = ins
-	}
-	return t.SetSpec(overview)
-}
-
-var _ model.ResourceList = &ZoneEgressOverviewResourceList{}
-
-type ZoneEgressOverviewResourceList struct {
-	Items      []*ZoneEgressOverviewResource
-	Pagination model.Pagination
-}
-
-func (l *ZoneEgressOverviewResourceList) GetItems() []model.Resource {
-	res := make([]model.Resource, len(l.Items))
-	for i, elem := range l.Items {
-		res[i] = elem
-	}
-	return res
-}
-
-func (l *ZoneEgressOverviewResourceList) GetItemType() model.ResourceType {
-	return ZoneEgressOverviewType
-}
-
-func (l *ZoneEgressOverviewResourceList) NewItem() model.Resource {
-	return NewZoneEgressOverviewResource()
-}
-
-func (l *ZoneEgressOverviewResourceList) AddItem(r model.Resource) error {
-	if trr, ok := r.(*ZoneEgressOverviewResource); ok {
-		l.Items = append(l.Items, trr)
-		return nil
-	} else {
-		return model.ErrorInvalidItemType((*ZoneEgressOverviewResource)(nil), r)
-	}
-}
-
-func (l *ZoneEgressOverviewResourceList) GetPagination() *model.Pagination {
-	return &l.Pagination
-}
-
-func (l *ZoneEgressOverviewResourceList) SetPagination(p model.Pagination) {
-	l.Pagination = p
-}
-
-var ZoneEgressOverviewResourceTypeDescriptor = model.ResourceTypeDescriptor{
-	Name:                ZoneEgressOverviewType,
-	Resource:            NewZoneEgressOverviewResource(),
-	ResourceList:        &ZoneEgressOverviewResourceList{},
-	ReadOnly:            false,
-	AdminOnly:           false,
-	Scope:               model.ScopeGlobal,
-	WsPath:              "",
-	DubboctlArg:         "",
-	DubboctlListArg:     "",
-	AllowToInspect:      false,
-	IsPolicy:            false,
-	SingularDisplayName: "Zone Egress Overview",
-	PluralDisplayName:   "Zone Egress Overviews",
-	IsExperimental:      false,
-}
-
-const (
 	ZoneIngressType model.ResourceType = "ZoneIngress"
 )
 
@@ -1549,122 +1427,3 @@
 func init() {
 	registry.RegisterType(ZoneIngressInsightResourceTypeDescriptor)
 }
-
-const (
-	ZoneIngressOverviewType model.ResourceType = "ZoneIngressOverview"
-)
-
-var _ model.Resource = &ZoneIngressOverviewResource{}
-
-type ZoneIngressOverviewResource struct {
-	Meta model.ResourceMeta
-	Spec *mesh_proto.ZoneIngressOverview
-}
-
-func NewZoneIngressOverviewResource() *ZoneIngressOverviewResource {
-	return &ZoneIngressOverviewResource{
-		Spec: &mesh_proto.ZoneIngressOverview{},
-	}
-}
-
-func (t *ZoneIngressOverviewResource) GetMeta() model.ResourceMeta {
-	return t.Meta
-}
-
-func (t *ZoneIngressOverviewResource) SetMeta(m model.ResourceMeta) {
-	t.Meta = m
-}
-
-func (t *ZoneIngressOverviewResource) GetSpec() model.ResourceSpec {
-	return t.Spec
-}
-
-func (t *ZoneIngressOverviewResource) SetSpec(spec model.ResourceSpec) error {
-	protoType, ok := spec.(*mesh_proto.ZoneIngressOverview)
-	if !ok {
-		return fmt.Errorf("invalid type %T for Spec", spec)
-	} else {
-		if protoType == nil {
-			t.Spec = &mesh_proto.ZoneIngressOverview{}
-		} else {
-			t.Spec = protoType
-		}
-		return nil
-	}
-}
-
-func (t *ZoneIngressOverviewResource) Descriptor() model.ResourceTypeDescriptor {
-	return ZoneIngressOverviewResourceTypeDescriptor
-}
-
-func (t *ZoneIngressOverviewResource) SetOverviewSpec(resource model.Resource, insight model.Resource) error {
-	t.SetMeta(resource.GetMeta())
-	overview := &mesh_proto.ZoneIngressOverview{
-		ZoneIngress: resource.GetSpec().(*mesh_proto.ZoneIngress),
-	}
-	if insight != nil {
-		ins, ok := insight.GetSpec().(*mesh_proto.ZoneIngressInsight)
-		if !ok {
-			return errors.New("failed to convert to insight type 'ZoneIngressInsight'")
-		}
-		overview.ZoneIngressInsight = ins
-	}
-	return t.SetSpec(overview)
-}
-
-var _ model.ResourceList = &ZoneIngressOverviewResourceList{}
-
-type ZoneIngressOverviewResourceList struct {
-	Items      []*ZoneIngressOverviewResource
-	Pagination model.Pagination
-}
-
-func (l *ZoneIngressOverviewResourceList) GetItems() []model.Resource {
-	res := make([]model.Resource, len(l.Items))
-	for i, elem := range l.Items {
-		res[i] = elem
-	}
-	return res
-}
-
-func (l *ZoneIngressOverviewResourceList) GetItemType() model.ResourceType {
-	return ZoneIngressOverviewType
-}
-
-func (l *ZoneIngressOverviewResourceList) NewItem() model.Resource {
-	return NewZoneIngressOverviewResource()
-}
-
-func (l *ZoneIngressOverviewResourceList) AddItem(r model.Resource) error {
-	if trr, ok := r.(*ZoneIngressOverviewResource); ok {
-		l.Items = append(l.Items, trr)
-		return nil
-	} else {
-		return model.ErrorInvalidItemType((*ZoneIngressOverviewResource)(nil), r)
-	}
-}
-
-func (l *ZoneIngressOverviewResourceList) GetPagination() *model.Pagination {
-	return &l.Pagination
-}
-
-func (l *ZoneIngressOverviewResourceList) SetPagination(p model.Pagination) {
-	l.Pagination = p
-}
-
-var ZoneIngressOverviewResourceTypeDescriptor = model.ResourceTypeDescriptor{
-	Name:                ZoneIngressOverviewType,
-	Resource:            NewZoneIngressOverviewResource(),
-	ResourceList:        &ZoneIngressOverviewResourceList{},
-	ReadOnly:            false,
-	AdminOnly:           false,
-	Scope:               model.ScopeGlobal,
-	WsPath:              "",
-	DubboctlArg:         "",
-	DubboctlListArg:     "",
-	AllowToInspect:      false,
-	IsPolicy:            false,
-	SingularDisplayName: "Zone Ingress Overview",
-	PluralDisplayName:   "Zone Ingress Overviews",
-	IsExperimental:      false,
-}
diff --git a/pkg/core/resources/apis/system/zz_generated.resources.go b/pkg/core/resources/apis/system/zz_generated.resources.go
index 6fa4876..0851a73 100644
--- a/pkg/core/resources/apis/system/zz_generated.resources.go
+++ b/pkg/core/resources/apis/system/zz_generated.resources.go
@@ -6,9 +6,7 @@
 
 import (
 	"fmt"
-)
 
-import (
 	system_proto "github.com/apache/dubbo-kubernetes/api/system/v1alpha1"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/registry"
diff --git a/pkg/core/runtime/builder.go b/pkg/core/runtime/builder.go
index 35e0521..55122a4 100644
--- a/pkg/core/runtime/builder.go
+++ b/pkg/core/runtime/builder.go
@@ -36,7 +36,6 @@
 import (
 	dubbo_cp "github.com/apache/dubbo-kubernetes/pkg/config/app/dubbo-cp"
 	"github.com/apache/dubbo-kubernetes/pkg/core"
-	"github.com/apache/dubbo-kubernetes/pkg/core/admin"
 	config_manager "github.com/apache/dubbo-kubernetes/pkg/core/config/manager"
 	"github.com/apache/dubbo-kubernetes/pkg/core/datasource"
 	"github.com/apache/dubbo-kubernetes/pkg/core/dns/lookup"
@@ -49,7 +48,6 @@
 	dds_context "github.com/apache/dubbo-kubernetes/pkg/dds/context"
 	dp_server "github.com/apache/dubbo-kubernetes/pkg/dp-server/server"
 	"github.com/apache/dubbo-kubernetes/pkg/events"
-	"github.com/apache/dubbo-kubernetes/pkg/intercp/client"
 	"github.com/apache/dubbo-kubernetes/pkg/xds/cache/mesh"
 )
 
@@ -74,7 +72,6 @@
 	EventBus() events.EventBus
 	DpServer() *dp_server.DpServer
 	DataplaneCache() *sync.Map
-	InterCPClientPool() *client.Pool
 	DDSContext() *dds_context.Context
 	ResourceValidators() ResourceValidators
 }
@@ -90,7 +87,6 @@
 	txs                  core_store.Transactions
 	rm                   core_manager.CustomizableResourceManager
 	rom                  core_manager.ReadOnlyResourceManager
-	eac                  admin.EnvoyAdminClient
 	ext                  context.Context
 	meshCache            *mesh.Cache
 	lif                  lookup.LookupIPFunc
@@ -98,7 +94,6 @@
 	leadInfo             component.LeaderInfo
 	erf                  events.EventBus
 	dsl                  datasource.Loader
-	interCpPool          *client.Pool
 	dps                  *dp_server.DpServer
 	registryCenter       dubboRegistry.Registry
 	metadataReportCenter report.MetadataReport
@@ -213,11 +208,6 @@
 	return b
 }
 
-func (b *Builder) WithEnvoyAdminClient(eac admin.EnvoyAdminClient) *Builder {
-	b.eac = eac
-	return b
-}
-
 func (b *Builder) WithDDSContext(ddsctx *dds_context.Context) *Builder {
 	b.ddsctx = ddsctx
 	return b
@@ -311,7 +301,6 @@
 			erf:                  b.erf,
 			dCache:               b.dCache,
 			dps:                  b.dps,
-			eac:                  b.eac,
 			serviceDiscovery:     b.serviceDiscover,
 			rv:                   b.rv,
 			appCtx:               b.appCtx,
@@ -377,10 +366,6 @@
 	return b.rom
 }
 
-func (b *Builder) InterCPClientPool() *client.Pool {
-	return b.interCpPool
-}
-
 func (b *Builder) LookupIP() lookup.LookupIPFunc {
 	return b.lif
 }
diff --git a/pkg/core/runtime/runtime.go b/pkg/core/runtime/runtime.go
index 902e331..e2e6496 100644
--- a/pkg/core/runtime/runtime.go
+++ b/pkg/core/runtime/runtime.go
@@ -32,7 +32,6 @@
 import (
 	dubbo_cp "github.com/apache/dubbo-kubernetes/pkg/config/app/dubbo-cp"
 	"github.com/apache/dubbo-kubernetes/pkg/config/core"
-	"github.com/apache/dubbo-kubernetes/pkg/core/admin"
 	config_manager "github.com/apache/dubbo-kubernetes/pkg/core/config/manager"
 	"github.com/apache/dubbo-kubernetes/pkg/core/governance"
 	managers_dataplane "github.com/apache/dubbo-kubernetes/pkg/core/managers/apis/dataplane"
@@ -71,7 +70,6 @@
 	ReadOnlyResourceManager() core_manager.ReadOnlyResourceManager
 	ConfigStore() core_store.ResourceStore
 	Extensions() context.Context
-	EnvoyAdminClient() admin.EnvoyAdminClient
 	ConfigManager() config_manager.ConfigManager
 	LeaderInfo() component.LeaderInfo
 	EventBus() events.EventBus
@@ -155,7 +153,6 @@
 	cs                   core_store.ResourceStore
 	rom                  core_manager.ReadOnlyResourceManager
 	ext                  context.Context
-	eac                  admin.EnvoyAdminClient
 	configm              config_manager.ConfigManager
 	xds                  xds_runtime.XDSRuntimeContext
 	leadInfo             component.LeaderInfo
@@ -206,10 +203,6 @@
 	return b.metadataReportCenter
 }
 
-func (rc *runtimeContext) EnvoyAdminClient() admin.EnvoyAdminClient {
-	return rc.eac
-}
-
 func (rc *runtimeContext) DDSContext() *dds_context.Context {
 	return rc.ddsctx
 }
diff --git a/pkg/dds/context/context.go b/pkg/dds/context/context.go
index 1ae593d..ce45924 100644
--- a/pkg/dds/context/context.go
+++ b/pkg/dds/context/context.go
@@ -46,7 +46,6 @@
 	"github.com/apache/dubbo-kubernetes/pkg/dds/hash"
 	"github.com/apache/dubbo-kubernetes/pkg/dds/mux"
 	"github.com/apache/dubbo-kubernetes/pkg/dds/reconcile"
-	"github.com/apache/dubbo-kubernetes/pkg/dds/service"
 	"github.com/apache/dubbo-kubernetes/pkg/dds/util"
 )
 
@@ -63,7 +62,6 @@
 	GlobalResourceMapper reconcile.ResourceMapper
 	ZoneResourceMapper   reconcile.ResourceMapper
 
-	EnvoyAdminRPCs           service.EnvoyAdminRPCs
 	ServerStreamInterceptors []grpc.StreamServerInterceptor
 	ServerUnaryInterceptor   []grpc.UnaryServerInterceptor
 }
@@ -111,7 +109,6 @@
 		Configs:              configs,
 		GlobalResourceMapper: CompositeResourceMapper(globalMappers...),
 		ZoneResourceMapper:   CompositeResourceMapper(zoneMappers...),
-		EnvoyAdminRPCs:       service.NewEnvoyAdminRPCs(),
 	}
 }
 
diff --git a/pkg/dds/global/components.go b/pkg/dds/global/components.go
index d568e4b..0aec713 100644
--- a/pkg/dds/global/components.go
+++ b/pkg/dds/global/components.go
@@ -149,7 +149,6 @@
 		*rt.Config().Multizone.Global.DDS,
 		service.NewGlobalDDSServiceServer(
 			rt.AppContext(),
-			rt.DDSContext().EnvoyAdminRPCs,
 			rt.ResourceManager(),
 			rt.GetInstanceId(),
 			streamInterceptors,
diff --git a/pkg/dds/mux/client.go b/pkg/dds/mux/client.go
index 4723ce5..7cbb8de 100644
--- a/pkg/dds/mux/client.go
+++ b/pkg/dds/mux/client.go
@@ -46,31 +46,40 @@
 	"github.com/apache/dubbo-kubernetes/pkg/core"
 	"github.com/apache/dubbo-kubernetes/pkg/core/runtime/component"
 	"github.com/apache/dubbo-kubernetes/pkg/dds"
-	"github.com/apache/dubbo-kubernetes/pkg/dds/service"
 	"github.com/apache/dubbo-kubernetes/pkg/version"
 )
 
+const (
+	DDSVersionHeaderKey = "dds-version"
+	DDSVersionV3        = "v3"
+)
+
 var muxClientLog = core.Log.WithName("dds-mux-client")
 
 type client struct {
-	globalToZoneCb      OnGlobalToZoneSyncStartedFunc
-	zoneToGlobalCb      OnZoneToGlobalSyncStartedFunc
-	globalURL           string
-	clientID            string
-	config              multizone.DdsClientConfig
-	ctx                 context.Context
-	envoyAdminProcessor service.EnvoyAdminProcessor
+	globalToZoneCb OnGlobalToZoneSyncStartedFunc
+	zoneToGlobalCb OnZoneToGlobalSyncStartedFunc
+	globalURL      string
+	clientID       string
+	config         multizone.DdsClientConfig
+	ctx            context.Context
 }
 
-func NewClient(ctx context.Context, globalURL string, clientID string, globalToZoneCb OnGlobalToZoneSyncStartedFunc, zoneToGlobalCb OnZoneToGlobalSyncStartedFunc, config multizone.DdsClientConfig, envoyAdminProcessor service.EnvoyAdminProcessor) component.Component {
+func NewClient(
+	ctx context.Context,
+	globalURL string,
+	clientID string,
+	globalToZoneCb OnGlobalToZoneSyncStartedFunc,
+	zoneToGlobalCb OnZoneToGlobalSyncStartedFunc,
+	config multizone.DdsClientConfig,
+) component.Component {
 	return &client{
-		ctx:                 ctx,
-		globalToZoneCb:      globalToZoneCb,
-		zoneToGlobalCb:      zoneToGlobalCb,
-		globalURL:           globalURL,
-		clientID:            clientID,
-		config:              config,
-		envoyAdminProcessor: envoyAdminProcessor,
+		ctx:            ctx,
+		globalToZoneCb: globalToZoneCb,
+		zoneToGlobalCb: zoneToGlobalCb,
+		globalURL:      globalURL,
+		clientID:       clientID,
+		config:         config,
 	}
 }
 
@@ -123,10 +132,6 @@
 
 	go c.startHealthCheck(withDDSCtx, log, conn, errorCh)
 
-	go c.startXDSConfigs(withDDSCtx, log, conn, errorCh)
-	go c.startStats(withDDSCtx, log, conn, errorCh)
-	go c.startClusters(withDDSCtx, log, conn, errorCh)
-
 	go c.startGlobalToZoneSync(withDDSCtx, log, conn, errorCh)
 	go c.startZoneToGlobalSync(withDDSCtx, log, conn, errorCh)
 
@@ -168,66 +173,6 @@
 	c.handleProcessingErrors(stream, log, processingErrorsCh, errorCh)
 }
 
-func (c *client) startXDSConfigs(
-	ctx context.Context,
-	log logr.Logger,
-	conn *grpc.ClientConn,
-	errorCh chan error,
-) {
-	client := mesh_proto.NewGlobalDDSServiceClient(conn)
-	log = log.WithValues("rpc", "XDS Configs")
-	log.Info("initializing rpc stream for executing config dump on data plane proxies")
-	stream, err := client.StreamXDSConfigs(ctx)
-	if err != nil {
-		errorCh <- err
-		return
-	}
-
-	processingErrorsCh := make(chan error)
-	go c.envoyAdminProcessor.StartProcessingXDSConfigs(stream, processingErrorsCh)
-	c.handleProcessingErrors(stream, log, processingErrorsCh, errorCh)
-}
-
-func (c *client) startStats(
-	ctx context.Context,
-	log logr.Logger,
-	conn *grpc.ClientConn,
-	errorCh chan error,
-) {
-	client := mesh_proto.NewGlobalDDSServiceClient(conn)
-	log = log.WithValues("rpc", "stats")
-	log.Info("initializing rpc stream for executing stats on data plane proxies")
-	stream, err := client.StreamStats(ctx)
-	if err != nil {
-		errorCh <- err
-		return
-	}
-
-	processingErrorsCh := make(chan error)
-	go c.envoyAdminProcessor.StartProcessingStats(stream, processingErrorsCh)
-	c.handleProcessingErrors(stream, log, processingErrorsCh, errorCh)
-}
-
-func (c *client) startClusters(
-	ctx context.Context,
-	log logr.Logger,
-	conn *grpc.ClientConn,
-	errorCh chan error,
-) {
-	client := mesh_proto.NewGlobalDDSServiceClient(conn)
-	log = log.WithValues("rpc", "clusters")
-	log.Info("initializing rpc stream for executing clusters on data plane proxies")
-	stream, err := client.StreamClusters(ctx)
-	if err != nil {
-		errorCh <- err
-		return
-	}
-
-	processingErrorsCh := make(chan error)
-	go c.envoyAdminProcessor.StartProcessingClusters(stream, processingErrorsCh)
-	c.handleProcessingErrors(stream, log, processingErrorsCh, errorCh)
-}
-
 func (c *client) startHealthCheck(
 	ctx context.Context,
 	log logr.Logger,
diff --git a/pkg/dds/mux/clientstream.go b/pkg/dds/mux/clientstream.go
deleted file mode 100644
index 959b187..0000000
--- a/pkg/dds/mux/clientstream.go
+++ /dev/null
@@ -1,74 +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.
- */
-
-package mux
-
-import (
-	"context"
-)
-
-import (
-	envoy_sd "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
-
-	"google.golang.org/grpc/metadata"
-)
-
-import (
-	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
-)
-
-type ddsClientStream struct {
-	ctx          context.Context
-	bufferStream *bufferStream
-}
-
-func (k *ddsClientStream) Send(request *envoy_sd.DiscoveryRequest) error {
-	err := k.bufferStream.Send(&mesh_proto.Message{Value: &mesh_proto.Message_Request{Request: request}})
-	return err
-}
-
-func (k *ddsClientStream) Recv() (*envoy_sd.DiscoveryResponse, error) {
-	res, err := k.bufferStream.Recv()
-	if err != nil {
-		return nil, err
-	}
-	return res.GetResponse(), nil
-}
-
-func (k *ddsClientStream) Header() (metadata.MD, error) {
-	panic("not implemented")
-}
-
-func (k *ddsClientStream) Trailer() metadata.MD {
-	panic("not implemented")
-}
-
-func (k *ddsClientStream) CloseSend() error {
-	panic("not implemented")
-}
-
-func (k *ddsClientStream) Context() context.Context {
-	return k.ctx
-}
-
-func (k *ddsClientStream) SendMsg(m interface{}) error {
-	panic("not implemented")
-}
-
-func (k *ddsClientStream) RecvMsg(m interface{}) error {
-	panic("not implemented")
-}
diff --git a/pkg/dds/mux/server.go b/pkg/dds/mux/server.go
index 65338b9..efb6137 100644
--- a/pkg/dds/mux/server.go
+++ b/pkg/dds/mux/server.go
@@ -69,7 +69,6 @@
 	ddsSyncServiceServer *DDSSyncServiceServer
 	streamInterceptors   []grpc.StreamServerInterceptor
 	unaryInterceptors    []grpc.UnaryServerInterceptor
-	mesh_proto.UnimplementedMultiplexServiceServer
 }
 
 func NewServer(
@@ -130,10 +129,6 @@
 	)
 	grpcServer := grpc.NewServer(grpcOptions...)
 
-	// register services
-	if !s.config.DisableSOTW {
-		mesh_proto.RegisterMultiplexServiceServer(grpcServer, s)
-	}
 	mesh_proto.RegisterGlobalDDSServiceServer(grpcServer, s.serviceServer)
 	mesh_proto.RegisterDDSSyncServiceServer(grpcServer, s.ddsSyncServiceServer)
 
diff --git a/pkg/dds/mux/serverstream.go b/pkg/dds/mux/serverstream.go
deleted file mode 100644
index 70546dc..0000000
--- a/pkg/dds/mux/serverstream.go
+++ /dev/null
@@ -1,74 +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.
- */
-
-package mux
-
-import (
-	"context"
-)
-
-import (
-	envoy_sd "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
-
-	"google.golang.org/grpc/metadata"
-)
-
-import (
-	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
-)
-
-type ddsServerStream struct {
-	ctx          context.Context
-	bufferStream *bufferStream
-}
-
-func (k *ddsServerStream) Send(response *envoy_sd.DiscoveryResponse) error {
-	err := k.bufferStream.Send(&mesh_proto.Message{Value: &mesh_proto.Message_Response{Response: response}})
-	return err
-}
-
-func (k *ddsServerStream) Recv() (*envoy_sd.DiscoveryRequest, error) {
-	res, err := k.bufferStream.Recv()
-	if err != nil {
-		return nil, err
-	}
-	return res.GetRequest(), nil
-}
-
-func (k *ddsServerStream) SetHeader(metadata.MD) error {
-	panic("not implemented")
-}
-
-func (k *ddsServerStream) SendHeader(metadata.MD) error {
-	panic("not implemented")
-}
-
-func (k *ddsServerStream) SetTrailer(metadata.MD) {
-	panic("not implemented")
-}
-
-func (k *ddsServerStream) Context() context.Context {
-	return k.ctx
-}
-
-func (k *ddsServerStream) SendMsg(m interface{}) error {
-	panic("not implemented")
-}
-
-func (k *ddsServerStream) RecvMsg(m interface{}) error {
-	panic("not implemented")
-}
diff --git a/pkg/dds/mux/session.go b/pkg/dds/mux/session.go
deleted file mode 100644
index 9ac32a5..0000000
--- a/pkg/dds/mux/session.go
+++ /dev/null
@@ -1,191 +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.
- */
-
-package mux
-
-import (
-	"context"
-	"errors"
-	"io"
-	"sync"
-	"time"
-)
-
-import (
-	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
-)
-
-type Session interface {
-	ServerStream() mesh_proto.DubboDiscoveryService_StreamDubboResourcesServer
-	ClientStream() mesh_proto.DubboDiscoveryService_StreamDubboResourcesClient
-	PeerID() string
-	Error() <-chan error
-	SetError(err error)
-}
-
-type session struct {
-	peerID       string
-	serverStream *ddsServerStream
-	clientStream *ddsClientStream
-
-	err       chan error
-	sync.Once // protects err, so we only send the first error and close the channel
-}
-
-// handleRecv polls to receive messages from the DDSStream (the actual grpc bidi-stream).
-// Depending on the message it dispatches to either the server receive buffer or the client receive buffer.
-// It also closes both streams when an error on the recv side happens.
-// We can rely on an error on recv to end the session because we're sure an error on recv will always happen, it might be io.EOF if we're just done.
-func (s *session) handleRecv(stream MultiplexStream) {
-	msg, err := stream.Recv()
-	if err != nil {
-		s.clientStream.bufferStream.close()
-		s.serverStream.bufferStream.close()
-		// Recv always finishes with either an EOF or another error
-		s.SetError(err)
-		return
-	}
-	switch v := msg.Value.(type) {
-	case *mesh_proto.Message_LegacyRequest:
-		msg = &mesh_proto.Message{Value: &mesh_proto.Message_Request{Request: DiscoveryRequestV3(v.LegacyRequest)}}
-	case *mesh_proto.Message_LegacyResponse:
-		msg = &mesh_proto.Message{Value: &mesh_proto.Message_Response{Response: DiscoveryResponseV3(v.LegacyResponse)}}
-	}
-	// We can safely not care about locking as we're only closing the channel from this goroutine.
-	switch msg.Value.(type) {
-	case *mesh_proto.Message_Request:
-		s.serverStream.bufferStream.recvBuffer <- msg
-	case *mesh_proto.Message_Response:
-		s.clientStream.bufferStream.recvBuffer <- msg
-	}
-}
-
-// handleSend polls either sendBuffer and call send on the DDSStream (the actual grpc bidi-stream).
-// This call is stopped whenever either of the sendBuffer are closed (in practice they are always closed together anyway).
-func (s *session) handleSend(stream MultiplexStream, sendTimeout time.Duration) {
-	for {
-		var msgToSend *mesh_proto.Message
-		select {
-		case msg, more := <-s.serverStream.bufferStream.sendBuffer:
-			if !more {
-				return
-			}
-			msgToSend = msg
-		case msg, more := <-s.clientStream.bufferStream.sendBuffer:
-			if !more {
-				return
-			}
-			msgToSend = msg
-		}
-		ctx, cancel := context.WithTimeout(context.Background(), sendTimeout)
-		go func() {
-			<-ctx.Done()
-			if ctx.Err() == context.DeadlineExceeded {
-				// This is very unlikely to happen, but it was introduced as a last resort protection from a gRPC streaming deadlock.
-				// gRPC streaming deadlock may happen if both peers are stuck on Send() operation without calling Recv() often enough.
-				// In this case, if data is big enough, both parties may wait for WINDOW_UPDATE on HTTP/2 stream.
-				// We fixed the deadlock by increasing buffer size which is larger that all possible inflight request.
-				// If the connection is broken and send is stuck, it's more likely for gRPC keep alive to catch such case.
-				// If you still hit the timeout without deadlock, you may increase it. However, there are two possible scenarios
-				// 1) This is a malicious client reading stream byte by byte. In this case it's actually better to end the stream
-				// 2) A client is such overwhelmed that it cannot even let the server know that it's ready to receive more data.
-				//    In this case it's recommended to scale number of instances.
-				s.SetError(errors.New("timeout while sending a message to peer"))
-			}
-		}()
-		if err := stream.Send(msgToSend); err != nil {
-			s.SetError(err)
-			cancel()
-			return
-		}
-		cancel()
-	}
-}
-
-type MultiplexStream interface {
-	Send(message *mesh_proto.Message) error
-	Recv() (*mesh_proto.Message, error)
-	Context() context.Context
-}
-
-type bufferStream struct {
-	sendBuffer chan *mesh_proto.Message
-	recvBuffer chan *mesh_proto.Message
-
-	// Protects the send-buffer against writing on a closed channel, this is needed as we don't control in which goroutine `Send` will be called.
-	lock   sync.Mutex
-	closed bool
-}
-
-func (s *session) SetError(err error) {
-	// execute this once so writers to this channel won't be stuck or trying to write to a close channel
-	// We only care about the first error, because it results in broken session anyway.
-	s.Once.Do(func() {
-		s.err <- err
-		close(s.err)
-	})
-}
-
-func (s *session) ServerStream() mesh_proto.DubboDiscoveryService_StreamDubboResourcesServer {
-	return s.serverStream
-}
-
-func (s *session) ClientStream() mesh_proto.DubboDiscoveryService_StreamDubboResourcesClient {
-	return s.clientStream
-}
-
-func (s *session) PeerID() string {
-	return s.peerID
-}
-
-func (s *session) Error() <-chan error {
-	return s.err
-}
-
-func newBufferStream(bufferSize uint32) *bufferStream {
-	return &bufferStream{
-		sendBuffer: make(chan *mesh_proto.Message, bufferSize),
-		recvBuffer: make(chan *mesh_proto.Message, bufferSize),
-	}
-}
-
-func (k *bufferStream) Send(message *mesh_proto.Message) error {
-	k.lock.Lock()
-	defer k.lock.Unlock()
-	if k.closed {
-		return io.EOF
-	}
-	k.sendBuffer <- message
-	return nil
-}
-
-func (k *bufferStream) Recv() (*mesh_proto.Message, error) {
-	r, more := <-k.recvBuffer
-	if !more {
-		return nil, io.EOF
-	}
-	return r, nil
-}
-
-func (k *bufferStream) close() {
-	k.lock.Lock()
-	defer k.lock.Unlock()
-
-	k.closed = true
-	close(k.sendBuffer)
-	close(k.recvBuffer)
-}
diff --git a/pkg/dds/mux/version.go b/pkg/dds/mux/version.go
deleted file mode 100644
index a331dd8..0000000
--- a/pkg/dds/mux/version.go
+++ /dev/null
@@ -1,55 +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.
- */
-
-package mux
-
-import (
-	envoy_api_v2 "github.com/envoyproxy/go-control-plane/envoy/api/v2"
-	envoy_core_v3 "github.com/envoyproxy/go-control-plane/envoy/config/core/v3"
-	envoy_sd_v3 "github.com/envoyproxy/go-control-plane/envoy/service/discovery/v3"
-)
-
-const (
-	DDSVersionHeaderKey = "dds-version"
-	DDSVersionV3        = "v3"
-)
-
-func DiscoveryRequestV3(request *envoy_api_v2.DiscoveryRequest) *envoy_sd_v3.DiscoveryRequest {
-	return &envoy_sd_v3.DiscoveryRequest{
-		VersionInfo: request.VersionInfo,
-		Node: &envoy_core_v3.Node{
-			Id:       request.Node.Id,
-			Metadata: request.Node.Metadata,
-		},
-		ResourceNames: request.ResourceNames,
-		TypeUrl:       request.TypeUrl,
-		ResponseNonce: request.ResponseNonce,
-		ErrorDetail:   request.ErrorDetail,
-	}
-}
-
-func DiscoveryResponseV3(response *envoy_api_v2.DiscoveryResponse) *envoy_sd_v3.DiscoveryResponse {
-	return &envoy_sd_v3.DiscoveryResponse{
-		VersionInfo: response.VersionInfo,
-		Resources:   response.Resources,
-		TypeUrl:     response.TypeUrl,
-		Nonce:       response.Nonce,
-		ControlPlane: &envoy_core_v3.ControlPlane{
-			Identifier: response.ControlPlane.Identifier,
-		},
-	}
-}
diff --git a/pkg/dds/service/envoy_admin_processor.go b/pkg/dds/service/envoy_admin_processor.go
deleted file mode 100644
index 2d2675a..0000000
--- a/pkg/dds/service/envoy_admin_processor.go
+++ /dev/null
@@ -1,186 +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.
- */
-
-package service
-
-import (
-	"context"
-	"time"
-)
-
-import (
-	"github.com/pkg/errors"
-)
-
-import (
-	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
-	core_manager "github.com/apache/dubbo-kubernetes/pkg/core/resources/manager"
-	core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
-	"github.com/apache/dubbo-kubernetes/pkg/core/resources/registry"
-	core_store "github.com/apache/dubbo-kubernetes/pkg/core/resources/store"
-)
-
-type EnvoyAdminProcessor interface {
-	StartProcessingXDSConfigs(stream mesh_proto.GlobalDDSService_StreamXDSConfigsClient, errorCh chan error)
-	StartProcessingStats(stream mesh_proto.GlobalDDSService_StreamStatsClient, errorCh chan error)
-	StartProcessingClusters(stream mesh_proto.GlobalDDSService_StreamClustersClient, errorCh chan error)
-}
-
-type EnvoyAdminFn = func(ctx context.Context, proxy core_model.ResourceWithAddress) ([]byte, error)
-
-type envoyAdminProcessor struct {
-	resManager core_manager.ReadOnlyResourceManager
-
-	configDumpFn EnvoyAdminFn
-	statsFn      EnvoyAdminFn
-	clustersFn   EnvoyAdminFn
-}
-
-func (e *envoyAdminProcessor) StartProcessingXDSConfigs(stream mesh_proto.GlobalDDSService_StreamXDSConfigsClient, errorCh chan error) {
-	for {
-		req, err := stream.Recv()
-		if err != nil {
-			errorCh <- err
-			return
-		}
-		go func() { // schedule in the background to be able to quickly process more requests
-			config, err := e.executeAdminFn(stream.Context(), req.ResourceType, req.ResourceName, req.ResourceMesh, e.configDumpFn)
-
-			resp := &mesh_proto.XDSConfigResponse{
-				RequestId: req.RequestId,
-			}
-			if len(config) > 0 {
-				resp.Result = &mesh_proto.XDSConfigResponse_Config{
-					Config: config,
-				}
-			}
-			if err != nil { // send the error to the client instead of terminating stream.
-				resp.Result = &mesh_proto.XDSConfigResponse_Error{
-					Error: err.Error(),
-				}
-			}
-			if err := stream.Send(resp); err != nil {
-				errorCh <- err
-				return
-			}
-		}()
-	}
-}
-
-func (e *envoyAdminProcessor) StartProcessingStats(stream mesh_proto.GlobalDDSService_StreamStatsClient, errorCh chan error) {
-	for {
-		req, err := stream.Recv()
-		if err != nil {
-			errorCh <- err
-			return
-		}
-		go func() { // schedule in the background to be able to quickly process more requests
-			stats, err := e.executeAdminFn(stream.Context(), req.ResourceType, req.ResourceName, req.ResourceMesh, e.statsFn)
-
-			resp := &mesh_proto.StatsResponse{
-				RequestId: req.RequestId,
-			}
-			if len(stats) > 0 {
-				resp.Result = &mesh_proto.StatsResponse_Stats{
-					Stats: stats,
-				}
-			}
-			if err != nil { // send the error to the client instead of terminating stream.
-				resp.Result = &mesh_proto.StatsResponse_Error{
-					Error: err.Error(),
-				}
-			}
-			if err := stream.Send(resp); err != nil {
-				errorCh <- err
-				return
-			}
-		}()
-	}
-}
-
-func (e *envoyAdminProcessor) StartProcessingClusters(stream mesh_proto.GlobalDDSService_StreamClustersClient, errorCh chan error) {
-	for {
-		req, err := stream.Recv()
-		if err != nil {
-			errorCh <- err
-			return
-		}
-		go func() { // schedule in the background to be able to quickly process more requests
-			clusters, err := e.executeAdminFn(stream.Context(), req.ResourceType, req.ResourceName, req.ResourceMesh, e.clustersFn)
-
-			resp := &mesh_proto.ClustersResponse{
-				RequestId: req.RequestId,
-			}
-			if len(clusters) > 0 {
-				resp.Result = &mesh_proto.ClustersResponse_Clusters{
-					Clusters: clusters,
-				}
-			}
-			if err != nil { // send the error to the client instead of terminating stream.
-				resp.Result = &mesh_proto.ClustersResponse_Error{
-					Error: err.Error(),
-				}
-			}
-			if err := stream.Send(resp); err != nil {
-				errorCh <- err
-				return
-			}
-		}()
-	}
-}
-
-func (s *envoyAdminProcessor) executeAdminFn(
-	ctx context.Context,
-	resType string,
-	resName string,
-	resMesh string,
-	adminFn EnvoyAdminFn,
-) ([]byte, error) {
-	ctx, cancel := context.WithTimeout(ctx, 10*time.Second)
-	defer cancel()
-
-	res, err := registry.Global().NewObject(core_model.ResourceType(resType))
-	if err != nil {
-		return nil, err
-	}
-	if err := s.resManager.Get(ctx, res, core_store.GetByKey(resName, resMesh)); err != nil {
-		return nil, err
-	}
-
-	resWithAddr, ok := res.(core_model.ResourceWithAddress)
-	if !ok {
-		return nil, errors.Errorf("invalid type %T", resWithAddr)
-	}
-
-	return adminFn(ctx, resWithAddr)
-}
-
-var _ EnvoyAdminProcessor = &envoyAdminProcessor{}
-
-func NewEnvoyAdminProcessor(
-	resManager core_manager.ReadOnlyResourceManager,
-	configDumpFn EnvoyAdminFn,
-	statsFn EnvoyAdminFn,
-	clustersFn EnvoyAdminFn,
-) EnvoyAdminProcessor {
-	return &envoyAdminProcessor{
-		resManager:   resManager,
-		configDumpFn: configDumpFn,
-		statsFn:      statsFn,
-		clustersFn:   clustersFn,
-	}
-}
diff --git a/pkg/dds/service/envoy_admin_rpcs.go b/pkg/dds/service/envoy_admin_rpcs.go
deleted file mode 100644
index a2a74ff..0000000
--- a/pkg/dds/service/envoy_admin_rpcs.go
+++ /dev/null
@@ -1,42 +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.
- */
-
-package service
-
-import (
-	util_grpc "github.com/apache/dubbo-kubernetes/pkg/util/grpc"
-)
-
-const (
-	ConfigDumpRPC = "XDS Config Dump"
-	StatsRPC      = "Stats"
-	ClustersRPC   = "Clusters"
-)
-
-type EnvoyAdminRPCs struct {
-	XDSConfigDump util_grpc.ReverseUnaryRPCs
-	Stats         util_grpc.ReverseUnaryRPCs
-	Clusters      util_grpc.ReverseUnaryRPCs
-}
-
-func NewEnvoyAdminRPCs() EnvoyAdminRPCs {
-	return EnvoyAdminRPCs{
-		XDSConfigDump: util_grpc.NewReverseUnaryRPCs(),
-		Stats:         util_grpc.NewReverseUnaryRPCs(),
-		Clusters:      util_grpc.NewReverseUnaryRPCs(),
-	}
-}
diff --git a/pkg/dds/service/server.go b/pkg/dds/service/server.go
index 92f6f7f..f960f51 100644
--- a/pkg/dds/service/server.go
+++ b/pkg/dds/service/server.go
@@ -20,21 +20,14 @@
 import (
 	"context"
 	"fmt"
-	"io"
-	"math/rand"
 	"time"
 )
 
 import (
 	"github.com/pkg/errors"
 
-	"github.com/sethvargo/go-retry"
-
-	"golang.org/x/exp/slices"
-
 	"google.golang.org/grpc"
 	"google.golang.org/grpc/codes"
-	"google.golang.org/grpc/metadata"
 	"google.golang.org/grpc/status"
 
 	"google.golang.org/protobuf/types/known/durationpb"
@@ -49,11 +42,8 @@
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/apis/system"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/manager"
 	"github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
-	core_store "github.com/apache/dubbo-kubernetes/pkg/core/resources/store"
-	"github.com/apache/dubbo-kubernetes/pkg/dds"
 	"github.com/apache/dubbo-kubernetes/pkg/dds/util"
 	"github.com/apache/dubbo-kubernetes/pkg/events"
-	util_grpc "github.com/apache/dubbo-kubernetes/pkg/util/grpc"
 )
 
 var log = core.Log.WithName("dds-service")
@@ -63,7 +53,6 @@
 }
 
 type GlobalDDSServiceServer struct {
-	envoyAdminRPCs          EnvoyAdminRPCs
 	resManager              manager.ResourceManager
 	instanceID              string
 	filters                 []StreamInterceptor
@@ -75,10 +64,17 @@
 	context context.Context
 }
 
-func NewGlobalDDSServiceServer(ctx context.Context, envoyAdminRPCs EnvoyAdminRPCs, resManager manager.ResourceManager, instanceID string, filters []StreamInterceptor, extensions context.Context, upsertCfg config_store.UpsertConfig, eventBus events.EventBus, zoneHealthCheckInterval time.Duration) *GlobalDDSServiceServer {
+func NewGlobalDDSServiceServer(
+	ctx context.Context,
+	resManager manager.ResourceManager,
+	instanceID string, filters []StreamInterceptor,
+	extensions context.Context,
+	upsertCfg config_store.UpsertConfig,
+	eventBus events.EventBus,
+	zoneHealthCheckInterval time.Duration,
+) *GlobalDDSServiceServer {
 	return &GlobalDDSServiceServer{
 		context:                 ctx,
-		envoyAdminRPCs:          envoyAdminRPCs,
 		resManager:              resManager,
 		instanceID:              instanceID,
 		filters:                 filters,
@@ -89,24 +85,6 @@
 	}
 }
 
-func (g *GlobalDDSServiceServer) StreamXDSConfigs(stream mesh_proto.GlobalDDSService_StreamXDSConfigsServer) error {
-	return g.streamEnvoyAdminRPC(ConfigDumpRPC, g.envoyAdminRPCs.XDSConfigDump, stream, func() (util_grpc.ReverseUnaryMessage, error) {
-		return stream.Recv()
-	})
-}
-
-func (g *GlobalDDSServiceServer) StreamStats(stream mesh_proto.GlobalDDSService_StreamStatsServer) error {
-	return g.streamEnvoyAdminRPC(StatsRPC, g.envoyAdminRPCs.Stats, stream, func() (util_grpc.ReverseUnaryMessage, error) {
-		return stream.Recv()
-	})
-}
-
-func (g *GlobalDDSServiceServer) StreamClusters(stream mesh_proto.GlobalDDSService_StreamClustersServer) error {
-	return g.streamEnvoyAdminRPC(ClustersRPC, g.envoyAdminRPCs.Clusters, stream, func() (util_grpc.ReverseUnaryMessage, error) {
-		return stream.Recv()
-	})
-}
-
 func (g *GlobalDDSServiceServer) HealthCheck(ctx context.Context, _ *mesh_proto.ZoneHealthCheckRequest) (*mesh_proto.ZoneHealthCheckResponse, error) {
 	zone, err := util.ClientIDFromIncomingCtx(ctx)
 	if err != nil {
@@ -135,93 +113,6 @@
 	}, nil
 }
 
-func (g *GlobalDDSServiceServer) streamEnvoyAdminRPC(
-	rpcName string,
-	rpc util_grpc.ReverseUnaryRPCs,
-	stream grpc.ServerStream,
-	recv func() (util_grpc.ReverseUnaryMessage, error),
-) error {
-	zone, err := util.ClientIDFromIncomingCtx(stream.Context())
-	if err != nil {
-		return status.Error(codes.InvalidArgument, err.Error())
-	}
-	zoneID := ZoneClientIDFromCtx(stream.Context(), zone)
-
-	shouldDisconnectStream := events.NewNeverListener()
-
-	md, _ := metadata.FromIncomingContext(stream.Context())
-	features := md.Get(dds.FeaturesMetadataKey)
-
-	if slices.Contains(features, dds.FeatureZonePingHealth) {
-		shouldDisconnectStream = g.eventBus.Subscribe(func(e events.Event) bool {
-			disconnectEvent, ok := e.(ZoneWentOffline)
-			return ok && disconnectEvent.Zone == zone
-		})
-		g.eventBus.Send(ZoneOpenedStream{Zone: zone})
-	}
-
-	defer shouldDisconnectStream.Close()
-
-	for _, filter := range g.filters {
-		if err := filter.InterceptServerStream(stream); err != nil {
-			switch status.Code(err) {
-			case codes.InvalidArgument, codes.Unauthenticated, codes.PermissionDenied:
-				log.Info("stream interceptor terminating the stream", "cause", err)
-			default:
-				log.Error(err, "stream interceptor terminating the stream")
-			}
-			return err
-		}
-	}
-	log.Info("Envoy Admin RPC stream started")
-	rpc.ClientConnected(zoneID.String(), stream)
-	if err := g.storeStreamConnection(stream.Context(), zone, rpcName, g.instanceID); err != nil {
-		if errors.Is(err, context.Canceled) {
-			return status.Error(codes.Canceled, "stream was cancelled")
-		}
-		log.Error(err, "could not store stream connection")
-		return status.Error(codes.Internal, "could not store stream connection")
-	}
-	log.Info("stored stream connection")
-	streamResult := make(chan error, 1)
-	go func() {
-		for {
-			resp, err := recv()
-			if err == io.EOF {
-				log.Info("stream stopped")
-				streamResult <- nil
-				return
-			}
-			if status.Code(err) == codes.Canceled {
-				log.Info("stream cancelled")
-				streamResult <- nil
-				return
-			}
-			if err != nil {
-				log.Error(err, "could not receive a message")
-				streamResult <- status.Error(codes.Internal, "could not receive a message")
-				return
-			}
-			log.V(1).Info("Envoy Admin RPC response received", "requestId", resp.GetRequestId())
-			if err := rpc.ResponseReceived(zoneID.String(), resp); err != nil {
-				log.Error(err, "could not mark the response as received")
-				streamResult <- status.Error(codes.InvalidArgument, "could not mark the response as received")
-				return
-			}
-		}
-	}()
-	select {
-	case <-g.context.Done():
-		log.Info("app context done")
-		return status.Error(codes.Unavailable, "stream unavailable")
-	case <-shouldDisconnectStream.Recv():
-		log.Info("ending stream, zone health check failed")
-		return status.Error(codes.Canceled, "stream canceled")
-	case res := <-streamResult:
-		return res
-	}
-}
-
 type ZoneWentOffline struct {
 	Zone string
 }
@@ -230,45 +121,6 @@
 	Zone string
 }
 
-func (g *GlobalDDSServiceServer) storeStreamConnection(ctx context.Context, zone string, rpcName string, instance string) error {
-	key := model.ResourceKey{Name: zone}
-
-	// wait for Zone to be created, only then we can create Zone Insight
-	err := retry.Do(
-		ctx,
-		retry.WithMaxRetries(30, retry.NewConstant(1*time.Second)),
-		func(ctx context.Context) error {
-			return retry.RetryableError(g.resManager.Get(ctx, system.NewZoneResource(), core_store.GetBy(key)))
-		},
-	)
-	if err != nil {
-		return err
-	}
-
-	// Add delay for Upsert. If Global CP is behind an HTTP load balancer,
-	// it might be the case that each Envoy Admin stream will land on separate instance.
-	// In this case, all instances will try to update Zone Insight which will result in conflicts.
-	// Since it's unusual to immediately execute envoy admin rpcs after zone is connected, 0-10s delay should be fine.
-	// #nosec G404 - math rand is enough
-	time.Sleep(time.Duration(rand.Int31n(10000)) * time.Millisecond)
-
-	zoneInsight := system.NewZoneInsightResource()
-	return manager.Upsert(ctx, g.resManager, key, zoneInsight, func(resource model.Resource) error {
-		if zoneInsight.Spec.EnvoyAdminStreams == nil {
-			zoneInsight.Spec.EnvoyAdminStreams = &system_proto.EnvoyAdminStreams{}
-		}
-		switch rpcName {
-		case ConfigDumpRPC:
-			zoneInsight.Spec.EnvoyAdminStreams.ConfigDumpGlobalInstanceId = instance
-		case StatsRPC:
-			zoneInsight.Spec.EnvoyAdminStreams.StatsGlobalInstanceId = instance
-		case ClustersRPC:
-			zoneInsight.Spec.EnvoyAdminStreams.ClustersGlobalInstanceId = instance
-		}
-		return nil
-	}, manager.WithConflictRetry(g.upsertCfg.ConflictRetryBaseBackoff.Duration, g.upsertCfg.ConflictRetryMaxTimes, g.upsertCfg.ConflictRetryJitterPercent)) // we need retry because zone sink or other RPC may also update the insight.
-}
-
 type ZoneClientID struct {
 	Zone string
 }
diff --git a/pkg/dds/zone/components.go b/pkg/dds/zone/components.go
index c52b8f0..ff02e46 100644
--- a/pkg/dds/zone/components.go
+++ b/pkg/dds/zone/components.go
@@ -33,7 +33,6 @@
 	dds_client "github.com/apache/dubbo-kubernetes/pkg/dds/client"
 	"github.com/apache/dubbo-kubernetes/pkg/dds/mux"
 	dds_server "github.com/apache/dubbo-kubernetes/pkg/dds/server"
-	"github.com/apache/dubbo-kubernetes/pkg/dds/service"
 	dds_sync_store "github.com/apache/dubbo-kubernetes/pkg/dds/store"
 	resources_k8s "github.com/apache/dubbo-kubernetes/pkg/plugins/resources/k8s"
 )
@@ -121,12 +120,6 @@
 		onGlobalToZoneSyncStarted,
 		onZoneToGlobalSyncStarted,
 		*rt.Config().Multizone.Zone.DDS,
-		service.NewEnvoyAdminProcessor(
-			rt.ReadOnlyResourceManager(),
-			rt.EnvoyAdminClient().ConfigDump,
-			rt.EnvoyAdminClient().Stats,
-			rt.EnvoyAdminClient().Clusters,
-		),
 	)
 	return rt.Add(component.NewResilientComponent(ddsDeltaZoneLog.WithName("kds-mux-client"), muxClient))
 }
diff --git a/pkg/hds/server/server.go b/pkg/hds/server/server.go
index c4a507c..b997d93 100644
--- a/pkg/hds/server/server.go
+++ b/pkg/hds/server/server.go
@@ -36,7 +36,6 @@
 )
 
 import (
-	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
 	hds_cache "github.com/apache/dubbo-kubernetes/pkg/hds/cache"
 	hds_callbacks "github.com/apache/dubbo-kubernetes/pkg/hds/callbacks"
 	util_proto "github.com/apache/dubbo-kubernetes/pkg/util/proto"
@@ -54,7 +53,6 @@
 	ctx         context.Context
 	callbacks   hds_callbacks.Callbacks
 	cache       envoy_cache.Cache
-	mesh_proto.UnimplementedMultiplexServiceServer
 }
 
 func New(ctx context.Context, config envoy_cache.Cache, callbacks hds_callbacks.Callbacks) envoy_service_health.HealthDiscoveryServiceServer {
diff --git a/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.deepcopy.go b/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.deepcopy.go
index d779b7d..e94ae79 100644
--- a/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.deepcopy.go
+++ b/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.deepcopy.go
@@ -6,7 +6,6 @@
 
 import (
 	"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
-
 	runtime "k8s.io/apimachinery/pkg/runtime"
 )
 
diff --git a/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.mesh.go b/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.mesh.go
index 8a65fcf..09d2788 100644
--- a/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.mesh.go
+++ b/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.mesh.go
@@ -6,15 +6,10 @@
 
 import (
 	"fmt"
-)
 
-import (
 	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
-
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
 
-import (
 	mesh_proto "github.com/apache/dubbo-kubernetes/api/mesh/v1alpha1"
 	core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
 	"github.com/apache/dubbo-kubernetes/pkg/plugins/resources/k8s/native/pkg/model"
diff --git a/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.system.go b/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.system.go
index 9b37c58..5f6a8d4 100644
--- a/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.system.go
+++ b/pkg/plugins/resources/k8s/native/api/v1alpha1/zz_generated.system.go
@@ -6,15 +6,10 @@
 
 import (
 	"fmt"
-)
 
-import (
 	apiextensionsv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
-
 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
 
-import (
 	system_proto "github.com/apache/dubbo-kubernetes/api/system/v1alpha1"
 	core_model "github.com/apache/dubbo-kubernetes/pkg/core/resources/model"
 	"github.com/apache/dubbo-kubernetes/pkg/plugins/resources/k8s/native/pkg/model"