chore: rename all v2beta3 to v2 in e2e templates (#1832)

Signed-off-by: Jintao Zhang <zhangjintao9020@gmail.com>
diff --git a/test/e2e/scaffold/upstream_tls.go b/test/e2e/scaffold/upstream_tls.go
index f0edfbe..c6b479d 100644
--- a/test/e2e/scaffold/upstream_tls.go
+++ b/test/e2e/scaffold/upstream_tls.go
@@ -21,7 +21,7 @@
 
 var (
 	_apisixUpstreamsWithMTLSTemplate = `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
diff --git a/test/e2e/suite-annotations/plugin_conifg.go b/test/e2e/suite-annotations/plugin_conifg.go
index 3ea63d1..3f8e740 100644
--- a/test/e2e/suite-annotations/plugin_conifg.go
+++ b/test/e2e/suite-annotations/plugin_conifg.go
@@ -28,7 +28,7 @@
 
 func _createAPC(s *scaffold.Scaffold) {
 	apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
   name: echo-and-cors-apc
diff --git a/test/e2e/suite-chore/config.go b/test/e2e/suite-chore/config.go
index 83bff70..6d7f026 100644
--- a/test/e2e/suite-chore/config.go
+++ b/test/e2e/suite-chore/config.go
@@ -46,7 +46,7 @@
     kubernetes:
       namespace_selector:
       - %s
-      apisix_route_version: "apisix.apache.org/v2beta3"
+      apisix_route_version: "apisix.apache.org/v2"
       watch_endpoint_slices: true
 `
 )
diff --git a/test/e2e/suite-chore/consistency.go b/test/e2e/suite-chore/consistency.go
index 9699d6a..35678da 100644
--- a/test/e2e/suite-chore/consistency.go
+++ b/test/e2e/suite-chore/consistency.go
@@ -28,7 +28,7 @@
 
 var (
 	_routeConfig = `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-chore/endpoints.go b/test/e2e/suite-chore/endpoints.go
index 7c13d5c..2b68e96 100644
--- a/test/e2e/suite-chore/endpoints.go
+++ b/test/e2e/suite-chore/endpoints.go
@@ -30,7 +30,7 @@
 		ginkgo.It("ignore applied only if there is an ApisixRoute referenced", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -56,7 +56,7 @@
 		ginkgo.It("upstream nodes should be reset to empty when Service/Endpoints was deleted", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -85,7 +85,7 @@
 		ginkgo.It("when endpoint is 0, upstream nodes is also 0", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-cluster/apisix_cluster_config.go b/test/e2e/suite-cluster/apisix_cluster_config.go
index 3e763ee..abbb710 100644
--- a/test/e2e/suite-cluster/apisix_cluster_config.go
+++ b/test/e2e/suite-cluster/apisix_cluster_config.go
@@ -42,7 +42,7 @@
 			time.Sleep(3 * time.Second)
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: default
diff --git a/test/e2e/suite-features/healthcheck.go b/test/e2e/suite-features/healthcheck.go
index 0693b43..bb9e628 100644
--- a/test/e2e/suite-features/healthcheck.go
+++ b/test/e2e/suite-features/healthcheck.go
@@ -31,7 +31,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -51,7 +51,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "create ApisixUpstream")
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -88,7 +88,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -113,7 +113,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "create ApisixUpstream")
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-features/remote_addrs_match.go b/test/e2e/suite-features/remote_addrs_match.go
index aa63d43..8fc735d 100644
--- a/test/e2e/suite-features/remote_addrs_match.go
+++ b/test/e2e/suite-features/remote_addrs_match.go
@@ -30,7 +30,7 @@
 		ginkgo.It("sanity", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -60,7 +60,7 @@
 			resp.Body().Contains("404 Route Not Found")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-features/retries.go b/test/e2e/suite-features/retries.go
index 2d5801a..9d45054 100644
--- a/test/e2e/suite-features/retries.go
+++ b/test/e2e/suite-features/retries.go
@@ -29,7 +29,7 @@
 		s := scaffoldFunc()
 
 		routeTpl := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -53,7 +53,7 @@
 			time.Sleep(5 * time.Second)
 
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -77,7 +77,7 @@
 			time.Sleep(5 * time.Second)
 
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -102,7 +102,7 @@
 			time.Sleep(5 * time.Second)
 
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -132,7 +132,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -146,7 +146,7 @@
 			time.Sleep(2 * time.Second)
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-features/route_match_exprs.go b/test/e2e/suite-features/route_match_exprs.go
index 1b5f193..8d7237d 100644
--- a/test/e2e/suite-features/route_match_exprs.go
+++ b/test/e2e/suite-features/route_match_exprs.go
@@ -32,7 +32,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -83,7 +83,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -132,7 +132,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -256,7 +256,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -380,7 +380,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -438,7 +438,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -495,7 +495,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -554,7 +554,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -612,7 +612,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -671,7 +671,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -737,7 +737,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-features/scheme.go b/test/e2e/suite-features/scheme.go
index 271f3cf..df60a73 100644
--- a/test/e2e/suite-features/scheme.go
+++ b/test/e2e/suite-features/scheme.go
@@ -58,7 +58,7 @@
 `)
 			assert.Nil(ginkgo.GinkgoT(), err)
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: grpc-server-service
@@ -68,7 +68,7 @@
       scheme: grpc
 `))
 			err = s.CreateVersionedApisixResource(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: grpc-route
@@ -130,7 +130,7 @@
 			assert.NoError(ginkgo.GinkgoT(), err, "create server cert secret")
 
 			assert.NoError(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: test-backend-service-e2e-test
@@ -139,7 +139,7 @@
 `))
 
 			assert.NoError(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: grpcs-route
diff --git a/test/e2e/suite-features/subset.go b/test/e2e/suite-features/subset.go
index 0bddcb2..bc6ecee 100644
--- a/test/e2e/suite-features/subset.go
+++ b/test/e2e/suite-features/subset.go
@@ -33,7 +33,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.WaitAllHTTPBINPodsAvailable(), "waiting for all httpbin pods ready")
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -67,7 +67,7 @@
 		ginkgo.It("subset with bad labels", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -82,7 +82,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "create ApisixUpstream")
 			time.Sleep(1 * time.Second)
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -119,7 +119,7 @@
 
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -133,7 +133,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "create ApisixUpstream")
 			time.Sleep(1 * time.Second)
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
diff --git a/test/e2e/suite-features/sync-comparison.go b/test/e2e/suite-features/sync-comparison.go
index 28d60d3..d19c5f1 100644
--- a/test/e2e/suite-features/sync-comparison.go
+++ b/test/e2e/suite-features/sync-comparison.go
@@ -33,7 +33,7 @@
 		ginkgo.It("check resource request count", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -54,7 +54,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "checking number of upstreams")
 
 			arStream := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-tcp-route
