You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by zh...@apache.org on 2026/03/22 20:07:35 UTC

(dubbo-kubernetes) branch master updated: Migrate client-go (#881)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new b161b4e7 Migrate client-go (#881)
b161b4e7 is described below

commit b161b4e76dc1cbd5d65f2614100425323f3e2b35
Author: Joe Zhong <11...@qq.com>
AuthorDate: Mon Mar 23 04:07:30 2026 +0800

    Migrate client-go (#881)
---
 Makefile                                           |  49 +---
 client-go/Makefile.core.mk                         |  93 -------
 client-go/Makefile.overrides.mk                    |  16 --
 client-go/cmd/main.go                              |  19 --
 client-go/header.go.txt                            |  16 --
 client-go/pkg/apis/networking/v1alpha3/doc.go      |  23 --
 .../pkg/apis/networking/v1alpha3/register.gen.go   |  53 ----
 .../pkg/apis/networking/v1alpha3/types.gen.go      | 127 ----------
 .../v1alpha3/zz_generated.deepcopy.gen.go          | 152 ------------
 client-go/pkg/apis/security/v1alpha3/doc.go        |  23 --
 .../pkg/apis/security/v1alpha3/register.gen.go     |  51 ----
 client-go/pkg/apis/security/v1alpha3/types.gen.go  |  74 ------
 .../security/v1alpha3/zz_generated.deepcopy.gen.go |  89 -------
 .../pkg/applyconfiguration/internal/internal.go    |  62 -----
 .../meta/v1/managedfieldsentry.go                  |  97 --------
 .../pkg/applyconfiguration/meta/v1/objectmeta.go   | 171 -------------
 .../applyconfiguration/meta/v1/ownerreference.go   |  88 -------
 .../pkg/applyconfiguration/meta/v1/typemeta.go     |  48 ----
 .../networking/v1alpha3/destinationrule.go         | 221 -----------------
 .../networking/v1alpha3/virtualservice.go          | 221 -----------------
 .../security/v1alpha3/peerauthentication.go        | 221 -----------------
 client-go/pkg/applyconfiguration/utils.go          |  57 -----
 client-go/pkg/clientset/versioned/clientset.gen.go | 133 ----------
 .../versioned/fake/clientset_generated.gen.go      |  92 -------
 client-go/pkg/clientset/versioned/fake/doc.go      |  20 --
 .../pkg/clientset/versioned/fake/register.gen.go   |  58 -----
 client-go/pkg/clientset/versioned/scheme/doc.go    |  20 --
 .../pkg/clientset/versioned/scheme/register.gen.go |  58 -----
 .../networking/v1alpha3/destinationrule.gen.go     | 256 --------------------
 .../versioned/typed/networking/v1alpha3/doc.go     |  20 --
 .../typed/networking/v1alpha3/fake/doc.go          |  20 --
 .../v1alpha3/fake/fake_destinationrule.gen.go      | 189 ---------------
 .../v1alpha3/fake/fake_networking_client.gen.go    |  44 ----
 .../v1alpha3/fake/fake_virtualservice.gen.go       | 189 ---------------
 .../networking/v1alpha3/generated_expansion.gen.go |  23 --
 .../networking/v1alpha3/networking_client.gen.go   | 112 ---------
 .../networking/v1alpha3/virtualservice.gen.go      | 256 --------------------
 .../versioned/typed/security/v1alpha3/doc.go       |  20 --
 .../versioned/typed/security/v1alpha3/fake/doc.go  |  20 --
 .../v1alpha3/fake/fake_peerauthentication.gen.go   | 189 ---------------
 .../v1alpha3/fake/fake_security_client.gen.go      |  40 ---
 .../security/v1alpha3/generated_expansion.gen.go   |  21 --
 .../security/v1alpha3/peerauthentication.gen.go    | 256 --------------------
 .../typed/security/v1alpha3/security_client.gen.go | 107 ---------
 .../pkg/informers/externalversions/factory.gen.go  | 267 ---------------------
 .../pkg/informers/externalversions/generic.gen.go  |  69 ------
 .../internalinterfaces/factory_interfaces.gen.go   |  40 ---
 .../externalversions/networking/interface.gen.go   |  46 ----
 .../networking/v1alpha3/destinationrule.gen.go     |  90 -------
 .../networking/v1alpha3/interface.gen.go           |  52 ----
 .../networking/v1alpha3/virtualservice.gen.go      |  90 -------
 .../externalversions/security/interface.gen.go     |  46 ----
 .../security/v1alpha3/interface.gen.go             |  45 ----
 .../security/v1alpha3/peerauthentication.gen.go    |  90 -------
 .../networking/v1alpha3/destinationrule.gen.go     |  99 --------
 .../networking/v1alpha3/expansion_generated.gen.go |  35 ---
 .../networking/v1alpha3/virtualservice.gen.go      |  99 --------
 .../security/v1alpha3/expansion_generated.gen.go   |  27 ---
 .../security/v1alpha3/peerauthentication.gen.go    |  99 --------
 .../pkg/config/kube/crdclient/types.gen.go         |   4 +-
 go.mod                                             |   3 +-
 pkg/config/schema/kubeclient/common.go             |   2 +-
 pkg/config/schema/kubeclient/resources.gen.go      |   4 +-
 pkg/config/schema/kubetypes/resources.gen.go       |   4 +-
 pkg/kube/client.go                                 |   2 +-
 65 files changed, 11 insertions(+), 5316 deletions(-)

diff --git a/Makefile b/Makefile
index 07d41d4e..39b62ecf 100644
--- a/Makefile
+++ b/Makefile
@@ -22,51 +22,4 @@ build-dubboctl:
 .PHONY: clone-sample
 clone-sample:
 	mkdir -p bin
-	cp -r samples bin/samples
-
-# allow optional per-repo overrides
--include client-go/Makefile.overrides.mk
-
-# Set the environment variable BUILD_WITH_CONTAINER to use a container
-# to build the repo. The only dependencies in this mode are to have make and
-# docker. If you'd rather build with a local tool chain instead, you'll need to
-# figure out all the tools you need in your environment to make that work.
-export BUILD_WITH_CONTAINER ?= 0
-
-ifeq ($(BUILD_WITH_CONTAINER),1)
-
-# An export free of arguments in a Makefile places all variables in the Makefile into the
-# environment. This is needed to allow overrides from Makefile.overrides.mk.
-export
-
-RUN = ./tools/scripts/run.sh
-
-MAKE_DOCKER = $(RUN) make --no-print-directory -e -f client-go/Makefile.core.mk
-
-%:
-	@$(MAKE_DOCKER) $@
-
-default:
-	@$(MAKE_DOCKER)
-
-shell:
-	@$(RUN) /bin/bash
-
-.PHONY: default shell
-
-else
-
-# If we are not in build container, we need a workaround to get environment properly set
-# Write to file, then include
-$(shell mkdir -p out)
-$(shell $(shell pwd)/tools/scripts/setup_env.sh envfile > out/.env)
-include out/.env
-# An export free of arguments in a Makefile places all variables in the Makefile into the
-# environment. This behavior may be surprising to many that use shell often, which simply
-# displays the existing environment
-export
-
-export GOBIN ?= $(GOPATH)/bin
-include client-go/Makefile.core.mk
-
-endif
\ No newline at end of file
+	cp -r samples bin/samples
\ No newline at end of file
diff --git a/client-go/Makefile.core.mk b/client-go/Makefile.core.mk
deleted file mode 100644
index 25c87cd7..00000000
--- a/client-go/Makefile.core.mk
+++ /dev/null
@@ -1,93 +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.
-
-gen: generate-k8s-client
-
-clean: clean-k8s-client
-
-applyconfiguration_gen = applyconfiguration-gen
-kubetype_gen = kubetype-gen
-deepcopy_gen = deepcopy-gen
-client_gen = client-gen
-lister_gen = lister-gen
-informer_gen = informer-gen
-
-kube_dubbo_source_packages = $(subst $(space),$(empty), \
-    github.com/apache/dubbo-kubernetes/api/networking/v1alpha3, \
-    github.com/apache/dubbo-kubernetes/api/security/v1alpha3 \
-    )
-
-kube_base_output_package = github.com/apache/dubbo-kubernetes/client-go/pkg
-kube_api_base_package = $(kube_base_output_package)/apis
-
-kube_api_packages = $(subst $(space),$(empty), \
-    $(kube_api_base_package)/networking/v1alpha3, \
-    $(kube_api_base_package)/security/v1alpha3 \
-    )
-
-kube_api_applyconfiguration_packages = $(kube_api_packages),k8s.io/apimachinery/pkg/apis/meta/v1
-kube_clientset_package = $(kube_base_output_package)/clientset
-kube_clientset_name = versioned
-kube_listers_package = $(kube_base_output_package)/listers
-kube_informers_package = $(kube_base_output_package)/informers
-kube_applyconfiguration_package = $(kube_base_output_package)/applyconfiguration
-kube_go_header_text = client-go/header.go.txt
-
-empty:=
-space := $(empty) $(empty)
-comma := ,
-
-ifeq ($(IN_BUILD_CONTAINER),1)
-	# k8s code generators rely on GOPATH, using $GOPATH/src as the base package
-	# directory.  Using --output-base . does not work, as that ends up generating
-	# code into ./<package>, e.g. ./client-go/pkg/apis/...  To work
-	# around this, we'll just let k8s generate the code where it wants and copy
-	# back to where it should have been generated.
-	move_generated=([ -d $(GOPATH)/src/$(kube_base_output_package)/ ] && cp -r $(GOPATH)/src/$(kube_base_output_package)/ client-go/ && rm -rf $(GOPATH)/src/$(kube_base_output_package)/) || true
-else
-	# nothing special for local builds
-	move_generated=
-endif
-
-rename_generated_files=\
-	cd client-go && find $(subst client-go/, $(empty), $(subst github.com/apache/dubbo-kubernetes/, $(empty), $(subst $(comma), $(space), $(kube_api_packages) $(kube_clientset_package) $(kube_listers_package) $(kube_informers_package)))) \
-	-name '*.go' -and -not -name 'doc.go' -and -not -name '*.gen.go' -type f -exec sh -c 'mv "$$1" "$${1%.go}".gen.go' - '{}' \; || true
-
-fixup_generated_files=\
-	find . -name "*.deepcopy.gen.go" -type f | xargs sed -i -e '/\*out = \*in/d'
-
-.PHONY: generate-k8s-client
-generate-k8s-client:
-	# generate kube api type wrappers for dubbo types
-	@GODEBUG=gotypesalias=0 $(kubetype_gen) --input-dirs $(kube_dubbo_source_packages) --output-package $(kube_api_base_package) -h $(kube_go_header_text)
-	@$(move_generated)
-	# generate deepcopy for kube api types
-	@$(deepcopy_gen) --input-dirs $(kube_api_packages) -O zz_generated.deepcopy  -h $(kube_go_header_text)
-	# generate ssa for kube api types
-	@$(applyconfiguration_gen) --input-dirs $(kube_api_applyconfiguration_packages) --output-package $(kube_applyconfiguration_package) -h $(kube_go_header_text)
-	# generate clientsets for kube api types
-	@$(client_gen) --clientset-name $(kube_clientset_name) --input-base "" --input  $(kube_api_packages) --output-package $(kube_clientset_package) -h $(kube_go_header_text) --apply-configuration-package $(kube_applyconfiguration_package)
-	# generate listers for kube api types
-	@$(lister_gen) --input-dirs $(kube_api_packages) --output-package $(kube_listers_package) -h $(kube_go_header_text)
-	# generate informers for kube api types
-	@$(informer_gen) --input-dirs $(kube_api_packages) --versioned-clientset-package $(kube_clientset_package)/$(kube_clientset_name) --listers-package $(kube_listers_package) --output-package $(kube_informers_package) -h $(kube_go_header_text)
-	@$(move_generated)
-	@$(rename_generated_files)
-	@$(fixup_generated_files)
-
-.PHONY: clean-k8s-client
-clean-k8s-client:
-    # remove generated code
-	@rm -rf client-go/pkg
\ No newline at end of file
diff --git a/client-go/Makefile.overrides.mk b/client-go/Makefile.overrides.mk
deleted file mode 100644
index 25ab7935..00000000
--- a/client-go/Makefile.overrides.mk
+++ /dev/null
@@ -1,16 +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.
-
-BUILD_WITH_CONTAINER ?= 1
diff --git a/client-go/cmd/main.go b/client-go/cmd/main.go
deleted file mode 100644
index 212001df..00000000
--- a/client-go/cmd/main.go
+++ /dev/null
@@ -1,19 +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 main
-
-func main() {}
diff --git a/client-go/header.go.txt b/client-go/header.go.txt
deleted file mode 100644
index bf64d9fa..00000000
--- a/client-go/header.go.txt
+++ /dev/null
@@ -1,16 +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.
-
diff --git a/client-go/pkg/apis/networking/v1alpha3/doc.go b/client-go/pkg/apis/networking/v1alpha3/doc.go
deleted file mode 100644
index 27561001..00000000
--- a/client-go/pkg/apis/networking/v1alpha3/doc.go
+++ /dev/null
@@ -1,23 +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.
-
-// Code generated by kubetype-gen. DO NOT EDIT.
-
-// Package has auto-generated kube type wrappers for raw types.
-// +k8s:openapi-gen=true
-// +k8s:deepcopy-gen=package
-// +groupName=networking.dubbo.apache.org
-package v1alpha3
diff --git a/client-go/pkg/apis/networking/v1alpha3/register.gen.go b/client-go/pkg/apis/networking/v1alpha3/register.gen.go
deleted file mode 100644
index 146157b2..00000000
--- a/client-go/pkg/apis/networking/v1alpha3/register.gen.go
+++ /dev/null
@@ -1,53 +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.
-
-// Code generated by kubetype-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-var (
-	// Package-wide variables from generator "register".
-	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha3"}
-	SchemeBuilder      = runtime.NewSchemeBuilder(addKnownTypes)
-	localSchemeBuilder = &SchemeBuilder
-	AddToScheme        = localSchemeBuilder.AddToScheme
-)
-
-const (
-	// Package-wide consts from generator "register".
-	GroupName = "networking.dubbo.apache.org"
-)
-
-func Resource(resource string) schema.GroupResource {
-	return SchemeGroupVersion.WithResource(resource).GroupResource()
-}
-
-func addKnownTypes(scheme *runtime.Scheme) error {
-	scheme.AddKnownTypes(SchemeGroupVersion,
-		&DestinationRule{},
-		&DestinationRuleList{},
-		&VirtualService{},
-		&VirtualServiceList{},
-	)
-	v1.AddToGroupVersion(scheme, SchemeGroupVersion)
-	return nil
-}
diff --git a/client-go/pkg/apis/networking/v1alpha3/types.gen.go b/client-go/pkg/apis/networking/v1alpha3/types.gen.go
deleted file mode 100644
index c1bf6817..00000000
--- a/client-go/pkg/apis/networking/v1alpha3/types.gen.go
+++ /dev/null
@@ -1,127 +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.
-
-// Code generated by kubetype-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha1 "github.com/kdubbo/api/meta/v1alpha1"
-	networkingv1alpha3 "github.com/kdubbo/api/networking/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-//
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// DestinationRule defines policies that apply to traffic intended for a service
-// after routing has occurred.
-//
-// <!-- crd generation tags
-// +cue-gen:DestinationRule:groupName:networking.dubbo.apache.org
-// +cue-gen:DestinationRule:versions:v1alpha3
-// +cue-gen:DestinationRule:annotations:helm.sh/resource-policy=keep
-// +cue-gen:DestinationRule:labels:app=dubbo,chart=dubbo,heritage=Tiller,release=dubbo
-// +cue-gen:DestinationRule:subresource:status
-// +cue-gen:DestinationRule:scope:Namespaced
-// +cue-gen:DestinationRule:resource:categories=dubbo,networking,shortNames=dr
-// +cue-gen:DestinationRule:printerColumn:name=Host,type=string,JSONPath=.spec.host,description="The name of a service from the service registry"
-// +cue-gen:DestinationRule:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp
-// representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations.
-// Clients may not set this value. It is represented in RFC3339 form and is in UTC.
-// Populated by the system. Read-only. Null for lists. For more information, see [Kubernetes API Conventions](https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#metadata)"
-// +cue-gen:DestinationRule:preserveUnknownFields:false
-// -->
-//
-// <!-- go code generation tags
-// +kubetype-gen
-// +kubetype-gen:groupVersion=networking.dubbo.apache.org/v1alpha3
-// +genclient
-// +k8s:deepcopy-gen=true
-// -->
-type DestinationRule struct {
-	v1.TypeMeta `json:",inline"`
-	// +optional
-	v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
-	// Spec defines the implementation of this definition.
-	// +optional
-	Spec networkingv1alpha3.DestinationRule `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
-
-	Status v1alpha1.DubboStatus `json:"status,omitempty"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// DestinationRuleList is a collection of DestinationRules.
-type DestinationRuleList struct {
-	v1.TypeMeta `json:",inline"`
-	// +optional
-	v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-	Items       []*DestinationRule `json:"items" protobuf:"bytes,2,rep,name=items"`
-}
-
-//
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// VirtualService defines a set of traffic routing rules to apply when a host is
-// addressed. Each routing rule defines matching criteria for traffic of a specific
-// protocol. If the traffic is matched, then it is sent to a named destination service
-// (or subset/version of it) defined in the registry.
-//
-// <!-- crd generation tags
-// +cue-gen:VirtualService:groupName:networking.dubbo.apache.org
-// +cue-gen:VirtualService:versions:v1alpha3
-// +cue-gen:VirtualService:annotations:helm.sh/resource-policy=keep
-// +cue-gen:VirtualService:labels:app=dubbo,chart=dubbo,heritage=Tiller,release=dubbo
-// +cue-gen:VirtualService:subresource:status
-// +cue-gen:VirtualService:scope:Namespaced
-// +cue-gen:VirtualService:resource:categories=dubbo,networking,shortNames=vs
-// +cue-gen:VirtualService:printerColumn:name=Hosts,type=string,JSONPath=.spec.hosts,description="The destination hosts to which traffic is being sent"
-// +cue-gen:VirtualService:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp
-// representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations.
-// Clients may not set this value. It is represented in RFC3339 form and is in UTC.
-// Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata"
-// +cue-gen:VirtualService:preserveUnknownFields:false
-// -->
-//
-// <!-- go code generation tags
-// +kubetype-gen
-// +kubetype-gen:groupVersion=networking.dubbo.apache.org/v1alpha3
-// +genclient
-// +k8s:deepcopy-gen=true
-// -->
-type VirtualService struct {
-	v1.TypeMeta `json:",inline"`
-	// +optional
-	v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
-	// Spec defines the implementation of this definition.
-	// +optional
-	Spec networkingv1alpha3.VirtualService `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
-
-	Status v1alpha1.DubboStatus `json:"status,omitempty"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// VirtualServiceList is a collection of VirtualServices.
-type VirtualServiceList struct {
-	v1.TypeMeta `json:",inline"`
-	// +optional
-	v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-	Items       []*VirtualService `json:"items" protobuf:"bytes,2,rep,name=items"`
-}
diff --git a/client-go/pkg/apis/networking/v1alpha3/zz_generated.deepcopy.gen.go b/client-go/pkg/apis/networking/v1alpha3/zz_generated.deepcopy.gen.go
deleted file mode 100644
index 148393f5..00000000
--- a/client-go/pkg/apis/networking/v1alpha3/zz_generated.deepcopy.gen.go
+++ /dev/null
@@ -1,152 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-//
-// 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.
-
-// Code generated by deepcopy-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	runtime "k8s.io/apimachinery/pkg/runtime"
-)
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *DestinationRule) DeepCopyInto(out *DestinationRule) {
-	out.TypeMeta = in.TypeMeta
-	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
-	in.Spec.DeepCopyInto(&out.Spec)
-	in.Status.DeepCopyInto(&out.Status)
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationRule.
-func (in *DestinationRule) DeepCopy() *DestinationRule {
-	if in == nil {
-		return nil
-	}
-	out := new(DestinationRule)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *DestinationRule) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *DestinationRuleList) DeepCopyInto(out *DestinationRuleList) {
-	out.TypeMeta = in.TypeMeta
-	in.ListMeta.DeepCopyInto(&out.ListMeta)
-	if in.Items != nil {
-		in, out := &in.Items, &out.Items
-		*out = make([]*DestinationRule, len(*in))
-		for i := range *in {
-			if (*in)[i] != nil {
-				in, out := &(*in)[i], &(*out)[i]
-				*out = new(DestinationRule)
-				(*in).DeepCopyInto(*out)
-			}
-		}
-	}
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DestinationRuleList.
-func (in *DestinationRuleList) DeepCopy() *DestinationRuleList {
-	if in == nil {
-		return nil
-	}
-	out := new(DestinationRuleList)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *DestinationRuleList) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *VirtualService) DeepCopyInto(out *VirtualService) {
-	out.TypeMeta = in.TypeMeta
-	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
-	in.Spec.DeepCopyInto(&out.Spec)
-	in.Status.DeepCopyInto(&out.Status)
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualService.
-func (in *VirtualService) DeepCopy() *VirtualService {
-	if in == nil {
-		return nil
-	}
-	out := new(VirtualService)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *VirtualService) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *VirtualServiceList) DeepCopyInto(out *VirtualServiceList) {
-	out.TypeMeta = in.TypeMeta
-	in.ListMeta.DeepCopyInto(&out.ListMeta)
-	if in.Items != nil {
-		in, out := &in.Items, &out.Items
-		*out = make([]*VirtualService, len(*in))
-		for i := range *in {
-			if (*in)[i] != nil {
-				in, out := &(*in)[i], &(*out)[i]
-				*out = new(VirtualService)
-				(*in).DeepCopyInto(*out)
-			}
-		}
-	}
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VirtualServiceList.
-func (in *VirtualServiceList) DeepCopy() *VirtualServiceList {
-	if in == nil {
-		return nil
-	}
-	out := new(VirtualServiceList)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *VirtualServiceList) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
diff --git a/client-go/pkg/apis/security/v1alpha3/doc.go b/client-go/pkg/apis/security/v1alpha3/doc.go
deleted file mode 100644
index fb470fe6..00000000
--- a/client-go/pkg/apis/security/v1alpha3/doc.go
+++ /dev/null
@@ -1,23 +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.
-
-// Code generated by kubetype-gen. DO NOT EDIT.
-
-// Package has auto-generated kube type wrappers for raw types.
-// +k8s:openapi-gen=true
-// +k8s:deepcopy-gen=package
-// +groupName=security.dubbo.apache.org
-package v1alpha3
diff --git a/client-go/pkg/apis/security/v1alpha3/register.gen.go b/client-go/pkg/apis/security/v1alpha3/register.gen.go
deleted file mode 100644
index af11ab64..00000000
--- a/client-go/pkg/apis/security/v1alpha3/register.gen.go
+++ /dev/null
@@ -1,51 +0,0 @@
-//
-// Licensed to the Apache Software Foundation (ASF) under one or more
-// contributor license agreements.  See the NOTICE file distributed with
-// this work for additional information regarding copyright ownership.
-// The ASF licenses this file to You under the Apache License, Version 2.0
-// (the "License"); you may not use this file except in compliance with
-// the License.  You may obtain a copy of the License at
-//
-//     http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-// Code generated by kubetype-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-var (
-	// Package-wide variables from generator "register".
-	SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha3"}
-	SchemeBuilder      = runtime.NewSchemeBuilder(addKnownTypes)
-	localSchemeBuilder = &SchemeBuilder
-	AddToScheme        = localSchemeBuilder.AddToScheme
-)
-
-const (
-	// Package-wide consts from generator "register".
-	GroupName = "security.dubbo.apache.org"
-)
-
-func Resource(resource string) schema.GroupResource {
-	return SchemeGroupVersion.WithResource(resource).GroupResource()
-}
-
-func addKnownTypes(scheme *runtime.Scheme) error {
-	scheme.AddKnownTypes(SchemeGroupVersion,
-		&PeerAuthentication{},
-		&PeerAuthenticationList{},
-	)
-	v1.AddToGroupVersion(scheme, SchemeGroupVersion)
-	return nil
-}
diff --git a/client-go/pkg/apis/security/v1alpha3/types.gen.go b/client-go/pkg/apis/security/v1alpha3/types.gen.go
deleted file mode 100644
index b60aaab3..00000000
--- a/client-go/pkg/apis/security/v1alpha3/types.gen.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.
-
-// Code generated by kubetype-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha1 "github.com/kdubbo/api/meta/v1alpha1"
-	securityv1alpha3 "github.com/kdubbo/api/security/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-//
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// <!-- crd generation tags
-// +cue-gen:PeerAuthentication:groupName:security.dubbo.apache.org
-// +cue-gen:PeerAuthentication:versions:v1alpha3
-// +cue-gen:PeerAuthentication:storageVersion
-// +cue-gen:PeerAuthentication:annotations:helm.sh/resource-policy=keep
-// +cue-gen:PeerAuthentication:labels:app=dubbo,chart=dubbo,dubbo=security,heritage=Tiller,release=dubbo
-// +cue-gen:PeerAuthentication:subresource:status
-// +cue-gen:PeerAuthentication:scope:Namespaced
-// +cue-gen:PeerAuthentication:resource:categories=dubbo,security,shortNames=pa
-// +cue-gen:PeerAuthentication:preserveUnknownFields:false
-// +cue-gen:PeerAuthentication:printerColumn:name=Mode,type=string,JSONPath=.spec.mtls.mode,description="Defines the mTLS mode used for peer authentication."
-// +cue-gen:PeerAuthentication:printerColumn:name=Age,type=date,JSONPath=.metadata.creationTimestamp,description="CreationTimestamp is a timestamp
-// representing the server time when this object was created. It is not guaranteed to be set in happens-before order across separate operations.
-// Clients may not set this value. It is represented in RFC3339 form and is in UTC.
-// Populated by the system. Read-only. Null for lists. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata"
-// -->
-//
-// <!-- go code generation tags
-// +kubetype-gen
-// +kubetype-gen:groupVersion=security.dubbo.apache.org/v1alpha3
-// +genclient
-// +k8s:deepcopy-gen=true
-// -->
-// +kubebuilder:validation:XValidation:message="portLevelMtls requires selector",rule="has(self.portLevelMtls) ? self.index({}, selector, matchLabels).size() > 0 : true"
-type PeerAuthentication struct {
-	v1.TypeMeta `json:",inline"`
-	// +optional
-	v1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-
-	// Spec defines the implementation of this definition.
-	// +optional
-	Spec securityv1alpha3.PeerAuthentication `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
-
-	Status v1alpha1.DubboStatus `json:"status,omitempty"`
-}
-
-// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
-
-// PeerAuthenticationList is a collection of PeerAuthentications.
-type PeerAuthenticationList struct {
-	v1.TypeMeta `json:",inline"`
-	// +optional
-	v1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
-	Items       []*PeerAuthentication `json:"items" protobuf:"bytes,2,rep,name=items"`
-}
diff --git a/client-go/pkg/apis/security/v1alpha3/zz_generated.deepcopy.gen.go b/client-go/pkg/apis/security/v1alpha3/zz_generated.deepcopy.gen.go
deleted file mode 100644
index 9496f3de..00000000
--- a/client-go/pkg/apis/security/v1alpha3/zz_generated.deepcopy.gen.go
+++ /dev/null
@@ -1,89 +0,0 @@
-//go:build !ignore_autogenerated
-// +build !ignore_autogenerated
-
-//
-// 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.
-
-// Code generated by deepcopy-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	runtime "k8s.io/apimachinery/pkg/runtime"
-)
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PeerAuthentication) DeepCopyInto(out *PeerAuthentication) {
-	out.TypeMeta = in.TypeMeta
-	in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
-	in.Spec.DeepCopyInto(&out.Spec)
-	in.Status.DeepCopyInto(&out.Status)
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerAuthentication.
-func (in *PeerAuthentication) DeepCopy() *PeerAuthentication {
-	if in == nil {
-		return nil
-	}
-	out := new(PeerAuthentication)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *PeerAuthentication) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
-
-// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
-func (in *PeerAuthenticationList) DeepCopyInto(out *PeerAuthenticationList) {
-	out.TypeMeta = in.TypeMeta
-	in.ListMeta.DeepCopyInto(&out.ListMeta)
-	if in.Items != nil {
-		in, out := &in.Items, &out.Items
-		*out = make([]*PeerAuthentication, len(*in))
-		for i := range *in {
-			if (*in)[i] != nil {
-				in, out := &(*in)[i], &(*out)[i]
-				*out = new(PeerAuthentication)
-				(*in).DeepCopyInto(*out)
-			}
-		}
-	}
-	return
-}
-
-// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeerAuthenticationList.
-func (in *PeerAuthenticationList) DeepCopy() *PeerAuthenticationList {
-	if in == nil {
-		return nil
-	}
-	out := new(PeerAuthenticationList)
-	in.DeepCopyInto(out)
-	return out
-}
-
-// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
-func (in *PeerAuthenticationList) DeepCopyObject() runtime.Object {
-	if c := in.DeepCopy(); c != nil {
-		return c
-	}
-	return nil
-}
diff --git a/client-go/pkg/applyconfiguration/internal/internal.go b/client-go/pkg/applyconfiguration/internal/internal.go
deleted file mode 100644
index 97948bcd..00000000
--- a/client-go/pkg/applyconfiguration/internal/internal.go
+++ /dev/null
@@ -1,62 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package internal
-
-import (
-	"fmt"
-	"sync"
-
-	typed "sigs.k8s.io/structured-merge-diff/v4/typed"
-)
-
-func Parser() *typed.Parser {
-	parserOnce.Do(func() {
-		var err error
-		parser, err = typed.NewParser(schemaYAML)
-		if err != nil {
-			panic(fmt.Sprintf("Failed to parse schema: %v", err))
-		}
-	})
-	return parser
-}
-
-var parserOnce sync.Once
-var parser *typed.Parser
-var schemaYAML = typed.YAMLObject(`types:
-- name: __untyped_atomic_
-  scalar: untyped
-  list:
-    elementType:
-      namedType: __untyped_atomic_
-    elementRelationship: atomic
-  map:
-    elementType:
-      namedType: __untyped_atomic_
-    elementRelationship: atomic
-- name: __untyped_deduced_
-  scalar: untyped
-  list:
-    elementType:
-      namedType: __untyped_atomic_
-    elementRelationship: atomic
-  map:
-    elementType:
-      namedType: __untyped_deduced_
-    elementRelationship: separable
-`)
diff --git a/client-go/pkg/applyconfiguration/meta/v1/managedfieldsentry.go b/client-go/pkg/applyconfiguration/meta/v1/managedfieldsentry.go
deleted file mode 100644
index 6768e207..00000000
--- a/client-go/pkg/applyconfiguration/meta/v1/managedfieldsentry.go
+++ /dev/null
@@ -1,97 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package v1
-
-import (
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-)
-
-// ManagedFieldsEntryApplyConfiguration represents an declarative configuration of the ManagedFieldsEntry type for use
-// with apply.
-type ManagedFieldsEntryApplyConfiguration struct {
-	Manager     *string                        `json:"manager,omitempty"`
-	Operation   *v1.ManagedFieldsOperationType `json:"operation,omitempty"`
-	APIVersion  *string                        `json:"apiVersion,omitempty"`
-	Time        *v1.Time                       `json:"time,omitempty"`
-	FieldsType  *string                        `json:"fieldsType,omitempty"`
-	FieldsV1    *v1.FieldsV1                   `json:"fieldsV1,omitempty"`
-	Subresource *string                        `json:"subresource,omitempty"`
-}
-
-// ManagedFieldsEntryApplyConfiguration constructs an declarative configuration of the ManagedFieldsEntry type for use with
-// apply.
-func ManagedFieldsEntry() *ManagedFieldsEntryApplyConfiguration {
-	return &ManagedFieldsEntryApplyConfiguration{}
-}
-
-// WithManager sets the Manager field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Manager field is set to the value of the last call.
-func (b *ManagedFieldsEntryApplyConfiguration) WithManager(value string) *ManagedFieldsEntryApplyConfiguration {
-	b.Manager = &value
-	return b
-}
-
-// WithOperation sets the Operation field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Operation field is set to the value of the last call.
-func (b *ManagedFieldsEntryApplyConfiguration) WithOperation(value v1.ManagedFieldsOperationType) *ManagedFieldsEntryApplyConfiguration {
-	b.Operation = &value
-	return b
-}
-
-// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the APIVersion field is set to the value of the last call.
-func (b *ManagedFieldsEntryApplyConfiguration) WithAPIVersion(value string) *ManagedFieldsEntryApplyConfiguration {
-	b.APIVersion = &value
-	return b
-}
-
-// WithTime sets the Time field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Time field is set to the value of the last call.
-func (b *ManagedFieldsEntryApplyConfiguration) WithTime(value v1.Time) *ManagedFieldsEntryApplyConfiguration {
-	b.Time = &value
-	return b
-}
-
-// WithFieldsType sets the FieldsType field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the FieldsType field is set to the value of the last call.
-func (b *ManagedFieldsEntryApplyConfiguration) WithFieldsType(value string) *ManagedFieldsEntryApplyConfiguration {
-	b.FieldsType = &value
-	return b
-}
-
-// WithFieldsV1 sets the FieldsV1 field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the FieldsV1 field is set to the value of the last call.
-func (b *ManagedFieldsEntryApplyConfiguration) WithFieldsV1(value v1.FieldsV1) *ManagedFieldsEntryApplyConfiguration {
-	b.FieldsV1 = &value
-	return b
-}
-
-// WithSubresource sets the Subresource field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Subresource field is set to the value of the last call.
-func (b *ManagedFieldsEntryApplyConfiguration) WithSubresource(value string) *ManagedFieldsEntryApplyConfiguration {
-	b.Subresource = &value
-	return b
-}
diff --git a/client-go/pkg/applyconfiguration/meta/v1/objectmeta.go b/client-go/pkg/applyconfiguration/meta/v1/objectmeta.go
deleted file mode 100644
index 20bc57d7..00000000
--- a/client-go/pkg/applyconfiguration/meta/v1/objectmeta.go
+++ /dev/null
@@ -1,171 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package v1
-
-import (
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-)
-
-// ObjectMetaApplyConfiguration represents an declarative configuration of the ObjectMeta type for use
-// with apply.
-type ObjectMetaApplyConfiguration struct {
-	Name                       *string                            `json:"name,omitempty"`
-	GenerateName               *string                            `json:"generateName,omitempty"`
-	Namespace                  *string                            `json:"namespace,omitempty"`
-	UID                        *types.UID                         `json:"uid,omitempty"`
-	ResourceVersion            *string                            `json:"resourceVersion,omitempty"`
-	Generation                 *int64                             `json:"generation,omitempty"`
-	CreationTimestamp          *v1.Time                           `json:"creationTimestamp,omitempty"`
-	DeletionTimestamp          *v1.Time                           `json:"deletionTimestamp,omitempty"`
-	DeletionGracePeriodSeconds *int64                             `json:"deletionGracePeriodSeconds,omitempty"`
-	Labels                     map[string]string                  `json:"labels,omitempty"`
-	Annotations                map[string]string                  `json:"annotations,omitempty"`
-	OwnerReferences            []OwnerReferenceApplyConfiguration `json:"ownerReferences,omitempty"`
-	Finalizers                 []string                           `json:"finalizers,omitempty"`
-}
-
-// ObjectMetaApplyConfiguration constructs an declarative configuration of the ObjectMeta type for use with
-// apply.
-func ObjectMeta() *ObjectMetaApplyConfiguration {
-	return &ObjectMetaApplyConfiguration{}
-}
-
-// WithName sets the Name field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Name field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithName(value string) *ObjectMetaApplyConfiguration {
-	b.Name = &value
-	return b
-}
-
-// WithGenerateName sets the GenerateName field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the GenerateName field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithGenerateName(value string) *ObjectMetaApplyConfiguration {
-	b.GenerateName = &value
-	return b
-}
-
-// WithNamespace sets the Namespace field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Namespace field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithNamespace(value string) *ObjectMetaApplyConfiguration {
-	b.Namespace = &value
-	return b
-}
-
-// WithUID sets the UID field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the UID field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithUID(value types.UID) *ObjectMetaApplyConfiguration {
-	b.UID = &value
-	return b
-}
-
-// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the ResourceVersion field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithResourceVersion(value string) *ObjectMetaApplyConfiguration {
-	b.ResourceVersion = &value
-	return b
-}
-
-// WithGeneration sets the Generation field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Generation field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithGeneration(value int64) *ObjectMetaApplyConfiguration {
-	b.Generation = &value
-	return b
-}
-
-// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the CreationTimestamp field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithCreationTimestamp(value v1.Time) *ObjectMetaApplyConfiguration {
-	b.CreationTimestamp = &value
-	return b
-}
-
-// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionTimestamp field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithDeletionTimestamp(value v1.Time) *ObjectMetaApplyConfiguration {
-	b.DeletionTimestamp = &value
-	return b
-}
-
-// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
-func (b *ObjectMetaApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *ObjectMetaApplyConfiguration {
-	b.DeletionGracePeriodSeconds = &value
-	return b
-}
-
-// WithLabels puts the entries into the Labels field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Labels field,
-// overwriting an existing map entries in Labels field with the same key.
-func (b *ObjectMetaApplyConfiguration) WithLabels(entries map[string]string) *ObjectMetaApplyConfiguration {
-	if b.Labels == nil && len(entries) > 0 {
-		b.Labels = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Labels[k] = v
-	}
-	return b
-}
-
-// WithAnnotations puts the entries into the Annotations field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Annotations field,
-// overwriting an existing map entries in Annotations field with the same key.
-func (b *ObjectMetaApplyConfiguration) WithAnnotations(entries map[string]string) *ObjectMetaApplyConfiguration {
-	if b.Annotations == nil && len(entries) > 0 {
-		b.Annotations = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Annotations[k] = v
-	}
-	return b
-}
-
-// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the OwnerReferences field.
-func (b *ObjectMetaApplyConfiguration) WithOwnerReferences(values ...*OwnerReferenceApplyConfiguration) *ObjectMetaApplyConfiguration {
-	for i := range values {
-		if values[i] == nil {
-			panic("nil value passed to WithOwnerReferences")
-		}
-		b.OwnerReferences = append(b.OwnerReferences, *values[i])
-	}
-	return b
-}
-
-// WithFinalizers adds the given value to the Finalizers field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the Finalizers field.
-func (b *ObjectMetaApplyConfiguration) WithFinalizers(values ...string) *ObjectMetaApplyConfiguration {
-	for i := range values {
-		b.Finalizers = append(b.Finalizers, values[i])
-	}
-	return b
-}
diff --git a/client-go/pkg/applyconfiguration/meta/v1/ownerreference.go b/client-go/pkg/applyconfiguration/meta/v1/ownerreference.go
deleted file mode 100644
index 45ea2c86..00000000
--- a/client-go/pkg/applyconfiguration/meta/v1/ownerreference.go
+++ /dev/null
@@ -1,88 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package v1
-
-import (
-	types "k8s.io/apimachinery/pkg/types"
-)
-
-// OwnerReferenceApplyConfiguration represents an declarative configuration of the OwnerReference type for use
-// with apply.
-type OwnerReferenceApplyConfiguration struct {
-	APIVersion         *string    `json:"apiVersion,omitempty"`
-	Kind               *string    `json:"kind,omitempty"`
-	Name               *string    `json:"name,omitempty"`
-	UID                *types.UID `json:"uid,omitempty"`
-	Controller         *bool      `json:"controller,omitempty"`
-	BlockOwnerDeletion *bool      `json:"blockOwnerDeletion,omitempty"`
-}
-
-// OwnerReferenceApplyConfiguration constructs an declarative configuration of the OwnerReference type for use with
-// apply.
-func OwnerReference() *OwnerReferenceApplyConfiguration {
-	return &OwnerReferenceApplyConfiguration{}
-}
-
-// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the APIVersion field is set to the value of the last call.
-func (b *OwnerReferenceApplyConfiguration) WithAPIVersion(value string) *OwnerReferenceApplyConfiguration {
-	b.APIVersion = &value
-	return b
-}
-
-// WithKind sets the Kind field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Kind field is set to the value of the last call.
-func (b *OwnerReferenceApplyConfiguration) WithKind(value string) *OwnerReferenceApplyConfiguration {
-	b.Kind = &value
-	return b
-}
-
-// WithName sets the Name field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Name field is set to the value of the last call.
-func (b *OwnerReferenceApplyConfiguration) WithName(value string) *OwnerReferenceApplyConfiguration {
-	b.Name = &value
-	return b
-}
-
-// WithUID sets the UID field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the UID field is set to the value of the last call.
-func (b *OwnerReferenceApplyConfiguration) WithUID(value types.UID) *OwnerReferenceApplyConfiguration {
-	b.UID = &value
-	return b
-}
-
-// WithController sets the Controller field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Controller field is set to the value of the last call.
-func (b *OwnerReferenceApplyConfiguration) WithController(value bool) *OwnerReferenceApplyConfiguration {
-	b.Controller = &value
-	return b
-}
-
-// WithBlockOwnerDeletion sets the BlockOwnerDeletion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the BlockOwnerDeletion field is set to the value of the last call.
-func (b *OwnerReferenceApplyConfiguration) WithBlockOwnerDeletion(value bool) *OwnerReferenceApplyConfiguration {
-	b.BlockOwnerDeletion = &value
-	return b
-}
diff --git a/client-go/pkg/applyconfiguration/meta/v1/typemeta.go b/client-go/pkg/applyconfiguration/meta/v1/typemeta.go
deleted file mode 100644
index b7e00bf7..00000000
--- a/client-go/pkg/applyconfiguration/meta/v1/typemeta.go
+++ /dev/null
@@ -1,48 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package v1
-
-// TypeMetaApplyConfiguration represents an declarative configuration of the TypeMeta type for use
-// with apply.
-type TypeMetaApplyConfiguration struct {
-	Kind       *string `json:"kind,omitempty"`
-	APIVersion *string `json:"apiVersion,omitempty"`
-}
-
-// TypeMetaApplyConfiguration constructs an declarative configuration of the TypeMeta type for use with
-// apply.
-func TypeMeta() *TypeMetaApplyConfiguration {
-	return &TypeMetaApplyConfiguration{}
-}
-
-// WithKind sets the Kind field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Kind field is set to the value of the last call.
-func (b *TypeMetaApplyConfiguration) WithKind(value string) *TypeMetaApplyConfiguration {
-	b.Kind = &value
-	return b
-}
-
-// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the APIVersion field is set to the value of the last call.
-func (b *TypeMetaApplyConfiguration) WithAPIVersion(value string) *TypeMetaApplyConfiguration {
-	b.APIVersion = &value
-	return b
-}
diff --git a/client-go/pkg/applyconfiguration/networking/v1alpha3/destinationrule.go b/client-go/pkg/applyconfiguration/networking/v1alpha3/destinationrule.go
deleted file mode 100644
index e9dd804d..00000000
--- a/client-go/pkg/applyconfiguration/networking/v1alpha3/destinationrule.go
+++ /dev/null
@@ -1,221 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha1 "github.com/kdubbo/api/meta/v1alpha1"
-	v1alpha3 "github.com/kdubbo/api/networking/v1alpha3"
-	v1 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/meta/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-)
-
-// DestinationRuleApplyConfiguration represents an declarative configuration of the DestinationRule type for use
-// with apply.
-type DestinationRuleApplyConfiguration struct {
-	v1.TypeMetaApplyConfiguration    `json:",inline"`
-	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
-	Spec                             *v1alpha3.DestinationRule `json:"spec,omitempty"`
-	Status                           *v1alpha1.DubboStatus     `json:"status,omitempty"`
-}
-
-// DestinationRule constructs an declarative configuration of the DestinationRule type for use with
-// apply.
-func DestinationRule(name, namespace string) *DestinationRuleApplyConfiguration {
-	b := &DestinationRuleApplyConfiguration{}
-	b.WithName(name)
-	b.WithNamespace(namespace)
-	b.WithKind("DestinationRule")
-	b.WithAPIVersion("networking.dubbo.apache.org/v1alpha3")
-	return b
-}
-
-// WithKind sets the Kind field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Kind field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithKind(value string) *DestinationRuleApplyConfiguration {
-	b.Kind = &value
-	return b
-}
-
-// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the APIVersion field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithAPIVersion(value string) *DestinationRuleApplyConfiguration {
-	b.APIVersion = &value
-	return b
-}
-
-// WithName sets the Name field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Name field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithName(value string) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Name = &value
-	return b
-}
-
-// WithGenerateName sets the GenerateName field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the GenerateName field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithGenerateName(value string) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.GenerateName = &value
-	return b
-}
-
-// WithNamespace sets the Namespace field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Namespace field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithNamespace(value string) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Namespace = &value
-	return b
-}
-
-// WithUID sets the UID field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the UID field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithUID(value types.UID) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.UID = &value
-	return b
-}
-
-// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the ResourceVersion field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithResourceVersion(value string) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.ResourceVersion = &value
-	return b
-}
-
-// WithGeneration sets the Generation field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Generation field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithGeneration(value int64) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Generation = &value
-	return b
-}
-
-// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the CreationTimestamp field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithCreationTimestamp(value metav1.Time) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.CreationTimestamp = &value
-	return b
-}
-
-// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionTimestamp field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.DeletionTimestamp = &value
-	return b
-}
-
-// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.DeletionGracePeriodSeconds = &value
-	return b
-}
-
-// WithLabels puts the entries into the Labels field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Labels field,
-// overwriting an existing map entries in Labels field with the same key.
-func (b *DestinationRuleApplyConfiguration) WithLabels(entries map[string]string) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	if b.Labels == nil && len(entries) > 0 {
-		b.Labels = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Labels[k] = v
-	}
-	return b
-}
-
-// WithAnnotations puts the entries into the Annotations field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Annotations field,
-// overwriting an existing map entries in Annotations field with the same key.
-func (b *DestinationRuleApplyConfiguration) WithAnnotations(entries map[string]string) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	if b.Annotations == nil && len(entries) > 0 {
-		b.Annotations = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Annotations[k] = v
-	}
-	return b
-}
-
-// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the OwnerReferences field.
-func (b *DestinationRuleApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	for i := range values {
-		if values[i] == nil {
-			panic("nil value passed to WithOwnerReferences")
-		}
-		b.OwnerReferences = append(b.OwnerReferences, *values[i])
-	}
-	return b
-}
-
-// WithFinalizers adds the given value to the Finalizers field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the Finalizers field.
-func (b *DestinationRuleApplyConfiguration) WithFinalizers(values ...string) *DestinationRuleApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	for i := range values {
-		b.Finalizers = append(b.Finalizers, values[i])
-	}
-	return b
-}
-
-func (b *DestinationRuleApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
-	if b.ObjectMetaApplyConfiguration == nil {
-		b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{}
-	}
-}
-
-// WithSpec sets the Spec field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Spec field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithSpec(value v1alpha3.DestinationRule) *DestinationRuleApplyConfiguration {
-	b.Spec = &value
-	return b
-}
-
-// WithStatus sets the Status field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Status field is set to the value of the last call.
-func (b *DestinationRuleApplyConfiguration) WithStatus(value v1alpha1.DubboStatus) *DestinationRuleApplyConfiguration {
-	b.Status = &value
-	return b
-}
diff --git a/client-go/pkg/applyconfiguration/networking/v1alpha3/virtualservice.go b/client-go/pkg/applyconfiguration/networking/v1alpha3/virtualservice.go
deleted file mode 100644
index 806d33b5..00000000
--- a/client-go/pkg/applyconfiguration/networking/v1alpha3/virtualservice.go
+++ /dev/null
@@ -1,221 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha1 "github.com/kdubbo/api/meta/v1alpha1"
-	v1alpha3 "github.com/kdubbo/api/networking/v1alpha3"
-	v1 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/meta/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-)
-
-// VirtualServiceApplyConfiguration represents an declarative configuration of the VirtualService type for use
-// with apply.
-type VirtualServiceApplyConfiguration struct {
-	v1.TypeMetaApplyConfiguration    `json:",inline"`
-	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
-	Spec                             *v1alpha3.VirtualService `json:"spec,omitempty"`
-	Status                           *v1alpha1.DubboStatus    `json:"status,omitempty"`
-}
-
-// VirtualService constructs an declarative configuration of the VirtualService type for use with
-// apply.
-func VirtualService(name, namespace string) *VirtualServiceApplyConfiguration {
-	b := &VirtualServiceApplyConfiguration{}
-	b.WithName(name)
-	b.WithNamespace(namespace)
-	b.WithKind("VirtualService")
-	b.WithAPIVersion("networking.dubbo.apache.org/v1alpha3")
-	return b
-}
-
-// WithKind sets the Kind field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Kind field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithKind(value string) *VirtualServiceApplyConfiguration {
-	b.Kind = &value
-	return b
-}
-
-// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the APIVersion field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithAPIVersion(value string) *VirtualServiceApplyConfiguration {
-	b.APIVersion = &value
-	return b
-}
-
-// WithName sets the Name field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Name field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithName(value string) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Name = &value
-	return b
-}
-
-// WithGenerateName sets the GenerateName field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the GenerateName field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithGenerateName(value string) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.GenerateName = &value
-	return b
-}
-
-// WithNamespace sets the Namespace field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Namespace field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithNamespace(value string) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Namespace = &value
-	return b
-}
-
-// WithUID sets the UID field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the UID field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithUID(value types.UID) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.UID = &value
-	return b
-}
-
-// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the ResourceVersion field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithResourceVersion(value string) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.ResourceVersion = &value
-	return b
-}
-
-// WithGeneration sets the Generation field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Generation field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithGeneration(value int64) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Generation = &value
-	return b
-}
-
-// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the CreationTimestamp field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithCreationTimestamp(value metav1.Time) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.CreationTimestamp = &value
-	return b
-}
-
-// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionTimestamp field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.DeletionTimestamp = &value
-	return b
-}
-
-// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.DeletionGracePeriodSeconds = &value
-	return b
-}
-
-// WithLabels puts the entries into the Labels field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Labels field,
-// overwriting an existing map entries in Labels field with the same key.
-func (b *VirtualServiceApplyConfiguration) WithLabels(entries map[string]string) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	if b.Labels == nil && len(entries) > 0 {
-		b.Labels = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Labels[k] = v
-	}
-	return b
-}
-
-// WithAnnotations puts the entries into the Annotations field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Annotations field,
-// overwriting an existing map entries in Annotations field with the same key.
-func (b *VirtualServiceApplyConfiguration) WithAnnotations(entries map[string]string) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	if b.Annotations == nil && len(entries) > 0 {
-		b.Annotations = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Annotations[k] = v
-	}
-	return b
-}
-
-// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the OwnerReferences field.
-func (b *VirtualServiceApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	for i := range values {
-		if values[i] == nil {
-			panic("nil value passed to WithOwnerReferences")
-		}
-		b.OwnerReferences = append(b.OwnerReferences, *values[i])
-	}
-	return b
-}
-
-// WithFinalizers adds the given value to the Finalizers field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the Finalizers field.
-func (b *VirtualServiceApplyConfiguration) WithFinalizers(values ...string) *VirtualServiceApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	for i := range values {
-		b.Finalizers = append(b.Finalizers, values[i])
-	}
-	return b
-}
-
-func (b *VirtualServiceApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
-	if b.ObjectMetaApplyConfiguration == nil {
-		b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{}
-	}
-}
-
-// WithSpec sets the Spec field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Spec field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithSpec(value v1alpha3.VirtualService) *VirtualServiceApplyConfiguration {
-	b.Spec = &value
-	return b
-}
-
-// WithStatus sets the Status field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Status field is set to the value of the last call.
-func (b *VirtualServiceApplyConfiguration) WithStatus(value v1alpha1.DubboStatus) *VirtualServiceApplyConfiguration {
-	b.Status = &value
-	return b
-}
diff --git a/client-go/pkg/applyconfiguration/security/v1alpha3/peerauthentication.go b/client-go/pkg/applyconfiguration/security/v1alpha3/peerauthentication.go
deleted file mode 100644
index 6f374b41..00000000
--- a/client-go/pkg/applyconfiguration/security/v1alpha3/peerauthentication.go
+++ /dev/null
@@ -1,221 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha1 "github.com/kdubbo/api/meta/v1alpha1"
-	v1alpha3 "github.com/kdubbo/api/security/v1alpha3"
-	v1 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/meta/v1"
-	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-)
-
-// PeerAuthenticationApplyConfiguration represents an declarative configuration of the PeerAuthentication type for use
-// with apply.
-type PeerAuthenticationApplyConfiguration struct {
-	v1.TypeMetaApplyConfiguration    `json:",inline"`
-	*v1.ObjectMetaApplyConfiguration `json:"metadata,omitempty"`
-	Spec                             *v1alpha3.PeerAuthentication `json:"spec,omitempty"`
-	Status                           *v1alpha1.DubboStatus        `json:"status,omitempty"`
-}
-
-// PeerAuthentication constructs an declarative configuration of the PeerAuthentication type for use with
-// apply.
-func PeerAuthentication(name, namespace string) *PeerAuthenticationApplyConfiguration {
-	b := &PeerAuthenticationApplyConfiguration{}
-	b.WithName(name)
-	b.WithNamespace(namespace)
-	b.WithKind("PeerAuthentication")
-	b.WithAPIVersion("security.dubbo.apache.org/v1alpha3")
-	return b
-}
-
-// WithKind sets the Kind field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Kind field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithKind(value string) *PeerAuthenticationApplyConfiguration {
-	b.Kind = &value
-	return b
-}
-
-// WithAPIVersion sets the APIVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the APIVersion field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithAPIVersion(value string) *PeerAuthenticationApplyConfiguration {
-	b.APIVersion = &value
-	return b
-}
-
-// WithName sets the Name field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Name field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithName(value string) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Name = &value
-	return b
-}
-
-// WithGenerateName sets the GenerateName field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the GenerateName field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithGenerateName(value string) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.GenerateName = &value
-	return b
-}
-
-// WithNamespace sets the Namespace field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Namespace field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithNamespace(value string) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Namespace = &value
-	return b
-}
-
-// WithUID sets the UID field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the UID field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithUID(value types.UID) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.UID = &value
-	return b
-}
-
-// WithResourceVersion sets the ResourceVersion field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the ResourceVersion field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithResourceVersion(value string) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.ResourceVersion = &value
-	return b
-}
-
-// WithGeneration sets the Generation field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Generation field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithGeneration(value int64) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.Generation = &value
-	return b
-}
-
-// WithCreationTimestamp sets the CreationTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the CreationTimestamp field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithCreationTimestamp(value metav1.Time) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.CreationTimestamp = &value
-	return b
-}
-
-// WithDeletionTimestamp sets the DeletionTimestamp field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionTimestamp field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithDeletionTimestamp(value metav1.Time) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.DeletionTimestamp = &value
-	return b
-}
-
-// WithDeletionGracePeriodSeconds sets the DeletionGracePeriodSeconds field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the DeletionGracePeriodSeconds field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithDeletionGracePeriodSeconds(value int64) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	b.DeletionGracePeriodSeconds = &value
-	return b
-}
-
-// WithLabels puts the entries into the Labels field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Labels field,
-// overwriting an existing map entries in Labels field with the same key.
-func (b *PeerAuthenticationApplyConfiguration) WithLabels(entries map[string]string) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	if b.Labels == nil && len(entries) > 0 {
-		b.Labels = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Labels[k] = v
-	}
-	return b
-}
-
-// WithAnnotations puts the entries into the Annotations field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, the entries provided by each call will be put on the Annotations field,
-// overwriting an existing map entries in Annotations field with the same key.
-func (b *PeerAuthenticationApplyConfiguration) WithAnnotations(entries map[string]string) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	if b.Annotations == nil && len(entries) > 0 {
-		b.Annotations = make(map[string]string, len(entries))
-	}
-	for k, v := range entries {
-		b.Annotations[k] = v
-	}
-	return b
-}
-
-// WithOwnerReferences adds the given value to the OwnerReferences field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the OwnerReferences field.
-func (b *PeerAuthenticationApplyConfiguration) WithOwnerReferences(values ...*v1.OwnerReferenceApplyConfiguration) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	for i := range values {
-		if values[i] == nil {
-			panic("nil value passed to WithOwnerReferences")
-		}
-		b.OwnerReferences = append(b.OwnerReferences, *values[i])
-	}
-	return b
-}
-
-// WithFinalizers adds the given value to the Finalizers field in the declarative configuration
-// and returns the receiver, so that objects can be build by chaining "With" function invocations.
-// If called multiple times, values provided by each call will be appended to the Finalizers field.
-func (b *PeerAuthenticationApplyConfiguration) WithFinalizers(values ...string) *PeerAuthenticationApplyConfiguration {
-	b.ensureObjectMetaApplyConfigurationExists()
-	for i := range values {
-		b.Finalizers = append(b.Finalizers, values[i])
-	}
-	return b
-}
-
-func (b *PeerAuthenticationApplyConfiguration) ensureObjectMetaApplyConfigurationExists() {
-	if b.ObjectMetaApplyConfiguration == nil {
-		b.ObjectMetaApplyConfiguration = &v1.ObjectMetaApplyConfiguration{}
-	}
-}
-
-// WithSpec sets the Spec field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Spec field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithSpec(value v1alpha3.PeerAuthentication) *PeerAuthenticationApplyConfiguration {
-	b.Spec = &value
-	return b
-}
-
-// WithStatus sets the Status field in the declarative configuration to the given value
-// and returns the receiver, so that objects can be built by chaining "With" function invocations.
-// If called multiple times, the Status field is set to the value of the last call.
-func (b *PeerAuthenticationApplyConfiguration) WithStatus(value v1alpha1.DubboStatus) *PeerAuthenticationApplyConfiguration {
-	b.Status = &value
-	return b
-}
diff --git a/client-go/pkg/applyconfiguration/utils.go b/client-go/pkg/applyconfiguration/utils.go
deleted file mode 100644
index 949ce2c4..00000000
--- a/client-go/pkg/applyconfiguration/utils.go
+++ /dev/null
@@ -1,57 +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.
-
-// Code generated by applyconfiguration-gen. DO NOT EDIT.
-
-package applyconfiguration
-
-import (
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	metav1 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/meta/v1"
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/networking/v1alpha3"
-	applyconfigurationsecurityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/security/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-)
-
-// ForKind returns an apply configuration type for the given GroupVersionKind, or nil if no
-// apply configuration type exists for the given GroupVersionKind.
-func ForKind(kind schema.GroupVersionKind) interface{} {
-	switch kind {
-	// Group=meta.k8s.io, Version=v1
-	case v1.SchemeGroupVersion.WithKind("ManagedFieldsEntry"):
-		return &metav1.ManagedFieldsEntryApplyConfiguration{}
-	case v1.SchemeGroupVersion.WithKind("ObjectMeta"):
-		return &metav1.ObjectMetaApplyConfiguration{}
-	case v1.SchemeGroupVersion.WithKind("OwnerReference"):
-		return &metav1.OwnerReferenceApplyConfiguration{}
-	case v1.SchemeGroupVersion.WithKind("TypeMeta"):
-		return &metav1.TypeMetaApplyConfiguration{}
-
-		// Group=networking.dubbo.apache.org, Version=v1alpha3
-	case v1alpha3.SchemeGroupVersion.WithKind("DestinationRule"):
-		return &networkingv1alpha3.DestinationRuleApplyConfiguration{}
-	case v1alpha3.SchemeGroupVersion.WithKind("VirtualService"):
-		return &networkingv1alpha3.VirtualServiceApplyConfiguration{}
-
-		// Group=security.dubbo.apache.org, Version=v1alpha3
-	case securityv1alpha3.SchemeGroupVersion.WithKind("PeerAuthentication"):
-		return &applyconfigurationsecurityv1alpha3.PeerAuthenticationApplyConfiguration{}
-
-	}
-	return nil
-}
diff --git a/client-go/pkg/clientset/versioned/clientset.gen.go b/client-go/pkg/clientset/versioned/clientset.gen.go
deleted file mode 100644
index 51e9e4f1..00000000
--- a/client-go/pkg/clientset/versioned/clientset.gen.go
+++ /dev/null
@@ -1,133 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package versioned
-
-import (
-	"fmt"
-	"net/http"
-
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/networking/v1alpha3"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/security/v1alpha3"
-	discovery "k8s.io/client-go/discovery"
-	rest "k8s.io/client-go/rest"
-	flowcontrol "k8s.io/client-go/util/flowcontrol"
-)
-
-type Interface interface {
-	Discovery() discovery.DiscoveryInterface
-	NetworkingV1alpha3() networkingv1alpha3.NetworkingV1alpha3Interface
-	SecurityV1alpha3() securityv1alpha3.SecurityV1alpha3Interface
-}
-
-// Clientset contains the clients for groups.
-type Clientset struct {
-	*discovery.DiscoveryClient
-	networkingV1alpha3 *networkingv1alpha3.NetworkingV1alpha3Client
-	securityV1alpha3   *securityv1alpha3.SecurityV1alpha3Client
-}
-
-// NetworkingV1alpha3 retrieves the NetworkingV1alpha3Client
-func (c *Clientset) NetworkingV1alpha3() networkingv1alpha3.NetworkingV1alpha3Interface {
-	return c.networkingV1alpha3
-}
-
-// SecurityV1alpha3 retrieves the SecurityV1alpha3Client
-func (c *Clientset) SecurityV1alpha3() securityv1alpha3.SecurityV1alpha3Interface {
-	return c.securityV1alpha3
-}
-
-// Discovery retrieves the DiscoveryClient
-func (c *Clientset) Discovery() discovery.DiscoveryInterface {
-	if c == nil {
-		return nil
-	}
-	return c.DiscoveryClient
-}
-
-// NewForConfig creates a new Clientset for the given config.
-// If config's RateLimiter is not set and QPS and Burst are acceptable,
-// NewForConfig will generate a rate-limiter in configShallowCopy.
-// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient),
-// where httpClient was generated with rest.HTTPClientFor(c).
-func NewForConfig(c *rest.Config) (*Clientset, error) {
-	configShallowCopy := *c
-
-	if configShallowCopy.UserAgent == "" {
-		configShallowCopy.UserAgent = rest.DefaultKubernetesUserAgent()
-	}
-
-	// share the transport between all clients
-	httpClient, err := rest.HTTPClientFor(&configShallowCopy)
-	if err != nil {
-		return nil, err
-	}
-
-	return NewForConfigAndClient(&configShallowCopy, httpClient)
-}
-
-// NewForConfigAndClient creates a new Clientset for the given config and http client.
-// Note the http client provided takes precedence over the configured transport values.
-// If config's RateLimiter is not set and QPS and Burst are acceptable,
-// NewForConfigAndClient will generate a rate-limiter in configShallowCopy.
-func NewForConfigAndClient(c *rest.Config, httpClient *http.Client) (*Clientset, error) {
-	configShallowCopy := *c
-	if configShallowCopy.RateLimiter == nil && configShallowCopy.QPS > 0 {
-		if configShallowCopy.Burst <= 0 {
-			return nil, fmt.Errorf("burst is required to be greater than 0 when RateLimiter is not set and QPS is set to greater than 0")
-		}
-		configShallowCopy.RateLimiter = flowcontrol.NewTokenBucketRateLimiter(configShallowCopy.QPS, configShallowCopy.Burst)
-	}
-
-	var cs Clientset
-	var err error
-	cs.networkingV1alpha3, err = networkingv1alpha3.NewForConfigAndClient(&configShallowCopy, httpClient)
-	if err != nil {
-		return nil, err
-	}
-	cs.securityV1alpha3, err = securityv1alpha3.NewForConfigAndClient(&configShallowCopy, httpClient)
-	if err != nil {
-		return nil, err
-	}
-
-	cs.DiscoveryClient, err = discovery.NewDiscoveryClientForConfigAndClient(&configShallowCopy, httpClient)
-	if err != nil {
-		return nil, err
-	}
-	return &cs, nil
-}
-
-// NewForConfigOrDie creates a new Clientset for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *Clientset {
-	cs, err := NewForConfig(c)
-	if err != nil {
-		panic(err)
-	}
-	return cs
-}
-
-// New creates a new Clientset for the given RESTClient.
-func New(c rest.Interface) *Clientset {
-	var cs Clientset
-	cs.networkingV1alpha3 = networkingv1alpha3.New(c)
-	cs.securityV1alpha3 = securityv1alpha3.New(c)
-
-	cs.DiscoveryClient = discovery.NewDiscoveryClient(c)
-	return &cs
-}
diff --git a/client-go/pkg/clientset/versioned/fake/clientset_generated.gen.go b/client-go/pkg/clientset/versioned/fake/clientset_generated.gen.go
deleted file mode 100644
index baadd518..00000000
--- a/client-go/pkg/clientset/versioned/fake/clientset_generated.gen.go
+++ /dev/null
@@ -1,92 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	clientset "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/networking/v1alpha3"
-	fakenetworkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/security/v1alpha3"
-	fakesecurityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake"
-	"k8s.io/apimachinery/pkg/runtime"
-	"k8s.io/apimachinery/pkg/watch"
-	"k8s.io/client-go/discovery"
-	fakediscovery "k8s.io/client-go/discovery/fake"
-	"k8s.io/client-go/testing"
-)
-
-// NewSimpleClientset returns a clientset that will respond with the provided objects.
-// It's backed by a very simple object tracker that processes creates, updates and deletions as-is,
-// without applying any validations and/or defaults. It shouldn't be considered a replacement
-// for a real clientset and is mostly useful in simple unit tests.
-func NewSimpleClientset(objects ...runtime.Object) *Clientset {
-	o := testing.NewObjectTracker(scheme, codecs.UniversalDecoder())
-	for _, obj := range objects {
-		if err := o.Add(obj); err != nil {
-			panic(err)
-		}
-	}
-
-	cs := &Clientset{tracker: o}
-	cs.discovery = &fakediscovery.FakeDiscovery{Fake: &cs.Fake}
-	cs.AddReactor("*", "*", testing.ObjectReaction(o))
-	cs.AddWatchReactor("*", func(action testing.Action) (handled bool, ret watch.Interface, err error) {
-		gvr := action.GetResource()
-		ns := action.GetNamespace()
-		watch, err := o.Watch(gvr, ns)
-		if err != nil {
-			return false, nil, err
-		}
-		return true, watch, nil
-	})
-
-	return cs
-}
-
-// Clientset implements clientset.Interface. Meant to be embedded into a
-// struct to get a default implementation. This makes faking out just the method
-// you want to test easier.
-type Clientset struct {
-	testing.Fake
-	discovery *fakediscovery.FakeDiscovery
-	tracker   testing.ObjectTracker
-}
-
-func (c *Clientset) Discovery() discovery.DiscoveryInterface {
-	return c.discovery
-}
-
-func (c *Clientset) Tracker() testing.ObjectTracker {
-	return c.tracker
-}
-
-var (
-	_ clientset.Interface = &Clientset{}
-	_ testing.FakeClient  = &Clientset{}
-)
-
-// NetworkingV1alpha3 retrieves the NetworkingV1alpha3Client
-func (c *Clientset) NetworkingV1alpha3() networkingv1alpha3.NetworkingV1alpha3Interface {
-	return &fakenetworkingv1alpha3.FakeNetworkingV1alpha3{Fake: &c.Fake}
-}
-
-// SecurityV1alpha3 retrieves the SecurityV1alpha3Client
-func (c *Clientset) SecurityV1alpha3() securityv1alpha3.SecurityV1alpha3Interface {
-	return &fakesecurityv1alpha3.FakeSecurityV1alpha3{Fake: &c.Fake}
-}
diff --git a/client-go/pkg/clientset/versioned/fake/doc.go b/client-go/pkg/clientset/versioned/fake/doc.go
deleted file mode 100644
index 6f3e45fb..00000000
--- a/client-go/pkg/clientset/versioned/fake/doc.go
+++ /dev/null
@@ -1,20 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// This package has the automatically generated fake clientset.
-package fake
diff --git a/client-go/pkg/clientset/versioned/fake/register.gen.go b/client-go/pkg/clientset/versioned/fake/register.gen.go
deleted file mode 100644
index 47141c64..00000000
--- a/client-go/pkg/clientset/versioned/fake/register.gen.go
+++ /dev/null
@@ -1,58 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-	serializer "k8s.io/apimachinery/pkg/runtime/serializer"
-	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
-)
-
-var scheme = runtime.NewScheme()
-var codecs = serializer.NewCodecFactory(scheme)
-
-var localSchemeBuilder = runtime.SchemeBuilder{
-	networkingv1alpha3.AddToScheme,
-	securityv1alpha3.AddToScheme,
-}
-
-// AddToScheme adds all types of this clientset into the given scheme. This allows composition
-// of clientsets, like in:
-//
-//	import (
-//	  "k8s.io/client-go/kubernetes"
-//	  clientsetscheme "k8s.io/client-go/kubernetes/scheme"
-//	  aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
-//	)
-//
-//	kclientset, _ := kubernetes.NewForConfig(c)
-//	_ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
-//
-// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
-// correctly.
-var AddToScheme = localSchemeBuilder.AddToScheme
-
-func init() {
-	v1.AddToGroupVersion(scheme, schema.GroupVersion{Version: "v1"})
-	utilruntime.Must(AddToScheme(scheme))
-}
diff --git a/client-go/pkg/clientset/versioned/scheme/doc.go b/client-go/pkg/clientset/versioned/scheme/doc.go
deleted file mode 100644
index 8931dc53..00000000
--- a/client-go/pkg/clientset/versioned/scheme/doc.go
+++ /dev/null
@@ -1,20 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// This package contains the scheme of the automatically generated clientset.
-package scheme
diff --git a/client-go/pkg/clientset/versioned/scheme/register.gen.go b/client-go/pkg/clientset/versioned/scheme/register.gen.go
deleted file mode 100644
index 7fc68316..00000000
--- a/client-go/pkg/clientset/versioned/scheme/register.gen.go
+++ /dev/null
@@ -1,58 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package scheme
-
-import (
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-	serializer "k8s.io/apimachinery/pkg/runtime/serializer"
-	utilruntime "k8s.io/apimachinery/pkg/util/runtime"
-)
-
-var Scheme = runtime.NewScheme()
-var Codecs = serializer.NewCodecFactory(Scheme)
-var ParameterCodec = runtime.NewParameterCodec(Scheme)
-var localSchemeBuilder = runtime.SchemeBuilder{
-	networkingv1alpha3.AddToScheme,
-	securityv1alpha3.AddToScheme,
-}
-
-// AddToScheme adds all types of this clientset into the given scheme. This allows composition
-// of clientsets, like in:
-//
-//	import (
-//	  "k8s.io/client-go/kubernetes"
-//	  clientsetscheme "k8s.io/client-go/kubernetes/scheme"
-//	  aggregatorclientsetscheme "k8s.io/kube-aggregator/pkg/client/clientset_generated/clientset/scheme"
-//	)
-//
-//	kclientset, _ := kubernetes.NewForConfig(c)
-//	_ = aggregatorclientsetscheme.AddToScheme(clientsetscheme.Scheme)
-//
-// After this, RawExtensions in Kubernetes types will serialize kube-aggregator types
-// correctly.
-var AddToScheme = localSchemeBuilder.AddToScheme
-
-func init() {
-	v1.AddToGroupVersion(Scheme, schema.GroupVersion{Version: "v1"})
-	utilruntime.Must(AddToScheme(Scheme))
-}
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/destinationrule.gen.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/destinationrule.gen.go
deleted file mode 100644
index a9359424..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/destinationrule.gen.go
+++ /dev/null
@@ -1,256 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"context"
-	json "encoding/json"
-	"fmt"
-	"time"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/networking/v1alpha3"
-	scheme "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/scheme"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	rest "k8s.io/client-go/rest"
-)
-
-// DestinationRulesGetter has a method to return a DestinationRuleInterface.
-// A group's client should implement this interface.
-type DestinationRulesGetter interface {
-	DestinationRules(namespace string) DestinationRuleInterface
-}
-
-// DestinationRuleInterface has methods to work with DestinationRule resources.
-type DestinationRuleInterface interface {
-	Create(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.CreateOptions) (*v1alpha3.DestinationRule, error)
-	Update(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.UpdateOptions) (*v1alpha3.DestinationRule, error)
-	UpdateStatus(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.UpdateOptions) (*v1alpha3.DestinationRule, error)
-	Delete(ctx context.Context, name string, opts v1.DeleteOptions) error
-	DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error
-	Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha3.DestinationRule, error)
-	List(ctx context.Context, opts v1.ListOptions) (*v1alpha3.DestinationRuleList, error)
-	Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error)
-	Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.DestinationRule, err error)
-	Apply(ctx context.Context, destinationRule *networkingv1alpha3.DestinationRuleApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.DestinationRule, err error)
-	ApplyStatus(ctx context.Context, destinationRule *networkingv1alpha3.DestinationRuleApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.DestinationRule, err error)
-	DestinationRuleExpansion
-}
-
-// destinationRules implements DestinationRuleInterface
-type destinationRules struct {
-	client rest.Interface
-	ns     string
-}
-
-// newDestinationRules returns a DestinationRules
-func newDestinationRules(c *NetworkingV1alpha3Client, namespace string) *destinationRules {
-	return &destinationRules{
-		client: c.RESTClient(),
-		ns:     namespace,
-	}
-}
-
-// Get takes name of the destinationRule, and returns the corresponding destinationRule object, and an error if there is any.
-func (c *destinationRules) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha3.DestinationRule, err error) {
-	result = &v1alpha3.DestinationRule{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		Name(name).
-		VersionedParams(&options, scheme.ParameterCodec).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// List takes label and field selectors, and returns the list of DestinationRules that match those selectors.
-func (c *destinationRules) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha3.DestinationRuleList, err error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	result = &v1alpha3.DestinationRuleList{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Watch returns a watch.Interface that watches the requested destinationRules.
-func (c *destinationRules) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	opts.Watch = true
-	return c.client.Get().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Watch(ctx)
-}
-
-// Create takes the representation of a destinationRule and creates it.  Returns the server's representation of the destinationRule, and an error, if there is any.
-func (c *destinationRules) Create(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.CreateOptions) (result *v1alpha3.DestinationRule, err error) {
-	result = &v1alpha3.DestinationRule{}
-	err = c.client.Post().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(destinationRule).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Update takes the representation of a destinationRule and updates it. Returns the server's representation of the destinationRule, and an error, if there is any.
-func (c *destinationRules) Update(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.UpdateOptions) (result *v1alpha3.DestinationRule, err error) {
-	result = &v1alpha3.DestinationRule{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		Name(destinationRule.Name).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(destinationRule).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *destinationRules) UpdateStatus(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.UpdateOptions) (result *v1alpha3.DestinationRule, err error) {
-	result = &v1alpha3.DestinationRule{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		Name(destinationRule.Name).
-		SubResource("status").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(destinationRule).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Delete takes name of the destinationRule and deletes it. Returns an error if one occurs.
-func (c *destinationRules) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		Name(name).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *destinationRules) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	var timeout time.Duration
-	if listOpts.TimeoutSeconds != nil {
-		timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second
-	}
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("destinationrules").
-		VersionedParams(&listOpts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// Patch applies the patch and returns the patched destinationRule.
-func (c *destinationRules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.DestinationRule, err error) {
-	result = &v1alpha3.DestinationRule{}
-	err = c.client.Patch(pt).
-		Namespace(c.ns).
-		Resource("destinationrules").
-		Name(name).
-		SubResource(subresources...).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Apply takes the given apply declarative configuration, applies it and returns the applied destinationRule.
-func (c *destinationRules) Apply(ctx context.Context, destinationRule *networkingv1alpha3.DestinationRuleApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.DestinationRule, err error) {
-	if destinationRule == nil {
-		return nil, fmt.Errorf("destinationRule provided to Apply must not be nil")
-	}
-	patchOpts := opts.ToPatchOptions()
-	data, err := json.Marshal(destinationRule)
-	if err != nil {
-		return nil, err
-	}
-	name := destinationRule.Name
-	if name == nil {
-		return nil, fmt.Errorf("destinationRule.Name must be provided to Apply")
-	}
-	result = &v1alpha3.DestinationRule{}
-	err = c.client.Patch(types.ApplyPatchType).
-		Namespace(c.ns).
-		Resource("destinationrules").
-		Name(*name).
-		VersionedParams(&patchOpts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// ApplyStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus().
-func (c *destinationRules) ApplyStatus(ctx context.Context, destinationRule *networkingv1alpha3.DestinationRuleApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.DestinationRule, err error) {
-	if destinationRule == nil {
-		return nil, fmt.Errorf("destinationRule provided to Apply must not be nil")
-	}
-	patchOpts := opts.ToPatchOptions()
-	data, err := json.Marshal(destinationRule)
-	if err != nil {
-		return nil, err
-	}
-
-	name := destinationRule.Name
-	if name == nil {
-		return nil, fmt.Errorf("destinationRule.Name must be provided to Apply")
-	}
-
-	result = &v1alpha3.DestinationRule{}
-	err = c.client.Patch(types.ApplyPatchType).
-		Namespace(c.ns).
-		Resource("destinationrules").
-		Name(*name).
-		SubResource("status").
-		VersionedParams(&patchOpts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/doc.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/doc.go
deleted file mode 100644
index 1697aa54..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/doc.go
+++ /dev/null
@@ -1,20 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// This package has the automatically generated typed clients.
-package v1alpha3
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/doc.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/doc.go
deleted file mode 100644
index cccb459f..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/doc.go
+++ /dev/null
@@ -1,20 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// Package fake has the automatically generated clients.
-package fake
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_destinationrule.gen.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_destinationrule.gen.go
deleted file mode 100644
index cba0c365..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_destinationrule.gen.go
+++ /dev/null
@@ -1,189 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	"context"
-	json "encoding/json"
-	"fmt"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/networking/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	labels "k8s.io/apimachinery/pkg/labels"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	testing "k8s.io/client-go/testing"
-)
-
-// FakeDestinationRules implements DestinationRuleInterface
-type FakeDestinationRules struct {
-	Fake *FakeNetworkingV1alpha3
-	ns   string
-}
-
-var destinationrulesResource = v1alpha3.SchemeGroupVersion.WithResource("destinationrules")
-
-var destinationrulesKind = v1alpha3.SchemeGroupVersion.WithKind("DestinationRule")
-
-// Get takes name of the destinationRule, and returns the corresponding destinationRule object, and an error if there is any.
-func (c *FakeDestinationRules) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha3.DestinationRule, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(destinationrulesResource, c.ns, name), &v1alpha3.DestinationRule{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.DestinationRule), err
-}
-
-// List takes label and field selectors, and returns the list of DestinationRules that match those selectors.
-func (c *FakeDestinationRules) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha3.DestinationRuleList, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewListAction(destinationrulesResource, destinationrulesKind, c.ns, opts), &v1alpha3.DestinationRuleList{})
-
-	if obj == nil {
-		return nil, err
-	}
-
-	label, _, _ := testing.ExtractFromListOptions(opts)
-	if label == nil {
-		label = labels.Everything()
-	}
-	list := &v1alpha3.DestinationRuleList{ListMeta: obj.(*v1alpha3.DestinationRuleList).ListMeta}
-	for _, item := range obj.(*v1alpha3.DestinationRuleList).Items {
-		if label.Matches(labels.Set(item.Labels)) {
-			list.Items = append(list.Items, item)
-		}
-	}
-	return list, err
-}
-
-// Watch returns a watch.Interface that watches the requested destinationRules.
-func (c *FakeDestinationRules) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	return c.Fake.
-		InvokesWatch(testing.NewWatchAction(destinationrulesResource, c.ns, opts))
-
-}
-
-// Create takes the representation of a destinationRule and creates it.  Returns the server's representation of the destinationRule, and an error, if there is any.
-func (c *FakeDestinationRules) Create(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.CreateOptions) (result *v1alpha3.DestinationRule, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(destinationrulesResource, c.ns, destinationRule), &v1alpha3.DestinationRule{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.DestinationRule), err
-}
-
-// Update takes the representation of a destinationRule and updates it. Returns the server's representation of the destinationRule, and an error, if there is any.
-func (c *FakeDestinationRules) Update(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.UpdateOptions) (result *v1alpha3.DestinationRule, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(destinationrulesResource, c.ns, destinationRule), &v1alpha3.DestinationRule{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.DestinationRule), err
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *FakeDestinationRules) UpdateStatus(ctx context.Context, destinationRule *v1alpha3.DestinationRule, opts v1.UpdateOptions) (*v1alpha3.DestinationRule, error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateSubresourceAction(destinationrulesResource, "status", c.ns, destinationRule), &v1alpha3.DestinationRule{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.DestinationRule), err
-}
-
-// Delete takes name of the destinationRule and deletes it. Returns an error if one occurs.
-func (c *FakeDestinationRules) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	_, err := c.Fake.
-		Invokes(testing.NewDeleteActionWithOptions(destinationrulesResource, c.ns, name, opts), &v1alpha3.DestinationRule{})
-
-	return err
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *FakeDestinationRules) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	action := testing.NewDeleteCollectionAction(destinationrulesResource, c.ns, listOpts)
-
-	_, err := c.Fake.Invokes(action, &v1alpha3.DestinationRuleList{})
-	return err
-}
-
-// Patch applies the patch and returns the patched destinationRule.
-func (c *FakeDestinationRules) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.DestinationRule, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(destinationrulesResource, c.ns, name, pt, data, subresources...), &v1alpha3.DestinationRule{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.DestinationRule), err
-}
-
-// Apply takes the given apply declarative configuration, applies it and returns the applied destinationRule.
-func (c *FakeDestinationRules) Apply(ctx context.Context, destinationRule *networkingv1alpha3.DestinationRuleApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.DestinationRule, err error) {
-	if destinationRule == nil {
-		return nil, fmt.Errorf("destinationRule provided to Apply must not be nil")
-	}
-	data, err := json.Marshal(destinationRule)
-	if err != nil {
-		return nil, err
-	}
-	name := destinationRule.Name
-	if name == nil {
-		return nil, fmt.Errorf("destinationRule.Name must be provided to Apply")
-	}
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(destinationrulesResource, c.ns, *name, types.ApplyPatchType, data), &v1alpha3.DestinationRule{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.DestinationRule), err
-}
-
-// ApplyStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus().
-func (c *FakeDestinationRules) ApplyStatus(ctx context.Context, destinationRule *networkingv1alpha3.DestinationRuleApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.DestinationRule, err error) {
-	if destinationRule == nil {
-		return nil, fmt.Errorf("destinationRule provided to Apply must not be nil")
-	}
-	data, err := json.Marshal(destinationRule)
-	if err != nil {
-		return nil, err
-	}
-	name := destinationRule.Name
-	if name == nil {
-		return nil, fmt.Errorf("destinationRule.Name must be provided to Apply")
-	}
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(destinationrulesResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1alpha3.DestinationRule{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.DestinationRule), err
-}
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_networking_client.gen.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_networking_client.gen.go
deleted file mode 100644
index b1e9dd91..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_networking_client.gen.go
+++ /dev/null
@@ -1,44 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/networking/v1alpha3"
-	rest "k8s.io/client-go/rest"
-	testing "k8s.io/client-go/testing"
-)
-
-type FakeNetworkingV1alpha3 struct {
-	*testing.Fake
-}
-
-func (c *FakeNetworkingV1alpha3) DestinationRules(namespace string) v1alpha3.DestinationRuleInterface {
-	return &FakeDestinationRules{c, namespace}
-}
-
-func (c *FakeNetworkingV1alpha3) VirtualServices(namespace string) v1alpha3.VirtualServiceInterface {
-	return &FakeVirtualServices{c, namespace}
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *FakeNetworkingV1alpha3) RESTClient() rest.Interface {
-	var ret *rest.RESTClient
-	return ret
-}
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_virtualservice.gen.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_virtualservice.gen.go
deleted file mode 100644
index 532ac7f6..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/fake/fake_virtualservice.gen.go
+++ /dev/null
@@ -1,189 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	"context"
-	json "encoding/json"
-	"fmt"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/networking/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	labels "k8s.io/apimachinery/pkg/labels"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	testing "k8s.io/client-go/testing"
-)
-
-// FakeVirtualServices implements VirtualServiceInterface
-type FakeVirtualServices struct {
-	Fake *FakeNetworkingV1alpha3
-	ns   string
-}
-
-var virtualservicesResource = v1alpha3.SchemeGroupVersion.WithResource("virtualservices")
-
-var virtualservicesKind = v1alpha3.SchemeGroupVersion.WithKind("VirtualService")
-
-// Get takes name of the virtualService, and returns the corresponding virtualService object, and an error if there is any.
-func (c *FakeVirtualServices) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha3.VirtualService, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(virtualservicesResource, c.ns, name), &v1alpha3.VirtualService{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.VirtualService), err
-}
-
-// List takes label and field selectors, and returns the list of VirtualServices that match those selectors.
-func (c *FakeVirtualServices) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha3.VirtualServiceList, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewListAction(virtualservicesResource, virtualservicesKind, c.ns, opts), &v1alpha3.VirtualServiceList{})
-
-	if obj == nil {
-		return nil, err
-	}
-
-	label, _, _ := testing.ExtractFromListOptions(opts)
-	if label == nil {
-		label = labels.Everything()
-	}
-	list := &v1alpha3.VirtualServiceList{ListMeta: obj.(*v1alpha3.VirtualServiceList).ListMeta}
-	for _, item := range obj.(*v1alpha3.VirtualServiceList).Items {
-		if label.Matches(labels.Set(item.Labels)) {
-			list.Items = append(list.Items, item)
-		}
-	}
-	return list, err
-}
-
-// Watch returns a watch.Interface that watches the requested virtualServices.
-func (c *FakeVirtualServices) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	return c.Fake.
-		InvokesWatch(testing.NewWatchAction(virtualservicesResource, c.ns, opts))
-
-}
-
-// Create takes the representation of a virtualService and creates it.  Returns the server's representation of the virtualService, and an error, if there is any.
-func (c *FakeVirtualServices) Create(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.CreateOptions) (result *v1alpha3.VirtualService, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(virtualservicesResource, c.ns, virtualService), &v1alpha3.VirtualService{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.VirtualService), err
-}
-
-// Update takes the representation of a virtualService and updates it. Returns the server's representation of the virtualService, and an error, if there is any.
-func (c *FakeVirtualServices) Update(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.UpdateOptions) (result *v1alpha3.VirtualService, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(virtualservicesResource, c.ns, virtualService), &v1alpha3.VirtualService{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.VirtualService), err
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *FakeVirtualServices) UpdateStatus(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.UpdateOptions) (*v1alpha3.VirtualService, error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateSubresourceAction(virtualservicesResource, "status", c.ns, virtualService), &v1alpha3.VirtualService{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.VirtualService), err
-}
-
-// Delete takes name of the virtualService and deletes it. Returns an error if one occurs.
-func (c *FakeVirtualServices) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	_, err := c.Fake.
-		Invokes(testing.NewDeleteActionWithOptions(virtualservicesResource, c.ns, name, opts), &v1alpha3.VirtualService{})
-
-	return err
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *FakeVirtualServices) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	action := testing.NewDeleteCollectionAction(virtualservicesResource, c.ns, listOpts)
-
-	_, err := c.Fake.Invokes(action, &v1alpha3.VirtualServiceList{})
-	return err
-}
-
-// Patch applies the patch and returns the patched virtualService.
-func (c *FakeVirtualServices) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.VirtualService, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(virtualservicesResource, c.ns, name, pt, data, subresources...), &v1alpha3.VirtualService{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.VirtualService), err
-}
-
-// Apply takes the given apply declarative configuration, applies it and returns the applied virtualService.
-func (c *FakeVirtualServices) Apply(ctx context.Context, virtualService *networkingv1alpha3.VirtualServiceApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.VirtualService, err error) {
-	if virtualService == nil {
-		return nil, fmt.Errorf("virtualService provided to Apply must not be nil")
-	}
-	data, err := json.Marshal(virtualService)
-	if err != nil {
-		return nil, err
-	}
-	name := virtualService.Name
-	if name == nil {
-		return nil, fmt.Errorf("virtualService.Name must be provided to Apply")
-	}
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(virtualservicesResource, c.ns, *name, types.ApplyPatchType, data), &v1alpha3.VirtualService{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.VirtualService), err
-}
-
-// ApplyStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus().
-func (c *FakeVirtualServices) ApplyStatus(ctx context.Context, virtualService *networkingv1alpha3.VirtualServiceApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.VirtualService, err error) {
-	if virtualService == nil {
-		return nil, fmt.Errorf("virtualService provided to Apply must not be nil")
-	}
-	data, err := json.Marshal(virtualService)
-	if err != nil {
-		return nil, err
-	}
-	name := virtualService.Name
-	if name == nil {
-		return nil, fmt.Errorf("virtualService.Name must be provided to Apply")
-	}
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(virtualservicesResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1alpha3.VirtualService{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.VirtualService), err
-}
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/generated_expansion.gen.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/generated_expansion.gen.go
deleted file mode 100644
index c33d4505..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/generated_expansion.gen.go
+++ /dev/null
@@ -1,23 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-type DestinationRuleExpansion interface{}
-
-type VirtualServiceExpansion interface{}
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/networking_client.gen.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/networking_client.gen.go
deleted file mode 100644
index 7f9ae84d..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/networking_client.gen.go
+++ /dev/null
@@ -1,112 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"net/http"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	"github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/scheme"
-	rest "k8s.io/client-go/rest"
-)
-
-type NetworkingV1alpha3Interface interface {
-	RESTClient() rest.Interface
-	DestinationRulesGetter
-	VirtualServicesGetter
-}
-
-// NetworkingV1alpha3Client is used to interact with features provided by the networking.dubbo.apache.org group.
-type NetworkingV1alpha3Client struct {
-	restClient rest.Interface
-}
-
-func (c *NetworkingV1alpha3Client) DestinationRules(namespace string) DestinationRuleInterface {
-	return newDestinationRules(c, namespace)
-}
-
-func (c *NetworkingV1alpha3Client) VirtualServices(namespace string) VirtualServiceInterface {
-	return newVirtualServices(c, namespace)
-}
-
-// NewForConfig creates a new NetworkingV1alpha3Client for the given config.
-// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient),
-// where httpClient was generated with rest.HTTPClientFor(c).
-func NewForConfig(c *rest.Config) (*NetworkingV1alpha3Client, error) {
-	config := *c
-	if err := setConfigDefaults(&config); err != nil {
-		return nil, err
-	}
-	httpClient, err := rest.HTTPClientFor(&config)
-	if err != nil {
-		return nil, err
-	}
-	return NewForConfigAndClient(&config, httpClient)
-}
-
-// NewForConfigAndClient creates a new NetworkingV1alpha3Client for the given config and http client.
-// Note the http client provided takes precedence over the configured transport values.
-func NewForConfigAndClient(c *rest.Config, h *http.Client) (*NetworkingV1alpha3Client, error) {
-	config := *c
-	if err := setConfigDefaults(&config); err != nil {
-		return nil, err
-	}
-	client, err := rest.RESTClientForConfigAndClient(&config, h)
-	if err != nil {
-		return nil, err
-	}
-	return &NetworkingV1alpha3Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new NetworkingV1alpha3Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *NetworkingV1alpha3Client {
-	client, err := NewForConfig(c)
-	if err != nil {
-		panic(err)
-	}
-	return client
-}
-
-// New creates a new NetworkingV1alpha3Client for the given RESTClient.
-func New(c rest.Interface) *NetworkingV1alpha3Client {
-	return &NetworkingV1alpha3Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
-	gv := v1alpha3.SchemeGroupVersion
-	config.GroupVersion = &gv
-	config.APIPath = "/apis"
-	config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
-
-	if config.UserAgent == "" {
-		config.UserAgent = rest.DefaultKubernetesUserAgent()
-	}
-
-	return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *NetworkingV1alpha3Client) RESTClient() rest.Interface {
-	if c == nil {
-		return nil
-	}
-	return c.restClient
-}
diff --git a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/virtualservice.gen.go b/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/virtualservice.gen.go
deleted file mode 100644
index c40251c8..00000000
--- a/client-go/pkg/clientset/versioned/typed/networking/v1alpha3/virtualservice.gen.go
+++ /dev/null
@@ -1,256 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"context"
-	json "encoding/json"
-	"fmt"
-	"time"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/networking/v1alpha3"
-	scheme "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/scheme"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	rest "k8s.io/client-go/rest"
-)
-
-// VirtualServicesGetter has a method to return a VirtualServiceInterface.
-// A group's client should implement this interface.
-type VirtualServicesGetter interface {
-	VirtualServices(namespace string) VirtualServiceInterface
-}
-
-// VirtualServiceInterface has methods to work with VirtualService resources.
-type VirtualServiceInterface interface {
-	Create(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.CreateOptions) (*v1alpha3.VirtualService, error)
-	Update(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.UpdateOptions) (*v1alpha3.VirtualService, error)
-	UpdateStatus(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.UpdateOptions) (*v1alpha3.VirtualService, error)
-	Delete(ctx context.Context, name string, opts v1.DeleteOptions) error
-	DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error
-	Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha3.VirtualService, error)
-	List(ctx context.Context, opts v1.ListOptions) (*v1alpha3.VirtualServiceList, error)
-	Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error)
-	Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.VirtualService, err error)
-	Apply(ctx context.Context, virtualService *networkingv1alpha3.VirtualServiceApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.VirtualService, err error)
-	ApplyStatus(ctx context.Context, virtualService *networkingv1alpha3.VirtualServiceApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.VirtualService, err error)
-	VirtualServiceExpansion
-}
-
-// virtualServices implements VirtualServiceInterface
-type virtualServices struct {
-	client rest.Interface
-	ns     string
-}
-
-// newVirtualServices returns a VirtualServices
-func newVirtualServices(c *NetworkingV1alpha3Client, namespace string) *virtualServices {
-	return &virtualServices{
-		client: c.RESTClient(),
-		ns:     namespace,
-	}
-}
-
-// Get takes name of the virtualService, and returns the corresponding virtualService object, and an error if there is any.
-func (c *virtualServices) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha3.VirtualService, err error) {
-	result = &v1alpha3.VirtualService{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		Name(name).
-		VersionedParams(&options, scheme.ParameterCodec).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// List takes label and field selectors, and returns the list of VirtualServices that match those selectors.
-func (c *virtualServices) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha3.VirtualServiceList, err error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	result = &v1alpha3.VirtualServiceList{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Watch returns a watch.Interface that watches the requested virtualServices.
-func (c *virtualServices) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	opts.Watch = true
-	return c.client.Get().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Watch(ctx)
-}
-
-// Create takes the representation of a virtualService and creates it.  Returns the server's representation of the virtualService, and an error, if there is any.
-func (c *virtualServices) Create(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.CreateOptions) (result *v1alpha3.VirtualService, err error) {
-	result = &v1alpha3.VirtualService{}
-	err = c.client.Post().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(virtualService).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Update takes the representation of a virtualService and updates it. Returns the server's representation of the virtualService, and an error, if there is any.
-func (c *virtualServices) Update(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.UpdateOptions) (result *v1alpha3.VirtualService, err error) {
-	result = &v1alpha3.VirtualService{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		Name(virtualService.Name).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(virtualService).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *virtualServices) UpdateStatus(ctx context.Context, virtualService *v1alpha3.VirtualService, opts v1.UpdateOptions) (result *v1alpha3.VirtualService, err error) {
-	result = &v1alpha3.VirtualService{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		Name(virtualService.Name).
-		SubResource("status").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(virtualService).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Delete takes name of the virtualService and deletes it. Returns an error if one occurs.
-func (c *virtualServices) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		Name(name).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *virtualServices) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	var timeout time.Duration
-	if listOpts.TimeoutSeconds != nil {
-		timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second
-	}
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("virtualservices").
-		VersionedParams(&listOpts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// Patch applies the patch and returns the patched virtualService.
-func (c *virtualServices) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.VirtualService, err error) {
-	result = &v1alpha3.VirtualService{}
-	err = c.client.Patch(pt).
-		Namespace(c.ns).
-		Resource("virtualservices").
-		Name(name).
-		SubResource(subresources...).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Apply takes the given apply declarative configuration, applies it and returns the applied virtualService.
-func (c *virtualServices) Apply(ctx context.Context, virtualService *networkingv1alpha3.VirtualServiceApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.VirtualService, err error) {
-	if virtualService == nil {
-		return nil, fmt.Errorf("virtualService provided to Apply must not be nil")
-	}
-	patchOpts := opts.ToPatchOptions()
-	data, err := json.Marshal(virtualService)
-	if err != nil {
-		return nil, err
-	}
-	name := virtualService.Name
-	if name == nil {
-		return nil, fmt.Errorf("virtualService.Name must be provided to Apply")
-	}
-	result = &v1alpha3.VirtualService{}
-	err = c.client.Patch(types.ApplyPatchType).
-		Namespace(c.ns).
-		Resource("virtualservices").
-		Name(*name).
-		VersionedParams(&patchOpts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// ApplyStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus().
-func (c *virtualServices) ApplyStatus(ctx context.Context, virtualService *networkingv1alpha3.VirtualServiceApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.VirtualService, err error) {
-	if virtualService == nil {
-		return nil, fmt.Errorf("virtualService provided to Apply must not be nil")
-	}
-	patchOpts := opts.ToPatchOptions()
-	data, err := json.Marshal(virtualService)
-	if err != nil {
-		return nil, err
-	}
-
-	name := virtualService.Name
-	if name == nil {
-		return nil, fmt.Errorf("virtualService.Name must be provided to Apply")
-	}
-
-	result = &v1alpha3.VirtualService{}
-	err = c.client.Patch(types.ApplyPatchType).
-		Namespace(c.ns).
-		Resource("virtualservices").
-		Name(*name).
-		SubResource("status").
-		VersionedParams(&patchOpts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
diff --git a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/doc.go b/client-go/pkg/clientset/versioned/typed/security/v1alpha3/doc.go
deleted file mode 100644
index 1697aa54..00000000
--- a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/doc.go
+++ /dev/null
@@ -1,20 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// This package has the automatically generated typed clients.
-package v1alpha3
diff --git a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/doc.go b/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/doc.go
deleted file mode 100644
index cccb459f..00000000
--- a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/doc.go
+++ /dev/null
@@ -1,20 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-// Package fake has the automatically generated clients.
-package fake
diff --git a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/fake_peerauthentication.gen.go b/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/fake_peerauthentication.gen.go
deleted file mode 100644
index fdaf4431..00000000
--- a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/fake_peerauthentication.gen.go
+++ /dev/null
@@ -1,189 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	"context"
-	json "encoding/json"
-	"fmt"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/security/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	labels "k8s.io/apimachinery/pkg/labels"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	testing "k8s.io/client-go/testing"
-)
-
-// FakePeerAuthentications implements PeerAuthenticationInterface
-type FakePeerAuthentications struct {
-	Fake *FakeSecurityV1alpha3
-	ns   string
-}
-
-var peerauthenticationsResource = v1alpha3.SchemeGroupVersion.WithResource("peerauthentications")
-
-var peerauthenticationsKind = v1alpha3.SchemeGroupVersion.WithKind("PeerAuthentication")
-
-// Get takes name of the peerAuthentication, and returns the corresponding peerAuthentication object, and an error if there is any.
-func (c *FakePeerAuthentications) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewGetAction(peerauthenticationsResource, c.ns, name), &v1alpha3.PeerAuthentication{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.PeerAuthentication), err
-}
-
-// List takes label and field selectors, and returns the list of PeerAuthentications that match those selectors.
-func (c *FakePeerAuthentications) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha3.PeerAuthenticationList, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewListAction(peerauthenticationsResource, peerauthenticationsKind, c.ns, opts), &v1alpha3.PeerAuthenticationList{})
-
-	if obj == nil {
-		return nil, err
-	}
-
-	label, _, _ := testing.ExtractFromListOptions(opts)
-	if label == nil {
-		label = labels.Everything()
-	}
-	list := &v1alpha3.PeerAuthenticationList{ListMeta: obj.(*v1alpha3.PeerAuthenticationList).ListMeta}
-	for _, item := range obj.(*v1alpha3.PeerAuthenticationList).Items {
-		if label.Matches(labels.Set(item.Labels)) {
-			list.Items = append(list.Items, item)
-		}
-	}
-	return list, err
-}
-
-// Watch returns a watch.Interface that watches the requested peerAuthentications.
-func (c *FakePeerAuthentications) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	return c.Fake.
-		InvokesWatch(testing.NewWatchAction(peerauthenticationsResource, c.ns, opts))
-
-}
-
-// Create takes the representation of a peerAuthentication and creates it.  Returns the server's representation of the peerAuthentication, and an error, if there is any.
-func (c *FakePeerAuthentications) Create(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.CreateOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewCreateAction(peerauthenticationsResource, c.ns, peerAuthentication), &v1alpha3.PeerAuthentication{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.PeerAuthentication), err
-}
-
-// Update takes the representation of a peerAuthentication and updates it. Returns the server's representation of the peerAuthentication, and an error, if there is any.
-func (c *FakePeerAuthentications) Update(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.UpdateOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateAction(peerauthenticationsResource, c.ns, peerAuthentication), &v1alpha3.PeerAuthentication{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.PeerAuthentication), err
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *FakePeerAuthentications) UpdateStatus(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.UpdateOptions) (*v1alpha3.PeerAuthentication, error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewUpdateSubresourceAction(peerauthenticationsResource, "status", c.ns, peerAuthentication), &v1alpha3.PeerAuthentication{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.PeerAuthentication), err
-}
-
-// Delete takes name of the peerAuthentication and deletes it. Returns an error if one occurs.
-func (c *FakePeerAuthentications) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	_, err := c.Fake.
-		Invokes(testing.NewDeleteActionWithOptions(peerauthenticationsResource, c.ns, name, opts), &v1alpha3.PeerAuthentication{})
-
-	return err
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *FakePeerAuthentications) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	action := testing.NewDeleteCollectionAction(peerauthenticationsResource, c.ns, listOpts)
-
-	_, err := c.Fake.Invokes(action, &v1alpha3.PeerAuthenticationList{})
-	return err
-}
-
-// Patch applies the patch and returns the patched peerAuthentication.
-func (c *FakePeerAuthentications) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.PeerAuthentication, err error) {
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(peerauthenticationsResource, c.ns, name, pt, data, subresources...), &v1alpha3.PeerAuthentication{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.PeerAuthentication), err
-}
-
-// Apply takes the given apply declarative configuration, applies it and returns the applied peerAuthentication.
-func (c *FakePeerAuthentications) Apply(ctx context.Context, peerAuthentication *securityv1alpha3.PeerAuthenticationApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	if peerAuthentication == nil {
-		return nil, fmt.Errorf("peerAuthentication provided to Apply must not be nil")
-	}
-	data, err := json.Marshal(peerAuthentication)
-	if err != nil {
-		return nil, err
-	}
-	name := peerAuthentication.Name
-	if name == nil {
-		return nil, fmt.Errorf("peerAuthentication.Name must be provided to Apply")
-	}
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(peerauthenticationsResource, c.ns, *name, types.ApplyPatchType, data), &v1alpha3.PeerAuthentication{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.PeerAuthentication), err
-}
-
-// ApplyStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus().
-func (c *FakePeerAuthentications) ApplyStatus(ctx context.Context, peerAuthentication *securityv1alpha3.PeerAuthenticationApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	if peerAuthentication == nil {
-		return nil, fmt.Errorf("peerAuthentication provided to Apply must not be nil")
-	}
-	data, err := json.Marshal(peerAuthentication)
-	if err != nil {
-		return nil, err
-	}
-	name := peerAuthentication.Name
-	if name == nil {
-		return nil, fmt.Errorf("peerAuthentication.Name must be provided to Apply")
-	}
-	obj, err := c.Fake.
-		Invokes(testing.NewPatchSubresourceAction(peerauthenticationsResource, c.ns, *name, types.ApplyPatchType, data, "status"), &v1alpha3.PeerAuthentication{})
-
-	if obj == nil {
-		return nil, err
-	}
-	return obj.(*v1alpha3.PeerAuthentication), err
-}
diff --git a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/fake_security_client.gen.go b/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/fake_security_client.gen.go
deleted file mode 100644
index 6486736c..00000000
--- a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/fake/fake_security_client.gen.go
+++ /dev/null
@@ -1,40 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package fake
-
-import (
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/typed/security/v1alpha3"
-	rest "k8s.io/client-go/rest"
-	testing "k8s.io/client-go/testing"
-)
-
-type FakeSecurityV1alpha3 struct {
-	*testing.Fake
-}
-
-func (c *FakeSecurityV1alpha3) PeerAuthentications(namespace string) v1alpha3.PeerAuthenticationInterface {
-	return &FakePeerAuthentications{c, namespace}
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *FakeSecurityV1alpha3) RESTClient() rest.Interface {
-	var ret *rest.RESTClient
-	return ret
-}
diff --git a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/generated_expansion.gen.go b/client-go/pkg/clientset/versioned/typed/security/v1alpha3/generated_expansion.gen.go
deleted file mode 100644
index 0fd2f032..00000000
--- a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/generated_expansion.gen.go
+++ /dev/null
@@ -1,21 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-type PeerAuthenticationExpansion interface{}
diff --git a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/peerauthentication.gen.go b/client-go/pkg/clientset/versioned/typed/security/v1alpha3/peerauthentication.gen.go
deleted file mode 100644
index 69f47077..00000000
--- a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/peerauthentication.gen.go
+++ /dev/null
@@ -1,256 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"context"
-	json "encoding/json"
-	"fmt"
-	"time"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/applyconfiguration/security/v1alpha3"
-	scheme "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/scheme"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	types "k8s.io/apimachinery/pkg/types"
-	watch "k8s.io/apimachinery/pkg/watch"
-	rest "k8s.io/client-go/rest"
-)
-
-// PeerAuthenticationsGetter has a method to return a PeerAuthenticationInterface.
-// A group's client should implement this interface.
-type PeerAuthenticationsGetter interface {
-	PeerAuthentications(namespace string) PeerAuthenticationInterface
-}
-
-// PeerAuthenticationInterface has methods to work with PeerAuthentication resources.
-type PeerAuthenticationInterface interface {
-	Create(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.CreateOptions) (*v1alpha3.PeerAuthentication, error)
-	Update(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.UpdateOptions) (*v1alpha3.PeerAuthentication, error)
-	UpdateStatus(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.UpdateOptions) (*v1alpha3.PeerAuthentication, error)
-	Delete(ctx context.Context, name string, opts v1.DeleteOptions) error
-	DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error
-	Get(ctx context.Context, name string, opts v1.GetOptions) (*v1alpha3.PeerAuthentication, error)
-	List(ctx context.Context, opts v1.ListOptions) (*v1alpha3.PeerAuthenticationList, error)
-	Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error)
-	Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.PeerAuthentication, err error)
-	Apply(ctx context.Context, peerAuthentication *securityv1alpha3.PeerAuthenticationApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.PeerAuthentication, err error)
-	ApplyStatus(ctx context.Context, peerAuthentication *securityv1alpha3.PeerAuthenticationApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.PeerAuthentication, err error)
-	PeerAuthenticationExpansion
-}
-
-// peerAuthentications implements PeerAuthenticationInterface
-type peerAuthentications struct {
-	client rest.Interface
-	ns     string
-}
-
-// newPeerAuthentications returns a PeerAuthentications
-func newPeerAuthentications(c *SecurityV1alpha3Client, namespace string) *peerAuthentications {
-	return &peerAuthentications{
-		client: c.RESTClient(),
-		ns:     namespace,
-	}
-}
-
-// Get takes name of the peerAuthentication, and returns the corresponding peerAuthentication object, and an error if there is any.
-func (c *peerAuthentications) Get(ctx context.Context, name string, options v1.GetOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	result = &v1alpha3.PeerAuthentication{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		Name(name).
-		VersionedParams(&options, scheme.ParameterCodec).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// List takes label and field selectors, and returns the list of PeerAuthentications that match those selectors.
-func (c *peerAuthentications) List(ctx context.Context, opts v1.ListOptions) (result *v1alpha3.PeerAuthenticationList, err error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	result = &v1alpha3.PeerAuthenticationList{}
-	err = c.client.Get().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Watch returns a watch.Interface that watches the requested peerAuthentications.
-func (c *peerAuthentications) Watch(ctx context.Context, opts v1.ListOptions) (watch.Interface, error) {
-	var timeout time.Duration
-	if opts.TimeoutSeconds != nil {
-		timeout = time.Duration(*opts.TimeoutSeconds) * time.Second
-	}
-	opts.Watch = true
-	return c.client.Get().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Watch(ctx)
-}
-
-// Create takes the representation of a peerAuthentication and creates it.  Returns the server's representation of the peerAuthentication, and an error, if there is any.
-func (c *peerAuthentications) Create(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.CreateOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	result = &v1alpha3.PeerAuthentication{}
-	err = c.client.Post().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(peerAuthentication).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Update takes the representation of a peerAuthentication and updates it. Returns the server's representation of the peerAuthentication, and an error, if there is any.
-func (c *peerAuthentications) Update(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.UpdateOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	result = &v1alpha3.PeerAuthentication{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		Name(peerAuthentication.Name).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(peerAuthentication).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// UpdateStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating UpdateStatus().
-func (c *peerAuthentications) UpdateStatus(ctx context.Context, peerAuthentication *v1alpha3.PeerAuthentication, opts v1.UpdateOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	result = &v1alpha3.PeerAuthentication{}
-	err = c.client.Put().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		Name(peerAuthentication.Name).
-		SubResource("status").
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(peerAuthentication).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Delete takes name of the peerAuthentication and deletes it. Returns an error if one occurs.
-func (c *peerAuthentications) Delete(ctx context.Context, name string, opts v1.DeleteOptions) error {
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		Name(name).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// DeleteCollection deletes a collection of objects.
-func (c *peerAuthentications) DeleteCollection(ctx context.Context, opts v1.DeleteOptions, listOpts v1.ListOptions) error {
-	var timeout time.Duration
-	if listOpts.TimeoutSeconds != nil {
-		timeout = time.Duration(*listOpts.TimeoutSeconds) * time.Second
-	}
-	return c.client.Delete().
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		VersionedParams(&listOpts, scheme.ParameterCodec).
-		Timeout(timeout).
-		Body(&opts).
-		Do(ctx).
-		Error()
-}
-
-// Patch applies the patch and returns the patched peerAuthentication.
-func (c *peerAuthentications) Patch(ctx context.Context, name string, pt types.PatchType, data []byte, opts v1.PatchOptions, subresources ...string) (result *v1alpha3.PeerAuthentication, err error) {
-	result = &v1alpha3.PeerAuthentication{}
-	err = c.client.Patch(pt).
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		Name(name).
-		SubResource(subresources...).
-		VersionedParams(&opts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// Apply takes the given apply declarative configuration, applies it and returns the applied peerAuthentication.
-func (c *peerAuthentications) Apply(ctx context.Context, peerAuthentication *securityv1alpha3.PeerAuthenticationApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	if peerAuthentication == nil {
-		return nil, fmt.Errorf("peerAuthentication provided to Apply must not be nil")
-	}
-	patchOpts := opts.ToPatchOptions()
-	data, err := json.Marshal(peerAuthentication)
-	if err != nil {
-		return nil, err
-	}
-	name := peerAuthentication.Name
-	if name == nil {
-		return nil, fmt.Errorf("peerAuthentication.Name must be provided to Apply")
-	}
-	result = &v1alpha3.PeerAuthentication{}
-	err = c.client.Patch(types.ApplyPatchType).
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		Name(*name).
-		VersionedParams(&patchOpts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
-
-// ApplyStatus was generated because the type contains a Status member.
-// Add a +genclient:noStatus comment above the type to avoid generating ApplyStatus().
-func (c *peerAuthentications) ApplyStatus(ctx context.Context, peerAuthentication *securityv1alpha3.PeerAuthenticationApplyConfiguration, opts v1.ApplyOptions) (result *v1alpha3.PeerAuthentication, err error) {
-	if peerAuthentication == nil {
-		return nil, fmt.Errorf("peerAuthentication provided to Apply must not be nil")
-	}
-	patchOpts := opts.ToPatchOptions()
-	data, err := json.Marshal(peerAuthentication)
-	if err != nil {
-		return nil, err
-	}
-
-	name := peerAuthentication.Name
-	if name == nil {
-		return nil, fmt.Errorf("peerAuthentication.Name must be provided to Apply")
-	}
-
-	result = &v1alpha3.PeerAuthentication{}
-	err = c.client.Patch(types.ApplyPatchType).
-		Namespace(c.ns).
-		Resource("peerauthentications").
-		Name(*name).
-		SubResource("status").
-		VersionedParams(&patchOpts, scheme.ParameterCodec).
-		Body(data).
-		Do(ctx).
-		Into(result)
-	return
-}
diff --git a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/security_client.gen.go b/client-go/pkg/clientset/versioned/typed/security/v1alpha3/security_client.gen.go
deleted file mode 100644
index f350f4f0..00000000
--- a/client-go/pkg/clientset/versioned/typed/security/v1alpha3/security_client.gen.go
+++ /dev/null
@@ -1,107 +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.
-
-// Code generated by client-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"net/http"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	"github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned/scheme"
-	rest "k8s.io/client-go/rest"
-)
-
-type SecurityV1alpha3Interface interface {
-	RESTClient() rest.Interface
-	PeerAuthenticationsGetter
-}
-
-// SecurityV1alpha3Client is used to interact with features provided by the security.dubbo.apache.org group.
-type SecurityV1alpha3Client struct {
-	restClient rest.Interface
-}
-
-func (c *SecurityV1alpha3Client) PeerAuthentications(namespace string) PeerAuthenticationInterface {
-	return newPeerAuthentications(c, namespace)
-}
-
-// NewForConfig creates a new SecurityV1alpha3Client for the given config.
-// NewForConfig is equivalent to NewForConfigAndClient(c, httpClient),
-// where httpClient was generated with rest.HTTPClientFor(c).
-func NewForConfig(c *rest.Config) (*SecurityV1alpha3Client, error) {
-	config := *c
-	if err := setConfigDefaults(&config); err != nil {
-		return nil, err
-	}
-	httpClient, err := rest.HTTPClientFor(&config)
-	if err != nil {
-		return nil, err
-	}
-	return NewForConfigAndClient(&config, httpClient)
-}
-
-// NewForConfigAndClient creates a new SecurityV1alpha3Client for the given config and http client.
-// Note the http client provided takes precedence over the configured transport values.
-func NewForConfigAndClient(c *rest.Config, h *http.Client) (*SecurityV1alpha3Client, error) {
-	config := *c
-	if err := setConfigDefaults(&config); err != nil {
-		return nil, err
-	}
-	client, err := rest.RESTClientForConfigAndClient(&config, h)
-	if err != nil {
-		return nil, err
-	}
-	return &SecurityV1alpha3Client{client}, nil
-}
-
-// NewForConfigOrDie creates a new SecurityV1alpha3Client for the given config and
-// panics if there is an error in the config.
-func NewForConfigOrDie(c *rest.Config) *SecurityV1alpha3Client {
-	client, err := NewForConfig(c)
-	if err != nil {
-		panic(err)
-	}
-	return client
-}
-
-// New creates a new SecurityV1alpha3Client for the given RESTClient.
-func New(c rest.Interface) *SecurityV1alpha3Client {
-	return &SecurityV1alpha3Client{c}
-}
-
-func setConfigDefaults(config *rest.Config) error {
-	gv := v1alpha3.SchemeGroupVersion
-	config.GroupVersion = &gv
-	config.APIPath = "/apis"
-	config.NegotiatedSerializer = scheme.Codecs.WithoutConversion()
-
-	if config.UserAgent == "" {
-		config.UserAgent = rest.DefaultKubernetesUserAgent()
-	}
-
-	return nil
-}
-
-// RESTClient returns a RESTClient that is used to communicate
-// with API server by this client implementation.
-func (c *SecurityV1alpha3Client) RESTClient() rest.Interface {
-	if c == nil {
-		return nil
-	}
-	return c.restClient
-}
diff --git a/client-go/pkg/informers/externalversions/factory.gen.go b/client-go/pkg/informers/externalversions/factory.gen.go
deleted file mode 100644
index 216c38a0..00000000
--- a/client-go/pkg/informers/externalversions/factory.gen.go
+++ /dev/null
@@ -1,267 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package externalversions
-
-import (
-	reflect "reflect"
-	sync "sync"
-	time "time"
-
-	versioned "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-	networking "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/networking"
-	security "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/security"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-	cache "k8s.io/client-go/tools/cache"
-)
-
-// SharedInformerOption defines the functional option type for SharedInformerFactory.
-type SharedInformerOption func(*sharedInformerFactory) *sharedInformerFactory
-
-type sharedInformerFactory struct {
-	client           versioned.Interface
-	namespace        string
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-	lock             sync.Mutex
-	defaultResync    time.Duration
-	customResync     map[reflect.Type]time.Duration
-	transform        cache.TransformFunc
-
-	informers map[reflect.Type]cache.SharedIndexInformer
-	// startedInformers is used for tracking which informers have been started.
-	// This allows Start() to be called multiple times safely.
-	startedInformers map[reflect.Type]bool
-	// wg tracks how many goroutines were started.
-	wg sync.WaitGroup
-	// shuttingDown is true when Shutdown has been called. It may still be running
-	// because it needs to wait for goroutines.
-	shuttingDown bool
-}
-
-// WithCustomResyncConfig sets a custom resync period for the specified informer types.
-func WithCustomResyncConfig(resyncConfig map[v1.Object]time.Duration) SharedInformerOption {
-	return func(factory *sharedInformerFactory) *sharedInformerFactory {
-		for k, v := range resyncConfig {
-			factory.customResync[reflect.TypeOf(k)] = v
-		}
-		return factory
-	}
-}
-
-// WithTweakListOptions sets a custom filter on all listers of the configured SharedInformerFactory.
-func WithTweakListOptions(tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerOption {
-	return func(factory *sharedInformerFactory) *sharedInformerFactory {
-		factory.tweakListOptions = tweakListOptions
-		return factory
-	}
-}
-
-// WithNamespace limits the SharedInformerFactory to the specified namespace.
-func WithNamespace(namespace string) SharedInformerOption {
-	return func(factory *sharedInformerFactory) *sharedInformerFactory {
-		factory.namespace = namespace
-		return factory
-	}
-}
-
-// WithTransform sets a transform on all informers.
-func WithTransform(transform cache.TransformFunc) SharedInformerOption {
-	return func(factory *sharedInformerFactory) *sharedInformerFactory {
-		factory.transform = transform
-		return factory
-	}
-}
-
-// NewSharedInformerFactory constructs a new instance of sharedInformerFactory for all namespaces.
-func NewSharedInformerFactory(client versioned.Interface, defaultResync time.Duration) SharedInformerFactory {
-	return NewSharedInformerFactoryWithOptions(client, defaultResync)
-}
-
-// NewFilteredSharedInformerFactory constructs a new instance of sharedInformerFactory.
-// Listers obtained via this SharedInformerFactory will be subject to the same filters
-// as specified here.
-// Deprecated: Please use NewSharedInformerFactoryWithOptions instead
-func NewFilteredSharedInformerFactory(client versioned.Interface, defaultResync time.Duration, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) SharedInformerFactory {
-	return NewSharedInformerFactoryWithOptions(client, defaultResync, WithNamespace(namespace), WithTweakListOptions(tweakListOptions))
-}
-
-// NewSharedInformerFactoryWithOptions constructs a new instance of a SharedInformerFactory with additional options.
-func NewSharedInformerFactoryWithOptions(client versioned.Interface, defaultResync time.Duration, options ...SharedInformerOption) SharedInformerFactory {
-	factory := &sharedInformerFactory{
-		client:           client,
-		namespace:        v1.NamespaceAll,
-		defaultResync:    defaultResync,
-		informers:        make(map[reflect.Type]cache.SharedIndexInformer),
-		startedInformers: make(map[reflect.Type]bool),
-		customResync:     make(map[reflect.Type]time.Duration),
-	}
-
-	// Apply all options
-	for _, opt := range options {
-		factory = opt(factory)
-	}
-
-	return factory
-}
-
-func (f *sharedInformerFactory) Start(stopCh <-chan struct{}) {
-	f.lock.Lock()
-	defer f.lock.Unlock()
-
-	if f.shuttingDown {
-		return
-	}
-
-	for informerType, informer := range f.informers {
-		if !f.startedInformers[informerType] {
-			f.wg.Add(1)
-			// We need a new variable in each loop iteration,
-			// otherwise the goroutine would use the loop variable
-			// and that keeps changing.
-			informer := informer
-			go func() {
-				defer f.wg.Done()
-				informer.Run(stopCh)
-			}()
-			f.startedInformers[informerType] = true
-		}
-	}
-}
-
-func (f *sharedInformerFactory) Shutdown() {
-	f.lock.Lock()
-	f.shuttingDown = true
-	f.lock.Unlock()
-
-	// Will return immediately if there is nothing to wait for.
-	f.wg.Wait()
-}
-
-func (f *sharedInformerFactory) WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool {
-	informers := func() map[reflect.Type]cache.SharedIndexInformer {
-		f.lock.Lock()
-		defer f.lock.Unlock()
-
-		informers := map[reflect.Type]cache.SharedIndexInformer{}
-		for informerType, informer := range f.informers {
-			if f.startedInformers[informerType] {
-				informers[informerType] = informer
-			}
-		}
-		return informers
-	}()
-
-	res := map[reflect.Type]bool{}
-	for informType, informer := range informers {
-		res[informType] = cache.WaitForCacheSync(stopCh, informer.HasSynced)
-	}
-	return res
-}
-
-// InformerFor returns the SharedIndexInformer for obj using an internal
-// client.
-func (f *sharedInformerFactory) InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer {
-	f.lock.Lock()
-	defer f.lock.Unlock()
-
-	informerType := reflect.TypeOf(obj)
-	informer, exists := f.informers[informerType]
-	if exists {
-		return informer
-	}
-
-	resyncPeriod, exists := f.customResync[informerType]
-	if !exists {
-		resyncPeriod = f.defaultResync
-	}
-
-	informer = newFunc(f.client, resyncPeriod)
-	informer.SetTransform(f.transform)
-	f.informers[informerType] = informer
-
-	return informer
-}
-
-// SharedInformerFactory provides shared informers for resources in all known
-// API group versions.
-//
-// It is typically used like this:
-//
-//	ctx, cancel := context.Background()
-//	defer cancel()
-//	factory := NewSharedInformerFactory(client, resyncPeriod)
-//	defer factory.WaitForStop()    // Returns immediately if nothing was started.
-//	genericInformer := factory.ForResource(resource)
-//	typedInformer := factory.SomeAPIGroup().V1().SomeType()
-//	factory.Start(ctx.Done())          // Start processing these informers.
-//	synced := factory.WaitForCacheSync(ctx.Done())
-//	for v, ok := range synced {
-//	    if !ok {
-//	        fmt.Fprintf(os.Stderr, "caches failed to sync: %v", v)
-//	        return
-//	    }
-//	}
-//
-//	// Creating informers can also be created after Start, but then
-//	// Start must be called again:
-//	anotherGenericInformer := factory.ForResource(resource)
-//	factory.Start(ctx.Done())
-type SharedInformerFactory interface {
-	internalinterfaces.SharedInformerFactory
-
-	// Start initializes all requested informers. They are handled in goroutines
-	// which run until the stop channel gets closed.
-	Start(stopCh <-chan struct{})
-
-	// Shutdown marks a factory as shutting down. At that point no new
-	// informers can be started anymore and Start will return without
-	// doing anything.
-	//
-	// In addition, Shutdown blocks until all goroutines have terminated. For that
-	// to happen, the close channel(s) that they were started with must be closed,
-	// either before Shutdown gets called or while it is waiting.
-	//
-	// Shutdown may be called multiple times, even concurrently. All such calls will
-	// block until all goroutines have terminated.
-	Shutdown()
-
-	// WaitForCacheSync blocks until all started informers' caches were synced
-	// or the stop channel gets closed.
-	WaitForCacheSync(stopCh <-chan struct{}) map[reflect.Type]bool
-
-	// ForResource gives generic access to a shared informer of the matching type.
-	ForResource(resource schema.GroupVersionResource) (GenericInformer, error)
-
-	// InformerFor returns the SharedIndexInformer for obj using an internal
-	// client.
-	InformerFor(obj runtime.Object, newFunc internalinterfaces.NewInformerFunc) cache.SharedIndexInformer
-
-	Networking() networking.Interface
-	Security() security.Interface
-}
-
-func (f *sharedInformerFactory) Networking() networking.Interface {
-	return networking.New(f, f.namespace, f.tweakListOptions)
-}
-
-func (f *sharedInformerFactory) Security() security.Interface {
-	return security.New(f, f.namespace, f.tweakListOptions)
-}
diff --git a/client-go/pkg/informers/externalversions/generic.gen.go b/client-go/pkg/informers/externalversions/generic.gen.go
deleted file mode 100644
index 235fbbef..00000000
--- a/client-go/pkg/informers/externalversions/generic.gen.go
+++ /dev/null
@@ -1,69 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package externalversions
-
-import (
-	"fmt"
-
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	schema "k8s.io/apimachinery/pkg/runtime/schema"
-	cache "k8s.io/client-go/tools/cache"
-)
-
-// GenericInformer is type of SharedIndexInformer which will locate and delegate to other
-// sharedInformers based on type
-type GenericInformer interface {
-	Informer() cache.SharedIndexInformer
-	Lister() cache.GenericLister
-}
-
-type genericInformer struct {
-	informer cache.SharedIndexInformer
-	resource schema.GroupResource
-}
-
-// Informer returns the SharedIndexInformer.
-func (f *genericInformer) Informer() cache.SharedIndexInformer {
-	return f.informer
-}
-
-// Lister returns the GenericLister.
-func (f *genericInformer) Lister() cache.GenericLister {
-	return cache.NewGenericLister(f.Informer().GetIndexer(), f.resource)
-}
-
-// ForResource gives generic access to a shared informer of the matching type
-// TODO extend this to unknown resources with a client pool
-func (f *sharedInformerFactory) ForResource(resource schema.GroupVersionResource) (GenericInformer, error) {
-	switch resource {
-	// Group=networking.dubbo.apache.org, Version=v1alpha3
-	case v1alpha3.SchemeGroupVersion.WithResource("destinationrules"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1alpha3().DestinationRules().Informer()}, nil
-	case v1alpha3.SchemeGroupVersion.WithResource("virtualservices"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.Networking().V1alpha3().VirtualServices().Informer()}, nil
-
-		// Group=security.dubbo.apache.org, Version=v1alpha3
-	case securityv1alpha3.SchemeGroupVersion.WithResource("peerauthentications"):
-		return &genericInformer{resource: resource.GroupResource(), informer: f.Security().V1alpha3().PeerAuthentications().Informer()}, nil
-
-	}
-
-	return nil, fmt.Errorf("no informer found for %v", resource)
-}
diff --git a/client-go/pkg/informers/externalversions/internalinterfaces/factory_interfaces.gen.go b/client-go/pkg/informers/externalversions/internalinterfaces/factory_interfaces.gen.go
deleted file mode 100644
index 559e3a22..00000000
--- a/client-go/pkg/informers/externalversions/internalinterfaces/factory_interfaces.gen.go
+++ /dev/null
@@ -1,40 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package internalinterfaces
-
-import (
-	time "time"
-
-	versioned "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	cache "k8s.io/client-go/tools/cache"
-)
-
-// NewInformerFunc takes versioned.Interface and time.Duration to return a SharedIndexInformer.
-type NewInformerFunc func(versioned.Interface, time.Duration) cache.SharedIndexInformer
-
-// SharedInformerFactory a small interface to allow for adding an informer without an import cycle
-type SharedInformerFactory interface {
-	Start(stopCh <-chan struct{})
-	InformerFor(obj runtime.Object, newFunc NewInformerFunc) cache.SharedIndexInformer
-}
-
-// TweakListOptionsFunc is a function that transforms a v1.ListOptions.
-type TweakListOptionsFunc func(*v1.ListOptions)
diff --git a/client-go/pkg/informers/externalversions/networking/interface.gen.go b/client-go/pkg/informers/externalversions/networking/interface.gen.go
deleted file mode 100644
index 097be2c3..00000000
--- a/client-go/pkg/informers/externalversions/networking/interface.gen.go
+++ /dev/null
@@ -1,46 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package networking
-
-import (
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/networking/v1alpha3"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
-	// V1alpha3 provides access to shared informers for resources in V1alpha3.
-	V1alpha3() v1alpha3.Interface
-}
-
-type group struct {
-	factory          internalinterfaces.SharedInformerFactory
-	namespace        string
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
-	return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha3 returns a new v1alpha3.Interface.
-func (g *group) V1alpha3() v1alpha3.Interface {
-	return v1alpha3.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/client-go/pkg/informers/externalversions/networking/v1alpha3/destinationrule.gen.go b/client-go/pkg/informers/externalversions/networking/v1alpha3/destinationrule.gen.go
deleted file mode 100644
index fd494c0d..00000000
--- a/client-go/pkg/informers/externalversions/networking/v1alpha3/destinationrule.gen.go
+++ /dev/null
@@ -1,90 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"context"
-	time "time"
-
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	versioned "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/listers/networking/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	watch "k8s.io/apimachinery/pkg/watch"
-	cache "k8s.io/client-go/tools/cache"
-)
-
-// DestinationRuleInformer provides access to a shared informer and lister for
-// DestinationRules.
-type DestinationRuleInformer interface {
-	Informer() cache.SharedIndexInformer
-	Lister() v1alpha3.DestinationRuleLister
-}
-
-type destinationRuleInformer struct {
-	factory          internalinterfaces.SharedInformerFactory
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-	namespace        string
-}
-
-// NewDestinationRuleInformer constructs a new informer for DestinationRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewDestinationRuleInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
-	return NewFilteredDestinationRuleInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredDestinationRuleInformer constructs a new informer for DestinationRule type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredDestinationRuleInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
-	return cache.NewSharedIndexInformer(
-		&cache.ListWatch{
-			ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.NetworkingV1alpha3().DestinationRules(namespace).List(context.TODO(), options)
-			},
-			WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.NetworkingV1alpha3().DestinationRules(namespace).Watch(context.TODO(), options)
-			},
-		},
-		&networkingv1alpha3.DestinationRule{},
-		resyncPeriod,
-		indexers,
-	)
-}
-
-func (f *destinationRuleInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
-	return NewFilteredDestinationRuleInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *destinationRuleInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&networkingv1alpha3.DestinationRule{}, f.defaultInformer)
-}
-
-func (f *destinationRuleInformer) Lister() v1alpha3.DestinationRuleLister {
-	return v1alpha3.NewDestinationRuleLister(f.Informer().GetIndexer())
-}
diff --git a/client-go/pkg/informers/externalversions/networking/v1alpha3/interface.gen.go b/client-go/pkg/informers/externalversions/networking/v1alpha3/interface.gen.go
deleted file mode 100644
index 7068529f..00000000
--- a/client-go/pkg/informers/externalversions/networking/v1alpha3/interface.gen.go
+++ /dev/null
@@ -1,52 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
-	// DestinationRules returns a DestinationRuleInformer.
-	DestinationRules() DestinationRuleInformer
-	// VirtualServices returns a VirtualServiceInformer.
-	VirtualServices() VirtualServiceInformer
-}
-
-type version struct {
-	factory          internalinterfaces.SharedInformerFactory
-	namespace        string
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
-	return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// DestinationRules returns a DestinationRuleInformer.
-func (v *version) DestinationRules() DestinationRuleInformer {
-	return &destinationRuleInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
-
-// VirtualServices returns a VirtualServiceInformer.
-func (v *version) VirtualServices() VirtualServiceInformer {
-	return &virtualServiceInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/client-go/pkg/informers/externalversions/networking/v1alpha3/virtualservice.gen.go b/client-go/pkg/informers/externalversions/networking/v1alpha3/virtualservice.gen.go
deleted file mode 100644
index 1eb89972..00000000
--- a/client-go/pkg/informers/externalversions/networking/v1alpha3/virtualservice.gen.go
+++ /dev/null
@@ -1,90 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"context"
-	time "time"
-
-	networkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	versioned "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/listers/networking/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	watch "k8s.io/apimachinery/pkg/watch"
-	cache "k8s.io/client-go/tools/cache"
-)
-
-// VirtualServiceInformer provides access to a shared informer and lister for
-// VirtualServices.
-type VirtualServiceInformer interface {
-	Informer() cache.SharedIndexInformer
-	Lister() v1alpha3.VirtualServiceLister
-}
-
-type virtualServiceInformer struct {
-	factory          internalinterfaces.SharedInformerFactory
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-	namespace        string
-}
-
-// NewVirtualServiceInformer constructs a new informer for VirtualService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewVirtualServiceInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
-	return NewFilteredVirtualServiceInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredVirtualServiceInformer constructs a new informer for VirtualService type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredVirtualServiceInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
-	return cache.NewSharedIndexInformer(
-		&cache.ListWatch{
-			ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.NetworkingV1alpha3().VirtualServices(namespace).List(context.TODO(), options)
-			},
-			WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.NetworkingV1alpha3().VirtualServices(namespace).Watch(context.TODO(), options)
-			},
-		},
-		&networkingv1alpha3.VirtualService{},
-		resyncPeriod,
-		indexers,
-	)
-}
-
-func (f *virtualServiceInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
-	return NewFilteredVirtualServiceInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *virtualServiceInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&networkingv1alpha3.VirtualService{}, f.defaultInformer)
-}
-
-func (f *virtualServiceInformer) Lister() v1alpha3.VirtualServiceLister {
-	return v1alpha3.NewVirtualServiceLister(f.Informer().GetIndexer())
-}
diff --git a/client-go/pkg/informers/externalversions/security/interface.gen.go b/client-go/pkg/informers/externalversions/security/interface.gen.go
deleted file mode 100644
index d3c61d75..00000000
--- a/client-go/pkg/informers/externalversions/security/interface.gen.go
+++ /dev/null
@@ -1,46 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package security
-
-import (
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/security/v1alpha3"
-)
-
-// Interface provides access to each of this group's versions.
-type Interface interface {
-	// V1alpha3 provides access to shared informers for resources in V1alpha3.
-	V1alpha3() v1alpha3.Interface
-}
-
-type group struct {
-	factory          internalinterfaces.SharedInformerFactory
-	namespace        string
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
-	return &group{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// V1alpha3 returns a new v1alpha3.Interface.
-func (g *group) V1alpha3() v1alpha3.Interface {
-	return v1alpha3.New(g.factory, g.namespace, g.tweakListOptions)
-}
diff --git a/client-go/pkg/informers/externalversions/security/v1alpha3/interface.gen.go b/client-go/pkg/informers/externalversions/security/v1alpha3/interface.gen.go
deleted file mode 100644
index 530f447f..00000000
--- a/client-go/pkg/informers/externalversions/security/v1alpha3/interface.gen.go
+++ /dev/null
@@ -1,45 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-)
-
-// Interface provides access to all the informers in this group version.
-type Interface interface {
-	// PeerAuthentications returns a PeerAuthenticationInformer.
-	PeerAuthentications() PeerAuthenticationInformer
-}
-
-type version struct {
-	factory          internalinterfaces.SharedInformerFactory
-	namespace        string
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-}
-
-// New returns a new Interface.
-func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
-	return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
-}
-
-// PeerAuthentications returns a PeerAuthenticationInformer.
-func (v *version) PeerAuthentications() PeerAuthenticationInformer {
-	return &peerAuthenticationInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
-}
diff --git a/client-go/pkg/informers/externalversions/security/v1alpha3/peerauthentication.gen.go b/client-go/pkg/informers/externalversions/security/v1alpha3/peerauthentication.gen.go
deleted file mode 100644
index 1d494bc9..00000000
--- a/client-go/pkg/informers/externalversions/security/v1alpha3/peerauthentication.gen.go
+++ /dev/null
@@ -1,90 +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.
-
-// Code generated by informer-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	"context"
-	time "time"
-
-	securityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	versioned "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
-	internalinterfaces "github.com/apache/dubbo-kubernetes/client-go/pkg/informers/externalversions/internalinterfaces"
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/listers/security/v1alpha3"
-	v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
-	runtime "k8s.io/apimachinery/pkg/runtime"
-	watch "k8s.io/apimachinery/pkg/watch"
-	cache "k8s.io/client-go/tools/cache"
-)
-
-// PeerAuthenticationInformer provides access to a shared informer and lister for
-// PeerAuthentications.
-type PeerAuthenticationInformer interface {
-	Informer() cache.SharedIndexInformer
-	Lister() v1alpha3.PeerAuthenticationLister
-}
-
-type peerAuthenticationInformer struct {
-	factory          internalinterfaces.SharedInformerFactory
-	tweakListOptions internalinterfaces.TweakListOptionsFunc
-	namespace        string
-}
-
-// NewPeerAuthenticationInformer constructs a new informer for PeerAuthentication type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewPeerAuthenticationInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers) cache.SharedIndexInformer {
-	return NewFilteredPeerAuthenticationInformer(client, namespace, resyncPeriod, indexers, nil)
-}
-
-// NewFilteredPeerAuthenticationInformer constructs a new informer for PeerAuthentication type.
-// Always prefer using an informer factory to get a shared informer instead of getting an independent
-// one. This reduces memory footprint and number of connections to the server.
-func NewFilteredPeerAuthenticationInformer(client versioned.Interface, namespace string, resyncPeriod time.Duration, indexers cache.Indexers, tweakListOptions internalinterfaces.TweakListOptionsFunc) cache.SharedIndexInformer {
-	return cache.NewSharedIndexInformer(
-		&cache.ListWatch{
-			ListFunc: func(options v1.ListOptions) (runtime.Object, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.SecurityV1alpha3().PeerAuthentications(namespace).List(context.TODO(), options)
-			},
-			WatchFunc: func(options v1.ListOptions) (watch.Interface, error) {
-				if tweakListOptions != nil {
-					tweakListOptions(&options)
-				}
-				return client.SecurityV1alpha3().PeerAuthentications(namespace).Watch(context.TODO(), options)
-			},
-		},
-		&securityv1alpha3.PeerAuthentication{},
-		resyncPeriod,
-		indexers,
-	)
-}
-
-func (f *peerAuthenticationInformer) defaultInformer(client versioned.Interface, resyncPeriod time.Duration) cache.SharedIndexInformer {
-	return NewFilteredPeerAuthenticationInformer(client, f.namespace, resyncPeriod, cache.Indexers{cache.NamespaceIndex: cache.MetaNamespaceIndexFunc}, f.tweakListOptions)
-}
-
-func (f *peerAuthenticationInformer) Informer() cache.SharedIndexInformer {
-	return f.factory.InformerFor(&securityv1alpha3.PeerAuthentication{}, f.defaultInformer)
-}
-
-func (f *peerAuthenticationInformer) Lister() v1alpha3.PeerAuthenticationLister {
-	return v1alpha3.NewPeerAuthenticationLister(f.Informer().GetIndexer())
-}
diff --git a/client-go/pkg/listers/networking/v1alpha3/destinationrule.gen.go b/client-go/pkg/listers/networking/v1alpha3/destinationrule.gen.go
deleted file mode 100644
index 17c5312c..00000000
--- a/client-go/pkg/listers/networking/v1alpha3/destinationrule.gen.go
+++ /dev/null
@@ -1,99 +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.
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	"k8s.io/apimachinery/pkg/api/errors"
-	"k8s.io/apimachinery/pkg/labels"
-	"k8s.io/client-go/tools/cache"
-)
-
-// DestinationRuleLister helps list DestinationRules.
-// All objects returned here must be treated as read-only.
-type DestinationRuleLister interface {
-	// List lists all DestinationRules in the indexer.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha3.DestinationRule, err error)
-	// DestinationRules returns an object that can list and get DestinationRules.
-	DestinationRules(namespace string) DestinationRuleNamespaceLister
-	DestinationRuleListerExpansion
-}
-
-// destinationRuleLister implements the DestinationRuleLister interface.
-type destinationRuleLister struct {
-	indexer cache.Indexer
-}
-
-// NewDestinationRuleLister returns a new DestinationRuleLister.
-func NewDestinationRuleLister(indexer cache.Indexer) DestinationRuleLister {
-	return &destinationRuleLister{indexer: indexer}
-}
-
-// List lists all DestinationRules in the indexer.
-func (s *destinationRuleLister) List(selector labels.Selector) (ret []*v1alpha3.DestinationRule, err error) {
-	err = cache.ListAll(s.indexer, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha3.DestinationRule))
-	})
-	return ret, err
-}
-
-// DestinationRules returns an object that can list and get DestinationRules.
-func (s *destinationRuleLister) DestinationRules(namespace string) DestinationRuleNamespaceLister {
-	return destinationRuleNamespaceLister{indexer: s.indexer, namespace: namespace}
-}
-
-// DestinationRuleNamespaceLister helps list and get DestinationRules.
-// All objects returned here must be treated as read-only.
-type DestinationRuleNamespaceLister interface {
-	// List lists all DestinationRules in the indexer for a given namespace.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha3.DestinationRule, err error)
-	// Get retrieves the DestinationRule from the indexer for a given namespace and name.
-	// Objects returned here must be treated as read-only.
-	Get(name string) (*v1alpha3.DestinationRule, error)
-	DestinationRuleNamespaceListerExpansion
-}
-
-// destinationRuleNamespaceLister implements the DestinationRuleNamespaceLister
-// interface.
-type destinationRuleNamespaceLister struct {
-	indexer   cache.Indexer
-	namespace string
-}
-
-// List lists all DestinationRules in the indexer for a given namespace.
-func (s destinationRuleNamespaceLister) List(selector labels.Selector) (ret []*v1alpha3.DestinationRule, err error) {
-	err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha3.DestinationRule))
-	})
-	return ret, err
-}
-
-// Get retrieves the DestinationRule from the indexer for a given namespace and name.
-func (s destinationRuleNamespaceLister) Get(name string) (*v1alpha3.DestinationRule, error) {
-	obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
-	if err != nil {
-		return nil, err
-	}
-	if !exists {
-		return nil, errors.NewNotFound(v1alpha3.Resource("destinationrule"), name)
-	}
-	return obj.(*v1alpha3.DestinationRule), nil
-}
diff --git a/client-go/pkg/listers/networking/v1alpha3/expansion_generated.gen.go b/client-go/pkg/listers/networking/v1alpha3/expansion_generated.gen.go
deleted file mode 100644
index a531fbe5..00000000
--- a/client-go/pkg/listers/networking/v1alpha3/expansion_generated.gen.go
+++ /dev/null
@@ -1,35 +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.
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1alpha3
-
-// DestinationRuleListerExpansion allows custom methods to be added to
-// DestinationRuleLister.
-type DestinationRuleListerExpansion interface{}
-
-// DestinationRuleNamespaceListerExpansion allows custom methods to be added to
-// DestinationRuleNamespaceLister.
-type DestinationRuleNamespaceListerExpansion interface{}
-
-// VirtualServiceListerExpansion allows custom methods to be added to
-// VirtualServiceLister.
-type VirtualServiceListerExpansion interface{}
-
-// VirtualServiceNamespaceListerExpansion allows custom methods to be added to
-// VirtualServiceNamespaceLister.
-type VirtualServiceNamespaceListerExpansion interface{}
diff --git a/client-go/pkg/listers/networking/v1alpha3/virtualservice.gen.go b/client-go/pkg/listers/networking/v1alpha3/virtualservice.gen.go
deleted file mode 100644
index 05a62c8d..00000000
--- a/client-go/pkg/listers/networking/v1alpha3/virtualservice.gen.go
+++ /dev/null
@@ -1,99 +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.
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	"k8s.io/apimachinery/pkg/api/errors"
-	"k8s.io/apimachinery/pkg/labels"
-	"k8s.io/client-go/tools/cache"
-)
-
-// VirtualServiceLister helps list VirtualServices.
-// All objects returned here must be treated as read-only.
-type VirtualServiceLister interface {
-	// List lists all VirtualServices in the indexer.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha3.VirtualService, err error)
-	// VirtualServices returns an object that can list and get VirtualServices.
-	VirtualServices(namespace string) VirtualServiceNamespaceLister
-	VirtualServiceListerExpansion
-}
-
-// virtualServiceLister implements the VirtualServiceLister interface.
-type virtualServiceLister struct {
-	indexer cache.Indexer
-}
-
-// NewVirtualServiceLister returns a new VirtualServiceLister.
-func NewVirtualServiceLister(indexer cache.Indexer) VirtualServiceLister {
-	return &virtualServiceLister{indexer: indexer}
-}
-
-// List lists all VirtualServices in the indexer.
-func (s *virtualServiceLister) List(selector labels.Selector) (ret []*v1alpha3.VirtualService, err error) {
-	err = cache.ListAll(s.indexer, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha3.VirtualService))
-	})
-	return ret, err
-}
-
-// VirtualServices returns an object that can list and get VirtualServices.
-func (s *virtualServiceLister) VirtualServices(namespace string) VirtualServiceNamespaceLister {
-	return virtualServiceNamespaceLister{indexer: s.indexer, namespace: namespace}
-}
-
-// VirtualServiceNamespaceLister helps list and get VirtualServices.
-// All objects returned here must be treated as read-only.
-type VirtualServiceNamespaceLister interface {
-	// List lists all VirtualServices in the indexer for a given namespace.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha3.VirtualService, err error)
-	// Get retrieves the VirtualService from the indexer for a given namespace and name.
-	// Objects returned here must be treated as read-only.
-	Get(name string) (*v1alpha3.VirtualService, error)
-	VirtualServiceNamespaceListerExpansion
-}
-
-// virtualServiceNamespaceLister implements the VirtualServiceNamespaceLister
-// interface.
-type virtualServiceNamespaceLister struct {
-	indexer   cache.Indexer
-	namespace string
-}
-
-// List lists all VirtualServices in the indexer for a given namespace.
-func (s virtualServiceNamespaceLister) List(selector labels.Selector) (ret []*v1alpha3.VirtualService, err error) {
-	err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha3.VirtualService))
-	})
-	return ret, err
-}
-
-// Get retrieves the VirtualService from the indexer for a given namespace and name.
-func (s virtualServiceNamespaceLister) Get(name string) (*v1alpha3.VirtualService, error) {
-	obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
-	if err != nil {
-		return nil, err
-	}
-	if !exists {
-		return nil, errors.NewNotFound(v1alpha3.Resource("virtualservice"), name)
-	}
-	return obj.(*v1alpha3.VirtualService), nil
-}
diff --git a/client-go/pkg/listers/security/v1alpha3/expansion_generated.gen.go b/client-go/pkg/listers/security/v1alpha3/expansion_generated.gen.go
deleted file mode 100644
index d8776e92..00000000
--- a/client-go/pkg/listers/security/v1alpha3/expansion_generated.gen.go
+++ /dev/null
@@ -1,27 +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.
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1alpha3
-
-// PeerAuthenticationListerExpansion allows custom methods to be added to
-// PeerAuthenticationLister.
-type PeerAuthenticationListerExpansion interface{}
-
-// PeerAuthenticationNamespaceListerExpansion allows custom methods to be added to
-// PeerAuthenticationNamespaceLister.
-type PeerAuthenticationNamespaceListerExpansion interface{}
diff --git a/client-go/pkg/listers/security/v1alpha3/peerauthentication.gen.go b/client-go/pkg/listers/security/v1alpha3/peerauthentication.gen.go
deleted file mode 100644
index 72bc5a52..00000000
--- a/client-go/pkg/listers/security/v1alpha3/peerauthentication.gen.go
+++ /dev/null
@@ -1,99 +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.
-
-// Code generated by lister-gen. DO NOT EDIT.
-
-package v1alpha3
-
-import (
-	v1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
-	"k8s.io/apimachinery/pkg/api/errors"
-	"k8s.io/apimachinery/pkg/labels"
-	"k8s.io/client-go/tools/cache"
-)
-
-// PeerAuthenticationLister helps list PeerAuthentications.
-// All objects returned here must be treated as read-only.
-type PeerAuthenticationLister interface {
-	// List lists all PeerAuthentications in the indexer.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha3.PeerAuthentication, err error)
-	// PeerAuthentications returns an object that can list and get PeerAuthentications.
-	PeerAuthentications(namespace string) PeerAuthenticationNamespaceLister
-	PeerAuthenticationListerExpansion
-}
-
-// peerAuthenticationLister implements the PeerAuthenticationLister interface.
-type peerAuthenticationLister struct {
-	indexer cache.Indexer
-}
-
-// NewPeerAuthenticationLister returns a new PeerAuthenticationLister.
-func NewPeerAuthenticationLister(indexer cache.Indexer) PeerAuthenticationLister {
-	return &peerAuthenticationLister{indexer: indexer}
-}
-
-// List lists all PeerAuthentications in the indexer.
-func (s *peerAuthenticationLister) List(selector labels.Selector) (ret []*v1alpha3.PeerAuthentication, err error) {
-	err = cache.ListAll(s.indexer, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha3.PeerAuthentication))
-	})
-	return ret, err
-}
-
-// PeerAuthentications returns an object that can list and get PeerAuthentications.
-func (s *peerAuthenticationLister) PeerAuthentications(namespace string) PeerAuthenticationNamespaceLister {
-	return peerAuthenticationNamespaceLister{indexer: s.indexer, namespace: namespace}
-}
-
-// PeerAuthenticationNamespaceLister helps list and get PeerAuthentications.
-// All objects returned here must be treated as read-only.
-type PeerAuthenticationNamespaceLister interface {
-	// List lists all PeerAuthentications in the indexer for a given namespace.
-	// Objects returned here must be treated as read-only.
-	List(selector labels.Selector) (ret []*v1alpha3.PeerAuthentication, err error)
-	// Get retrieves the PeerAuthentication from the indexer for a given namespace and name.
-	// Objects returned here must be treated as read-only.
-	Get(name string) (*v1alpha3.PeerAuthentication, error)
-	PeerAuthenticationNamespaceListerExpansion
-}
-
-// peerAuthenticationNamespaceLister implements the PeerAuthenticationNamespaceLister
-// interface.
-type peerAuthenticationNamespaceLister struct {
-	indexer   cache.Indexer
-	namespace string
-}
-
-// List lists all PeerAuthentications in the indexer for a given namespace.
-func (s peerAuthenticationNamespaceLister) List(selector labels.Selector) (ret []*v1alpha3.PeerAuthentication, err error) {
-	err = cache.ListAllByNamespace(s.indexer, s.namespace, selector, func(m interface{}) {
-		ret = append(ret, m.(*v1alpha3.PeerAuthentication))
-	})
-	return ret, err
-}
-
-// Get retrieves the PeerAuthentication from the indexer for a given namespace and name.
-func (s peerAuthenticationNamespaceLister) Get(name string) (*v1alpha3.PeerAuthentication, error) {
-	obj, exists, err := s.indexer.GetByKey(s.namespace + "/" + name)
-	if err != nil {
-		return nil, err
-	}
-	if !exists {
-		return nil, errors.NewNotFound(v1alpha3.Resource("peerauthentication"), name)
-	}
-	return obj.(*v1alpha3.PeerAuthentication), nil
-}
diff --git a/dubbod/discovery/pkg/config/kube/crdclient/types.gen.go b/dubbod/discovery/pkg/config/kube/crdclient/types.gen.go
index f0a39dbd..5512a45c 100755
--- a/dubbod/discovery/pkg/config/kube/crdclient/types.gen.go
+++ b/dubbod/discovery/pkg/config/kube/crdclient/types.gen.go
@@ -17,8 +17,8 @@ import (
 	githubcomapachedubbokubernetesapimetav1alpha1 "github.com/kdubbo/api/meta/v1alpha1"
 	githubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/kdubbo/api/networking/v1alpha3"
 	githubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/kdubbo/api/security/v1alpha3"
-	apigithubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	apigithubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
+	apigithubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/kdubbo/client-go/pkg/apis/networking/v1alpha3"
+	apigithubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/kdubbo/client-go/pkg/apis/security/v1alpha3"
 	k8sioapiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1"
 	k8sioapiappsv1 "k8s.io/api/apps/v1"
 	k8sioapiautoscalingv2 "k8s.io/api/autoscaling/v2"
diff --git a/go.mod b/go.mod
index d0176bf5..fb819397 100644
--- a/go.mod
+++ b/go.mod
@@ -56,7 +56,6 @@ require (
 	github.com/hashicorp/golang-lru/v2 v2.0.5
 	github.com/heroku/color v0.0.6
 	github.com/howardjohn/celpp v0.1.0
-	github.com/kdubbo/api v0.0.0-20260322192101-bf9af0bbaf5e
 	github.com/kdubbo/xds-api v0.0.0-20260320064637-6053c9f4bc27
 	github.com/moby/term v0.5.2
 	github.com/ory/viper v1.7.5
@@ -178,6 +177,7 @@ require (
 	github.com/josharian/intern v1.0.0 // indirect
 	github.com/json-iterator/go v1.1.12 // indirect
 	github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
+	github.com/kdubbo/api v0.0.0-20260322192101-bf9af0bbaf5e // indirect
 	github.com/kevinburke/ssh_config v1.2.0 // indirect
 	github.com/klauspost/compress v1.18.0 // indirect
 	github.com/klauspost/pgzip v1.2.6 // indirect
@@ -265,6 +265,7 @@ replace (
 	github.com/docker/distribution => github.com/docker/distribution v2.8.2+incompatible
 	github.com/docker/docker => github.com/docker/docker v23.0.1+incompatible
 	github.com/google/go-containerregistry => github.com/google/go-containerregistry v0.20.2
+	github.com/kdubbo/client-go => ../client-go
 	github.com/moby/buildkit => github.com/moby/buildkit v0.10.6
 	github.com/moby/dockerfile => github.com/moby/dockerfile v1.4.1
 )
diff --git a/pkg/config/schema/kubeclient/common.go b/pkg/config/schema/kubeclient/common.go
index 9e524709..0d745da5 100644
--- a/pkg/config/schema/kubeclient/common.go
+++ b/pkg/config/schema/kubeclient/common.go
@@ -18,7 +18,7 @@ package kubeclient
 
 import (
 	"context"
-	dubboclient "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
+	dubboclient "github.com/kdubbo/client-go/pkg/clientset/versioned"
 	"github.com/apache/dubbo-kubernetes/pkg/config/schema/kubetypes"
 	"github.com/apache/dubbo-kubernetes/pkg/kube/informerfactory"
 	ktypes "github.com/apache/dubbo-kubernetes/pkg/kube/kubetypes"
diff --git a/pkg/config/schema/kubeclient/resources.gen.go b/pkg/config/schema/kubeclient/resources.gen.go
index f4d4f4cb..62b0c259 100755
--- a/pkg/config/schema/kubeclient/resources.gen.go
+++ b/pkg/config/schema/kubeclient/resources.gen.go
@@ -17,8 +17,8 @@ import (
 	ktypes "github.com/apache/dubbo-kubernetes/pkg/kube/kubetypes"
 	"github.com/apache/dubbo-kubernetes/pkg/util/ptr"
 
-	apigithubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	apigithubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
+	apigithubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/kdubbo/client-go/pkg/apis/networking/v1alpha3"
+	apigithubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/kdubbo/client-go/pkg/apis/security/v1alpha3"
 	k8sioapiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1"
 	k8sioapiappsv1 "k8s.io/api/apps/v1"
 	k8sioapiautoscalingv2 "k8s.io/api/autoscaling/v2"
diff --git a/pkg/config/schema/kubetypes/resources.gen.go b/pkg/config/schema/kubetypes/resources.gen.go
index f174615c..32f70c36 100755
--- a/pkg/config/schema/kubetypes/resources.gen.go
+++ b/pkg/config/schema/kubetypes/resources.gen.go
@@ -6,8 +6,8 @@ import (
 	githubcomapachedubbokubernetesapimeshv1alpha1 "github.com/kdubbo/api/mesh/v1alpha1"
 	githubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/kdubbo/api/networking/v1alpha3"
 	githubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/kdubbo/api/security/v1alpha3"
-	apigithubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/networking/v1alpha3"
-	apigithubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/apache/dubbo-kubernetes/client-go/pkg/apis/security/v1alpha3"
+	apigithubcomapachedubbokubernetesapinetworkingv1alpha3 "github.com/kdubbo/client-go/pkg/apis/networking/v1alpha3"
+	apigithubcomapachedubbokubernetesapisecurityv1alpha3 "github.com/kdubbo/client-go/pkg/apis/security/v1alpha3"
 	"github.com/apache/dubbo-kubernetes/pkg/config"
 	"github.com/apache/dubbo-kubernetes/pkg/config/schema/gvk"
 	k8sioapiadmissionregistrationv1 "k8s.io/api/admissionregistration/v1"
diff --git a/pkg/kube/client.go b/pkg/kube/client.go
index c55e030a..102e0caa 100644
--- a/pkg/kube/client.go
+++ b/pkg/kube/client.go
@@ -23,7 +23,7 @@ import (
 	gatewayapiclient "sigs.k8s.io/gateway-api/pkg/client/clientset/versioned"
 	"time"
 
-	dubboclient "github.com/apache/dubbo-kubernetes/client-go/pkg/clientset/versioned"
+	dubboclient "github.com/kdubbo/client-go/pkg/clientset/versioned"
 	"github.com/apache/dubbo-kubernetes/pkg/cluster"
 	"github.com/apache/dubbo-kubernetes/pkg/config"
 	"github.com/apache/dubbo-kubernetes/pkg/config/schema/collections"