@@ -80,7 +80,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "create ApisixTls 'a' error")
 
 			ac := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: foo
@@ -107,7 +107,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.CreateResourceFromString(agr), "create ApisixGlobalRule")
 
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: test-apc-1
diff --git a/test/e2e/suite-features/sync-delay.go b/test/e2e/suite-features/sync-delay.go
index 72df622..3fcec34 100644
--- a/test/e2e/suite-features/sync-delay.go
+++ b/test/e2e/suite-features/sync-delay.go
@@ -66,7 +66,7 @@
 		ginkgo.It("check resource request count", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -87,7 +87,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "checking number of upstreams")
 
 			arStream := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-tcp-route
@@ -113,7 +113,7 @@
 			assert.Nil(ginkgo.GinkgoT(), err, "create ApisixTls 'a' error")
 
 			ac := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: foo
@@ -144,7 +144,7 @@
 			}()
 
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: test-apc-1
diff --git a/test/e2e/suite-features/traffic_split.go b/test/e2e/suite-features/traffic_split.go
index c03cef0..66269db 100644
--- a/test/e2e/suite-features/traffic_split.go
+++ b/test/e2e/suite-features/traffic_split.go
@@ -33,7 +33,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			adminSvc, adminPort := s.ApisixAdminServiceAndPort()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -89,7 +89,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			adminSvc, adminPort := s.ApisixAdminServiceAndPort()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-features/websocket.go b/test/e2e/suite-features/websocket.go
index 2117e29..723a86a 100644
--- a/test/e2e/suite-features/websocket.go
+++ b/test/e2e/suite-features/websocket.go
@@ -63,7 +63,7 @@
 			time.Sleep(5 * time.Second)
 
 			ar := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-ingress/suite-ingress-features/compare.go b/test/e2e/suite-ingress/suite-ingress-features/compare.go
index 3fd8482..570e5af 100644
--- a/test/e2e/suite-ingress/suite-ingress-features/compare.go
+++ b/test/e2e/suite-ingress/suite-ingress-features/compare.go
@@ -30,7 +30,7 @@
 		ginkgo.It("Compare and find out the redundant objects in APISIX, and remove them", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
diff --git a/test/e2e/suite-ingress/suite-ingress-features/resourcesync.go b/test/e2e/suite-ingress/suite-ingress-features/resourcesync.go
index ac918a1..142dddd 100644
--- a/test/e2e/suite-ingress/suite-ingress-features/resourcesync.go
+++ b/test/e2e/suite-ingress/suite-ingress-features/resourcesync.go
@@ -33,7 +33,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			au := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
@@ -45,7 +45,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(au))
 
 			apc := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: my-echo
@@ -60,7 +60,7 @@
 
 			// Create ApisixRoute resource
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -84,7 +84,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.EnsureNumApisixUpstreamsCreated(1), "Checking number of upstreams")
 
 			ar2 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route2
diff --git a/test/e2e/suite-ingress/suite-ingress-features/sanity.go b/test/e2e/suite-ingress/suite-ingress-features/sanity.go
index 2d36f77..0920ff1 100644
--- a/test/e2e/suite-ingress/suite-ingress-features/sanity.go
+++ b/test/e2e/suite-ingress/suite-ingress-features/sanity.go
@@ -35,7 +35,7 @@
 		ginkgo.It("/ip should return your ip", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -79,7 +79,7 @@
 		ginkgo.It("double routes work independently", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -192,7 +192,7 @@
 		ginkgo.It("/ip should return your ip", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
diff --git a/test/e2e/suite-ingress/suite-ingress-features/secret.go b/test/e2e/suite-ingress/suite-ingress-features/secret.go
index 44d30b2..55caa83 100644
--- a/test/e2e/suite-ingress/suite-ingress-features/secret.go
+++ b/test/e2e/suite-ingress/suite-ingress-features/secret.go
@@ -31,7 +31,7 @@
 		ginkgo.It("should update SSL if secret referenced by ApisixTls is created later", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -163,7 +163,7 @@
 		ginkgo.It("should update SSL if secret referenced by ApisixTls is updated", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -396,7 +396,7 @@
 		ginkgo.It("should be able to handle a kube style SSL secret", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
diff --git a/test/e2e/suite-ingress/suite-ingress-features/status.go b/test/e2e/suite-ingress/suite-ingress-features/status.go
index aedb461..d8855d0 100644
--- a/test/e2e/suite-ingress/suite-ingress-features/status.go
+++ b/test/e2e/suite-ingress/suite-ingress-features/status.go
@@ -91,7 +91,7 @@
 	ginkgo.It("check the ApisixUpstream status is recorded", func() {
 		backendSvc, _ := s.DefaultHTTPBackend()
 		apisixUpstream := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixUpstream
 metadata:
   name: %s
diff --git a/test/e2e/suite-ingress/suite-ingress-resource/resourcepushing.go b/test/e2e/suite-ingress/suite-ingress-resource/resourcepushing.go
index cfd9e07..0e5b9c9 100644
--- a/test/e2e/suite-ingress/suite-ingress-resource/resourcepushing.go
+++ b/test/e2e/suite-ingress/suite-ingress-resource/resourcepushing.go
@@ -32,7 +32,7 @@
 		ginkgo.It("create and then scale upstream pods to 2 ", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -66,7 +66,7 @@
 		ginkgo.It("create, update, then remove", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -95,7 +95,7 @@
 
 			// update
 			apisixRoute = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -138,7 +138,7 @@
 		ginkgo.It("create, update, remove k8s service, remove ApisixRoute", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -167,7 +167,7 @@
 
 			// update
 			apisixRoute = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -210,7 +210,7 @@
 		ginkgo.It("change route rule name", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -247,7 +247,7 @@
 			s.NewAPISIXClient().GET("/ip").WithHeader("Host", "httpbin.com").Expect().Status(http.StatusOK)
 
 			apisixRoute = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -294,7 +294,7 @@
 		ginkgo.It("same route rule name between two ApisixRoute objects", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -310,7 +310,7 @@
     - serviceName: %s
       servicePort: %d
 ---
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route-2
@@ -346,7 +346,7 @@
 		ginkgo.It("route priority", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -404,7 +404,7 @@
 		ginkgo.It("verify route/upstream/pluginConfig items", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
@@ -461,7 +461,7 @@
 		ginkgo.It("service is referenced by two ApisixRoutes", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			ar1 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route-1
@@ -479,7 +479,7 @@
       servicePort: %d
 `, backendSvc, backendSvcPort[0])
 			ar2 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route-2
@@ -635,7 +635,7 @@
 			}
 
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
diff --git a/test/e2e/suite-ingress/suite-ingress-resource/ssl.go b/test/e2e/suite-ingress/suite-ingress-resource/ssl.go
index bbe2b66..3252e40 100644
--- a/test/e2e/suite-ingress/suite-ingress-resource/ssl.go
+++ b/test/e2e/suite-ingress/suite-ingress-resource/ssl.go
@@ -478,7 +478,7 @@
 			// create route
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-route
diff --git a/test/e2e/suite-ingress/suite-ingress-resource/stream.go b/test/e2e/suite-ingress/suite-ingress-resource/stream.go
index 4ef115c..9c5a09a 100644
--- a/test/e2e/suite-ingress/suite-ingress-resource/stream.go
+++ b/test/e2e/suite-ingress/suite-ingress-resource/stream.go
@@ -30,7 +30,7 @@
 		ginkgo.It("stream tcp proxy", func() {
 			backendSvc, backendSvcPort := s.DefaultHTTPBackend()
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-tcp-route
@@ -113,7 +113,7 @@
 			s.EnsureNumEndpointsReady(ginkgo.GinkgoT(), "coredns", 1)
 
 			apisixRoute := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: httpbin-udp-route
diff --git a/test/e2e/suite-ingress/suite-ingress-resource/upstream_tls.go b/test/e2e/suite-ingress/suite-ingress-resource/upstream_tls.go
index ee5125f..c22e98b 100644
--- a/test/e2e/suite-ingress/suite-ingress-resource/upstream_tls.go
+++ b/test/e2e/suite-ingress/suite-ingress-resource/upstream_tls.go
@@ -46,7 +46,7 @@
 			err = s.NewApisixUpstreamsWithMTLS("test-backend-service-e2e-test", "https", clientSecret)
 			assert.NoError(ginkgo.GinkgoT(), err, "create ApisixUpstreams with client secret")
 			err = s.CreateVersionedApisixResource(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: upstream-is-mtls.httpbin.local
@@ -96,7 +96,7 @@
 			assert.NoError(ginkgo.GinkgoT(), err, "create ApisixUpstreams with client secret")
 
 			assert.NoError(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: grpcs-route
diff --git a/test/e2e/suite-plugins/suite-plugins-authentication/basic.go b/test/e2e/suite-plugins/suite-plugins-authentication/basic.go
index f962c5f..eb399cc 100644
--- a/test/e2e/suite-plugins/suite-plugins-authentication/basic.go
+++ b/test/e2e/suite-plugins/suite-plugins-authentication/basic.go
@@ -47,7 +47,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -131,7 +131,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-authentication/hmac.go b/test/e2e/suite-plugins/suite-plugins-authentication/hmac.go
index 84f27b3..99d1fb2 100644
--- a/test/e2e/suite-plugins/suite-plugins-authentication/hmac.go
+++ b/test/e2e/suite-plugins/suite-plugins-authentication/hmac.go
@@ -31,7 +31,7 @@
 
 		ginkgo.It("ApisixRoute with hmacAuth consumer", func() {
 			ac := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: hmacvalue
@@ -61,7 +61,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -140,7 +140,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.CreateResourceFromString(secret), "creating hmac secret for ApisixConsumer")
 
 			ac := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: hmacvalue
@@ -167,7 +167,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-authentication/jwt.go b/test/e2e/suite-plugins/suite-plugins-authentication/jwt.go
index 12e034f..f6eee81 100644
--- a/test/e2e/suite-plugins/suite-plugins-authentication/jwt.go
+++ b/test/e2e/suite-plugins/suite-plugins-authentication/jwt.go
@@ -31,7 +31,7 @@
 
 		ginkgo.It("ApisixRoute with jwtAuth consumer", func() {
 			ac := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: foo
@@ -55,7 +55,7 @@
 
 			adminSvc, adminPort := s.ApisixAdminServiceAndPort()
 			ar1 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: default
@@ -78,7 +78,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar2 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -136,7 +136,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.CreateResourceFromString(secret), "creating jwtAuth secret for ApisixConsumer")
 
 			ac := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: foo
@@ -160,7 +160,7 @@
 
 			adminSvc, adminPort := s.ApisixAdminServiceAndPort()
 			ar1 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: default
@@ -183,7 +183,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar2 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-authentication/key.go b/test/e2e/suite-plugins/suite-plugins-authentication/key.go
index 4a1e0f8..73a393e 100644
--- a/test/e2e/suite-plugins/suite-plugins-authentication/key.go
+++ b/test/e2e/suite-plugins/suite-plugins-authentication/key.go
@@ -46,7 +46,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -128,7 +128,7 @@
 
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-authentication/wolfrbac.go b/test/e2e/suite-plugins/suite-plugins-authentication/wolfrbac.go
index 7bebf57..2ecab92 100644
--- a/test/e2e/suite-plugins/suite-plugins-authentication/wolfrbac.go
+++ b/test/e2e/suite-plugins/suite-plugins-authentication/wolfrbac.go
@@ -48,7 +48,7 @@
 				wolfSvr, err := getWolfRBACServerURL()
 				assert.Nil(ginkgo.GinkgoT(), err, "checking wolf-server")
 				ac := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: wolf-user
@@ -77,7 +77,7 @@
 				})
 				adminSvc, adminPort := s.ApisixAdminServiceAndPort()
 				ar1 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: default
@@ -100,7 +100,7 @@
 
 				backendSvc, backendPorts := s.DefaultHTTPBackend()
 				ar2 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -175,7 +175,7 @@
 				assert.Nil(ginkgo.GinkgoT(), s.CreateResourceFromString(secret), "creating wolfRBAC secret for ApisixConsumer")
 
 				ac := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixConsumer
 metadata:
   name: wolf-user
@@ -202,7 +202,7 @@
 				})
 				adminSvc, adminPort := s.ApisixAdminServiceAndPort()
 				ar1 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
   name: default
@@ -225,7 +225,7 @@
 
 				backendSvc, backendPorts := s.DefaultHTTPBackend()
 				ar2 := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-general/echo.go b/test/e2e/suite-plugins/suite-plugins-general/echo.go
index 8e0ad56..1400d54 100644
--- a/test/e2e/suite-plugins/suite-plugins-general/echo.go
+++ b/test/e2e/suite-plugins/suite-plugins-general/echo.go
@@ -31,7 +31,7 @@
 		ginkgo.It("insert preface and epilogue", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -78,7 +78,7 @@
 		ginkgo.It("replace body", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -117,7 +117,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -158,7 +158,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -194,7 +194,7 @@
 			resp.Body().Equal("my custom body")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-general/redirect.go b/test/e2e/suite-plugins/suite-plugins-general/redirect.go
index ca2b441..d3e74c5 100644
--- a/test/e2e/suite-plugins/suite-plugins-general/redirect.go
+++ b/test/e2e/suite-plugins/suite-plugins-general/redirect.go
@@ -31,7 +31,7 @@
 		ginkgo.It("http_to_https", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -68,7 +68,7 @@
 		ginkgo.It("redirect to specific uri", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -106,7 +106,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -145,7 +145,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -181,7 +181,7 @@
 			resp.Header("Location").Equal("/ip/ipip")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-other/plugin_config.go b/test/e2e/suite-plugins/suite-plugins-other/plugin_config.go
index ff20339..7118e3e 100644
--- a/test/e2e/suite-plugins/suite-plugins-other/plugin_config.go
+++ b/test/e2e/suite-plugins/suite-plugins-other/plugin_config.go
@@ -31,7 +31,7 @@
 		ginkgo.It("add crd from definition", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: echo-and-cors-apc
@@ -56,7 +56,7 @@
 			time.Sleep(time.Second * 3)
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -102,7 +102,7 @@
 		ginkgo.It("ApisixPluginConfig replace body", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: test-apc-1
@@ -116,7 +116,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(apc))
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -152,7 +152,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: test-apc-1
@@ -166,7 +166,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(apc))
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -204,7 +204,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: test-apc-1
@@ -218,7 +218,7 @@
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(apc))
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -251,7 +251,7 @@
 			resp.Body().Equal("my custom body")
 
 			apc = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: test-apc-1
@@ -280,7 +280,7 @@
 		ginkgo.It("empty config", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
  name: test-apc-1
@@ -291,7 +291,7 @@
 `)
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(apc))
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -331,7 +331,7 @@
 		ginkgo.It("finer granularity config", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
   name: test-apc-1
@@ -349,7 +349,7 @@
 `)
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(apc))
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -405,7 +405,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
   name: test-apc-1
@@ -416,7 +416,7 @@
 `)
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(apc))
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -457,7 +457,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			apc := `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
   name: test-apc-1
@@ -468,7 +468,7 @@
 `
 			assert.Nil(ginkgo.GinkgoT(), s.CreateVersionedApisixResource(apc))
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -506,7 +506,7 @@
 			resp.Body().Contains("origin")
 
 			apc = `
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixPluginConfig
 metadata:
   name: test-apc-1
diff --git a/test/e2e/suite-plugins/suite-plugins-other/serverless.go b/test/e2e/suite-plugins/suite-plugins-other/serverless.go
index d8bb273..6799875 100644
--- a/test/e2e/suite-plugins/suite-plugins-other/serverless.go
+++ b/test/e2e/suite-plugins/suite-plugins-other/serverless.go
@@ -30,7 +30,7 @@
 		ginkgo.It("enable serverless plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -65,7 +65,7 @@
 		ginkgo.It("disable serverless plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-security/consumer-restriction.go b/test/e2e/suite-plugins/suite-plugins-security/consumer-restriction.go
index 05899f0..8db1d86 100644
--- a/test/e2e/suite-plugins/suite-plugins-security/consumer-restriction.go
+++ b/test/e2e/suite-plugins/suite-plugins-security/consumer-restriction.go
@@ -62,7 +62,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -150,7 +150,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-security/cors.go b/test/e2e/suite-plugins/suite-plugins-security/cors.go
index 8b42172..02f5b20 100644
--- a/test/e2e/suite-plugins/suite-plugins-security/cors.go
+++ b/test/e2e/suite-plugins/suite-plugins-security/cors.go
@@ -31,7 +31,7 @@
 		ginkgo.It("empty config", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -71,7 +71,7 @@
 		ginkgo.It("finer granularity config", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -135,7 +135,7 @@
 			ginkgo.Skip("APISIX version priors to 2.5 doesn't contain allow_origins_by_regex in cors plugin")
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -211,7 +211,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -252,7 +252,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -290,7 +290,7 @@
 			resp.Body().Contains("origin")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-security/csrf.go b/test/e2e/suite-plugins/suite-plugins-security/csrf.go
index 291ab03..2364ffd 100644
--- a/test/e2e/suite-plugins/suite-plugins-security/csrf.go
+++ b/test/e2e/suite-plugins/suite-plugins-security/csrf.go
@@ -30,7 +30,7 @@
 		ginkgo.It("prevent csrf", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -90,7 +90,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-security/ip-restriction.go b/test/e2e/suite-plugins/suite-plugins-security/ip-restriction.go
index cc81a41..5b09258 100644
--- a/test/e2e/suite-plugins/suite-plugins-security/ip-restriction.go
+++ b/test/e2e/suite-plugins/suite-plugins-security/ip-restriction.go
@@ -30,7 +30,7 @@
 		ginkgo.It("ip whitelist", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -69,7 +69,7 @@
 				Contains("Your IP address is not allowed")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -110,7 +110,7 @@
 		ginkgo.It("ip blacklist", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -149,7 +149,7 @@
 				Contains("Your IP address is not allowed")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -189,7 +189,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-security/referer-restriction.go b/test/e2e/suite-plugins/suite-plugins-security/referer-restriction.go
index 62b51c8..4c92c1e 100644
--- a/test/e2e/suite-plugins/suite-plugins-security/referer-restriction.go
+++ b/test/e2e/suite-plugins/suite-plugins-security/referer-restriction.go
@@ -30,7 +30,7 @@
 		ginkgo.It("configure a access list", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -97,7 +97,7 @@
 		ginkgo.It("configure a deny access list", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -164,7 +164,7 @@
 		ginkgo.It("customize return message", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -216,7 +216,7 @@
 		ginkgo.It("configure bypass_missing field to true", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -265,7 +265,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-security/uri_blocker.go b/test/e2e/suite-plugins/suite-plugins-security/uri_blocker.go
index bd9f8da..eb07995 100644
--- a/test/e2e/suite-plugins/suite-plugins-security/uri_blocker.go
+++ b/test/e2e/suite-plugins/suite-plugins-security/uri_blocker.go
@@ -31,7 +31,7 @@
 		ginkgo.It("sanity", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -87,7 +87,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -145,7 +145,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -194,7 +194,7 @@
 				Contains("origin")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-traffic/api_breaker.go b/test/e2e/suite-plugins/suite-plugins-traffic/api_breaker.go
index 4079cfb..23d7415 100644
--- a/test/e2e/suite-plugins/suite-plugins-traffic/api_breaker.go
+++ b/test/e2e/suite-plugins/suite-plugins-traffic/api_breaker.go
@@ -31,7 +31,7 @@
 		ginkgo.It("sanity", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -88,7 +88,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-traffic/client-control.go b/test/e2e/suite-plugins/suite-plugins-traffic/client-control.go
index 871e2b2..b1cc3b8 100644
--- a/test/e2e/suite-plugins/suite-plugins-traffic/client-control.go
+++ b/test/e2e/suite-plugins/suite-plugins-traffic/client-control.go
@@ -30,7 +30,7 @@
 		ginkgo.It("Limit requset body size", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -79,7 +79,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-traffic/limit_count.go b/test/e2e/suite-plugins/suite-plugins-traffic/limit_count.go
index 7ece71e..244471b 100644
--- a/test/e2e/suite-plugins/suite-plugins-traffic/limit_count.go
+++ b/test/e2e/suite-plugins/suite-plugins-traffic/limit_count.go
@@ -30,7 +30,7 @@
 		ginkgo.It("localized dimension, limited by remote address", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -87,7 +87,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -140,7 +140,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -188,7 +188,7 @@
 				Status(503)
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-traffic/request-validation.go b/test/e2e/suite-plugins/suite-plugins-traffic/request-validation.go
index 6cc79b5..e7a4ef4 100644
--- a/test/e2e/suite-plugins/suite-plugins-traffic/request-validation.go
+++ b/test/e2e/suite-plugins/suite-plugins-traffic/request-validation.go
@@ -29,7 +29,7 @@
 		ginkgo.It("sanity", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -110,7 +110,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-traffic/request_id.go b/test/e2e/suite-plugins/suite-plugins-traffic/request_id.go
index d1ed787..58b52b2 100644
--- a/test/e2e/suite-plugins/suite-plugins-traffic/request_id.go
+++ b/test/e2e/suite-plugins/suite-plugins-traffic/request_id.go
@@ -30,7 +30,7 @@
 		ginkgo.It("sanity", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -68,7 +68,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -105,7 +105,7 @@
 		ginkgo.It("enable plugin and then delete it", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -140,7 +140,7 @@
 			resp.Body().Contains("origin")
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-transformation/fault_injection.go b/test/e2e/suite-plugins/suite-plugins-transformation/fault_injection.go
index eb1adc2..31bbd0e 100644
--- a/test/e2e/suite-plugins/suite-plugins-transformation/fault_injection.go
+++ b/test/e2e/suite-plugins/suite-plugins-transformation/fault_injection.go
@@ -31,7 +31,7 @@
 		ginkgo.It("inject code and body to abort request", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -77,7 +77,7 @@
 		ginkgo.It("delay request", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -124,7 +124,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -169,7 +169,7 @@
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -204,7 +204,7 @@
 			resp.Status(http.StatusInternalServerError)
 
 			ar = fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-transformation/proxy_rewrite.go b/test/e2e/suite-plugins/suite-plugins-transformation/proxy_rewrite.go
index 089970f..a2bc635 100644
--- a/test/e2e/suite-plugins/suite-plugins-transformation/proxy_rewrite.go
+++ b/test/e2e/suite-plugins/suite-plugins-transformation/proxy_rewrite.go
@@ -30,7 +30,7 @@
 		ginkgo.It("proxy rewrite request uri", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -70,7 +70,7 @@
 		ginkgo.It("proxy rewrite request uri and host", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -112,7 +112,7 @@
 		ginkgo.It("proxy rewrite request regex_uri and headers", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -155,7 +155,7 @@
 		ginkgo.It("the regex_uri of the proxy-rewrite plugin does not match", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -196,7 +196,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
diff --git a/test/e2e/suite-plugins/suite-plugins-transformation/response_rewrite.go b/test/e2e/suite-plugins/suite-plugins-transformation/response_rewrite.go
index b2e55b1..6d1d344 100644
--- a/test/e2e/suite-plugins/suite-plugins-transformation/response_rewrite.go
+++ b/test/e2e/suite-plugins/suite-plugins-transformation/response_rewrite.go
@@ -31,7 +31,7 @@
 		ginkgo.It("rewrite status code and headers", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -71,7 +71,7 @@
 		ginkgo.It("rewrite body", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -110,7 +110,7 @@
 		ginkgo.It("rewrite body in base64", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -149,7 +149,7 @@
 		ginkgo.It("conditional execution", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route
@@ -202,7 +202,7 @@
 		ginkgo.It("disable plugin", func() {
 			backendSvc, backendPorts := s.DefaultHTTPBackend()
 			ar := fmt.Sprintf(`
-apiVersion: apisix.apache.org/v2beta3
+apiVersion: apisix.apache.org/v2
 kind: ApisixRoute
 metadata:
  name: httpbin-route