You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by zh...@apache.org on 2021/10/20 09:44:06 UTC

[apisix-helm-chart] branch master updated: chore: apisix-ingress-controller v1.3 released (#158)

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

zhangjintao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/apisix-helm-chart.git


The following commit(s) were added to refs/heads/master by this push:
     new 52c47c7  chore: apisix-ingress-controller v1.3 released (#158)
52c47c7 is described below

commit 52c47c7d547f7794547c25c87267f92debafb622
Author: Jintao Zhang <zh...@gmail.com>
AuthorDate: Wed Oct 20 17:44:02 2021 +0800

    chore: apisix-ingress-controller v1.3 released (#158)
---
 .github/workflows/ci.yaml                          |    2 +-
 charts/apisix-ingress-controller/Chart.yaml        |    4 +-
 .../crds/customresourcedefinitions.yaml            | 2697 +++++++++++++-------
 charts/apisix-ingress-controller/values.yaml       |    2 +-
 4 files changed, 1847 insertions(+), 858 deletions(-)

diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 702068c..2e0f6ad 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -14,7 +14,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        k8s: [v1.14.10, v1.15.12, v1.16.15, v1.17.17, v1.18.19, v1.19.11, v1.20.7, v1.21.1]
+        k8s: [v1.16.15, v1.17.17, v1.18.19, v1.19.11, v1.20.7, v1.21.1, v1.22.2]
 
     steps:
 
diff --git a/charts/apisix-ingress-controller/Chart.yaml b/charts/apisix-ingress-controller/Chart.yaml
index b6da433..595e6ee 100644
--- a/charts/apisix-ingress-controller/Chart.yaml
+++ b/charts/apisix-ingress-controller/Chart.yaml
@@ -24,8 +24,8 @@ keywords:
   - nginx
   - crd
 type: application
-version: 0.7.0
-appVersion: 1.2.0
+version: 0.8.0
+appVersion: 1.3.0
 
 maintainers:
   - name: tao12345666333
diff --git a/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml b/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml
index 2e6374e..bde3e89 100644
--- a/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml
+++ b/charts/apisix-ingress-controller/crds/customresourcedefinitions.yaml
@@ -14,132 +14,966 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  name: apisixclusterconfigs.apisix.apache.org
+spec:
+  group: apisix.apache.org
+  names:
+    kind: ApisixClusterConfig
+    plural: apisixclusterconfigs
+    shortNames:
+    - acc
+    singular: apisixclusterconfig
+  preserveUnknownFields: false
+  scope: Cluster
+  versions:
+  - name: v2alpha1
+    schema:
+      openAPIV3Schema:
+        properties:
+          spec:
+            properties:
+              admin:
+                properties:
+                  adminKey:
+                    type: string
+                  baseURL:
+                    pattern: https?://[^:]+:(\d+)
+                    type: string
+                required:
+                - baseURL
+                type: object
+              monitoring:
+                properties:
+                  prometheus:
+                    properties:
+                      enable:
+                        type: boolean
+                    type: object
+                  skywalking:
+                    properties:
+                      enable:
+                        type: boolean
+                      sampleRatio:
+                        maximum: 1
+                        minimum: 1e-05
+                        type: number
+                    type: object
+                type: object
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
+kind: CustomResourceDefinition
+metadata:
+  name: apisixconsumers.apisix.apache.org
+spec:
+  group: apisix.apache.org
+  names:
+    kind: ApisixConsumer
+    plural: apisixconsumers
+    shortNames:
+    - ac
+    singular: apisixconsumer
+  preserveUnknownFields: false
+  scope: Namespaced
+  versions:
+  - name: v2alpha1
+    schema:
+      openAPIV3Schema:
+        properties:
+          spec:
+            properties:
+              authParameter:
+                oneOf:
+                - required:
+                  - basicAuth
+                - required:
+                  - keyAuth
+                properties:
+                  basicAuth:
+                    oneOf:
+                    - required:
+                      - value
+                    - required:
+                      - secretRef
+                    properties:
+                      secretRef:
+                        properties:
+                          name:
+                            minLength: 1
+                            type: string
+                        required:
+                        - name
+                        type: object
+                      value:
+                        properties:
+                          password:
+                            minLength: 1
+                            type: string
+                          username:
+                            minLength: 1
+                            type: string
+                        required:
+                        - username
+                        - password
+                        type: object
+                    type: object
+                  keyAuth:
+                    oneOf:
+                    - required:
+                      - value
+                    - required:
+                      - secretRef
+                    properties:
+                      secretRef:
+                        properties:
+                          name:
+                            minLength: 1
+                            type: string
+                        required:
+                        - name
+                        type: object
+                      value:
+                        properties:
+                          key:
+                            minLength: 1
+                            type: string
+                        required:
+                        - key
+                        type: object
+                    type: object
+                type: object
+            required:
+            - authParameter
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}
+---
+apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   name: apisixroutes.apisix.apache.org
 spec:
-  additionalPrinterColumns:
-    - JSONPath: .spec.http[].match.hosts
+  group: apisix.apache.org
+  names:
+    kind: ApisixRoute
+    plural: apisixroutes
+    shortNames:
+    - ar
+    singular: apisixroute
+  scope: Namespaced
+  versions:
+  - additionalPrinterColumns:
+    - jsonPath: .spec.http[].match.hosts
       name: Hosts
-      type: string
       priority: 0
-    - JSONPath: .spec.http[].match.paths
-      name: URIs
       type: string
+    - jsonPath: .spec.http[].match.paths
+      name: URIs
       priority: 0
-    - JSONPath: .spec.http[].backend.serviceName
-      name: Target Service(HTTP)
       type: string
+    - jsonPath: .spec.http[].backend.serviceName
+      name: Target Service(HTTP)
       priority: 1
-    - JSONPath: .spec.tcp[].match.ingressPort
+      type: string
+    - jsonPath: .spec.tcp[].match.ingressPort
       name: Ingress Server Port(TCP)
-      type: integer
       priority: 1
-    - JSONPath: .spec.tcp[].match.backend.serviceName
+      type: integer
+    - jsonPath: .spec.tcp[].match.backend.serviceName
       name: Target Service(TCP)
-      type: string
       priority: 1
-    - JSONPath: .metadata.creationTimestamp
+      type: string
+    - jsonPath: .metadata.creationTimestamp
       name: Age
-      type: date
       priority: 0
-  group: apisix.apache.org
-  versions:
-    - name: v1
-      served: true
-      storage: false
-      deprecated: true
-    - name: v2alpha1
-      served: true
-      storage: false
-    - name: v2beta1
-      served: true
-      storage: true
-  scope: Namespaced
-  names:
-    plural: apisixroutes
-    singular: apisixroute
-    kind: ApisixRoute
-    shortNames:
-      - ar
-  preserveUnknownFields: true # we have to enable it since plugin config
-  subresources:
-    status: {}
-  validation:
-    openAPIV3Schema:
-      type: object
-      properties:
-        spec:
-          type: object
-          anyOf:
-            - required: ["http"]
-            - required: ["tcp"]
-            - required: ["stream"]
-          properties:
-            http:
-              type: array
-              minItems: 1
-              items:
-                type: object
-                oneOf:
-                  - required: ["name", "match", "backend"]
-                  - required: ["name", "match", "backends"]
-                properties:
-                  name:
-                    type: string
-                    minLength: 1
-                  priority:
-                    type: integer
-                  match:
-                    type: object
-                    required:
-                    - paths
-                    properties:
-                      paths:
-                        type: array
-                        minItems: 1
-                        items:
+      type: date
+    deprecated: true
+    name: v1
+    schema:
+      openAPIV3Schema:
+        properties:
+          spec:
+            anyOf:
+            - required:
+              - http
+            - required:
+              - tcp
+            - required:
+              - stream
+            properties:
+              http:
+                items:
+                  oneOf:
+                  - required:
+                    - name
+                    - match
+                    - backend
+                  - required:
+                    - name
+                    - match
+                    - backends
+                  properties:
+                    authentication:
+                      properties:
+                        enable:
+                          type: boolean
+                        keyAuth:
+                          properties:
+                            header:
+                              type: string
+                          type: object
+                        type:
+                          enum:
+                          - basicAuth
+                          - keyAuth
                           type: string
-                          pattern: "^/[a-zA-Z0-9\\-._~%!$&'()+,;=:@/]*\\*?$"
-                      hosts:
-                        type: array
-                        minItems: 1
-                        items:
+                      required:
+                      - enable
+                      type: object
+                    backend:
+                      properties:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
                           type: string
-                          pattern: "^\\*?[0-9a-zA-Z-._]+$"
-                      methods:
-                        type: array
-                        minItems: 1
-                        items:
+                        serviceName:
+                          minLength: 1
                           type: string
-                          enum: ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "PATCH", "POST", "PUT", "TRACE"]
-                      remoteAddrs:
-                        type: array
-                        minItems: 1
-                        items:
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
                           type: string
-                      exprs:
-                        type: array
-                        minItems: 1
-                        items:
-                          type: object
-                          properties:
-                            subject:
-                              type: object
-                              properties:
-                                scope:
-                                  type: string
-                                  enum: ["Cookie", "Header", "Path", "Query"]
-                                name:
+                        weight:
+                          minimum: 0
+                          type: integer
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    backends:
+                      items:
+                        properties:
+                          resolveGranualrity:
+                            enum:
+                            - endpoint
+                            - service
+                            type: string
+                          serviceName:
+                            minLength: 1
+                            type: string
+                          servicePort:
+                            maximum: 65535
+                            minimum: 1
+                            type: integer
+                          subset:
+                            type: string
+                          weight:
+                            minimum: 0
+                            type: integer
+                        type: object
+                      minItems: 1
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: array
+                    match:
+                      properties:
+                        exprs:
+                          items:
+                            oneOf:
+                            - required:
+                              - subject
+                              - op
+                              - value
+                            - required:
+                              - subject
+                              - op
+                              - set
+                            properties:
+                              op:
+                                enum:
+                                - Equal
+                                - NotEqual
+                                - GreaterThan
+                                - LessThan
+                                - In
+                                - NotIn
+                                - RegexMatch
+                                - RegexNotMatch
+                                - RegexMatchCaseInsensitive
+                                - RegexNotMatchCaseInsensitive
+                                type: string
+                              set:
+                                items:
                                   type: string
-                                  minLength: 1
-                              required:
-                              - scope
-                            op:
-                              type: string
-                              enum:
+                                type: array
+                              subject:
+                                properties:
+                                  name:
+                                    minLength: 1
+                                    type: string
+                                  scope:
+                                    enum:
+                                    - Cookie
+                                    - Header
+                                    - Path
+                                    - Query
+                                    type: string
+                                required:
+                                - scope
+                                type: object
+                              value:
+                                type: string
+                            type: object
+                          minItems: 1
+                          type: array
+                        hosts:
+                          items:
+                            pattern: ^\*?[0-9a-zA-Z-._]+$
+                            type: string
+                          minItems: 1
+                          type: array
+                        methods:
+                          items:
+                            enum:
+                            - CONNECT
+                            - DELETE
+                            - GET
+                            - HEAD
+                            - OPTIONS
+                            - PATCH
+                            - POST
+                            - PUT
+                            - TRACE
+                            type: string
+                          minItems: 1
+                          type: array
+                        paths:
+                          items:
+                            pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$
+                            type: string
+                          minItems: 1
+                          type: array
+                        remoteAddrs:
+                          items:
+                            type: string
+                          minItems: 1
+                          type: array
+                      required:
+                      - paths
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    plugins:
+                      items:
+                        properties:
+                          config:
+                            type: object
+                            x-kubernetes-preserve-unknown-fields: true
+                          enable:
+                            type: boolean
+                          name:
+                            minLength: 1
+                            type: string
+                        type: object
+                      required:
+                      - name
+                      - enable
+                      type: array
+                    priority:
+                      type: integer
+                    timeout:
+                      properties:
+                        connect:
+                          type: string
+                        read:
+                          type: string
+                        send:
+                          type: string
+                      type: object
+                    websocket:
+                      type: boolean
+                  type: object
+                minItems: 1
+                type: array
+              stream:
+                items:
+                  properties:
+                    backend:
+                      properties:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
+                          type: string
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    match:
+                      properties:
+                        ingressPort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                      required:
+                      - ingressPort
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    protocol:
+                      enum:
+                      - TCP
+                      - UDP
+                      type: string
+                  required:
+                  - name
+                  - match
+                  - backend
+                  - protocol
+                  type: object
+                minItems: 1
+                type: array
+              tcp:
+                items:
+                  properties:
+                    backend:
+                      properties:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
+                          type: string
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    match:
+                      properties:
+                        ingressPort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                      required:
+                      - ingressPort
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                  required:
+                  - name
+                  - match
+                  - backend
+                  type: object
+                minItems: 1
+                type: array
+            type: object
+        type: object
+    served: false
+    storage: false
+    subresources:
+      status: {}
+  - additionalPrinterColumns:
+    - jsonPath: .spec.http[].match.hosts
+      name: Hosts
+      priority: 0
+      type: string
+    - jsonPath: .spec.http[].match.paths
+      name: URIs
+      priority: 0
+      type: string
+    - jsonPath: .spec.http[].backend.serviceName
+      name: Target Service(HTTP)
+      priority: 1
+      type: string
+    - jsonPath: .spec.tcp[].match.ingressPort
+      name: Ingress Server Port(TCP)
+      priority: 1
+      type: integer
+    - jsonPath: .spec.tcp[].match.backend.serviceName
+      name: Target Service(TCP)
+      priority: 1
+      type: string
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      priority: 0
+      type: date
+    deprecated: true
+    name: v2alpha1
+    schema:
+      openAPIV3Schema:
+        properties:
+          spec:
+            anyOf:
+            - required:
+              - http
+            - required:
+              - tcp
+            - required:
+              - stream
+            properties:
+              http:
+                items:
+                  oneOf:
+                  - required:
+                    - name
+                    - match
+                    - backend
+                  - required:
+                    - name
+                    - match
+                    - backends
+                  properties:
+                    authentication:
+                      properties:
+                        enable:
+                          type: boolean
+                        keyAuth:
+                          properties:
+                            header:
+                              type: string
+                          type: object
+                        type:
+                          enum:
+                          - basicAuth
+                          - keyAuth
+                          type: string
+                      required:
+                      - enable
+                      type: object
+                    backend:
+                      properties:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
+                          type: string
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                        weight:
+                          minimum: 0
+                          type: integer
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    backends:
+                      items:
+                        properties:
+                          resolveGranualrity:
+                            enum:
+                            - endpoint
+                            - service
+                            type: string
+                          serviceName:
+                            minLength: 1
+                            type: string
+                          servicePort:
+                            maximum: 65535
+                            minimum: 1
+                            type: integer
+                          subset:
+                            type: string
+                          weight:
+                            minimum: 0
+                            type: integer
+                        type: object
+                      minItems: 1
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: array
+                    match:
+                      properties:
+                        exprs:
+                          items:
+                            oneOf:
+                            - required:
+                              - subject
+                              - op
+                              - value
+                            - required:
+                              - subject
+                              - op
+                              - set
+                            properties:
+                              op:
+                                enum:
+                                - Equal
+                                - NotEqual
+                                - GreaterThan
+                                - LessThan
+                                - In
+                                - NotIn
+                                - RegexMatch
+                                - RegexNotMatch
+                                - RegexMatchCaseInsensitive
+                                - RegexNotMatchCaseInsensitive
+                                type: string
+                              set:
+                                items:
+                                  type: string
+                                type: array
+                              subject:
+                                properties:
+                                  name:
+                                    minLength: 1
+                                    type: string
+                                  scope:
+                                    enum:
+                                    - Cookie
+                                    - Header
+                                    - Path
+                                    - Query
+                                    type: string
+                                required:
+                                - scope
+                                type: object
+                              value:
+                                type: string
+                            type: object
+                          minItems: 1
+                          type: array
+                        hosts:
+                          items:
+                            pattern: ^\*?[0-9a-zA-Z-._]+$
+                            type: string
+                          minItems: 1
+                          type: array
+                        methods:
+                          items:
+                            enum:
+                            - CONNECT
+                            - DELETE
+                            - GET
+                            - HEAD
+                            - OPTIONS
+                            - PATCH
+                            - POST
+                            - PUT
+                            - TRACE
+                            type: string
+                          minItems: 1
+                          type: array
+                        paths:
+                          items:
+                            pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$
+                            type: string
+                          minItems: 1
+                          type: array
+                        remoteAddrs:
+                          items:
+                            type: string
+                          minItems: 1
+                          type: array
+                      required:
+                      - paths
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    plugins:
+                      items:
+                        properties:
+                          config:
+                            type: object
+                            x-kubernetes-preserve-unknown-fields: true
+                          enable:
+                            type: boolean
+                          name:
+                            minLength: 1
+                            type: string
+                        type: object
+                      required:
+                      - name
+                      - enable
+                      type: array
+                    priority:
+                      type: integer
+                    timeout:
+                      properties:
+                        connect:
+                          type: string
+                        read:
+                          type: string
+                        send:
+                          type: string
+                      type: object
+                    websocket:
+                      type: boolean
+                  type: object
+                minItems: 1
+                type: array
+              stream:
+                items:
+                  properties:
+                    backend:
+                      properties:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
+                          type: string
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    match:
+                      properties:
+                        ingressPort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                      required:
+                      - ingressPort
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    protocol:
+                      enum:
+                      - TCP
+                      - UDP
+                      type: string
+                  required:
+                  - name
+                  - match
+                  - backend
+                  - protocol
+                  type: object
+                minItems: 1
+                type: array
+              tcp:
+                items:
+                  properties:
+                    backend:
+                      properties:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
+                          type: string
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    match:
+                      properties:
+                        ingressPort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                      required:
+                      - ingressPort
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                  required:
+                  - name
+                  - match
+                  - backend
+                  type: object
+                minItems: 1
+                type: array
+            type: object
+        type: object
+    served: true
+    storage: false
+    subresources:
+      status: {}
+  - additionalPrinterColumns:
+    - jsonPath: .spec.http[].match.hosts
+      name: Hosts
+      priority: 0
+      type: string
+    - jsonPath: .spec.http[].match.paths
+      name: URIs
+      priority: 0
+      type: string
+    - jsonPath: .spec.http[].backend.serviceName
+      name: Target Service(HTTP)
+      priority: 1
+      type: string
+    - jsonPath: .spec.tcp[].match.ingressPort
+      name: Ingress Server Port(TCP)
+      priority: 1
+      type: integer
+    - jsonPath: .spec.tcp[].match.backend.serviceName
+      name: Target Service(TCP)
+      priority: 1
+      type: string
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      priority: 0
+      type: date
+    deprecated: true
+    name: v2beta1
+    schema:
+      openAPIV3Schema:
+        properties:
+          spec:
+            anyOf:
+            - required:
+              - http
+            - required:
+              - tcp
+            - required:
+              - stream
+            properties:
+              http:
+                items:
+                  oneOf:
+                  - required:
+                    - name
+                    - match
+                    - backend
+                  - required:
+                    - name
+                    - match
+                    - backends
+                  properties:
+                    authentication:
+                      properties:
+                        enable:
+                          type: boolean
+                        keyAuth:
+                          properties:
+                            header:
+                              type: string
+                          type: object
+                        type:
+                          enum:
+                          - basicAuth
+                          - keyAuth
+                          type: string
+                      required:
+                      - enable
+                      type: object
+                    backend:
+                      properties:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
+                          type: string
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                        weight:
+                          minimum: 0
+                          type: integer
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    backends:
+                      items:
+                        properties:
+                          resolveGranualrity:
+                            enum:
+                            - endpoint
+                            - service
+                            type: string
+                          serviceName:
+                            minLength: 1
+                            type: string
+                          servicePort:
+                            maximum: 65535
+                            minimum: 1
+                            type: integer
+                          subset:
+                            type: string
+                          weight:
+                            minimum: 0
+                            type: integer
+                        type: object
+                      minItems: 1
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: array
+                    match:
+                      properties:
+                        exprs:
+                          items:
+                            oneOf:
+                            - required:
+                              - subject
+                              - op
+                              - value
+                            - required:
+                              - subject
+                              - op
+                              - set
+                            properties:
+                              op:
+                                enum:
                                 - Equal
                                 - NotEqual
                                 - GreaterThan
@@ -150,846 +984,1001 @@ spec:
                                 - RegexNotMatch
                                 - RegexMatchCaseInsensitive
                                 - RegexNotMatchCaseInsensitive
-                            value:
-                              type: string
-                            set:
-                              type: array
-                              items:
                                 type: string
-                          oneOf:
-                            - required: ["subject", "op", "value"]
-                            - required: ["subject", "op", "set"]
-                  websocket:
-                    type: boolean
-                  backend:
-                    type: object
-                    properties:
-                      serviceName:
-                        type: string
-                        minLength: 1
-                      servicePort:
-                        type: integer
-                        minimum: 1
-                        maximum: 65535
-                      resolveGranualrity:
-                        type: string
-                        enum: ["endpoint", "service"]
-                      weight:
-                        type: integer
-                        minimum: 0
-                      subset:
-                        type: string
-                    required:
-                      - serviceName
-                      - servicePort
-                  backends:
-                    type: array
-                    minItems: 1
-                    items:
+                              set:
+                                items:
+                                  type: string
+                                type: array
+                              subject:
+                                properties:
+                                  name:
+                                    minLength: 1
+                                    type: string
+                                  scope:
+                                    enum:
+                                    - Cookie
+                                    - Header
+                                    - Path
+                                    - Query
+                                    type: string
+                                required:
+                                - scope
+                                type: object
+                              value:
+                                type: string
+                            type: object
+                          minItems: 1
+                          type: array
+                        hosts:
+                          items:
+                            pattern: ^\*?[0-9a-zA-Z-._]+$
+                            type: string
+                          minItems: 1
+                          type: array
+                        methods:
+                          items:
+                            enum:
+                            - CONNECT
+                            - DELETE
+                            - GET
+                            - HEAD
+                            - OPTIONS
+                            - PATCH
+                            - POST
+                            - PUT
+                            - TRACE
+                            type: string
+                          minItems: 1
+                          type: array
+                        paths:
+                          items:
+                            pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$
+                            type: string
+                          minItems: 1
+                          type: array
+                        remoteAddrs:
+                          items:
+                            type: string
+                          minItems: 1
+                          type: array
+                      required:
+                      - paths
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    plugins:
+                      items:
+                        properties:
+                          config:
+                            type: object
+                            x-kubernetes-preserve-unknown-fields: true
+                          enable:
+                            type: boolean
+                          name:
+                            minLength: 1
+                            type: string
+                        type: object
+                      required:
+                      - name
+                      - enable
+                      type: array
+                    priority:
+                      type: integer
+                    timeout:
+                      properties:
+                        connect:
+                          type: string
+                        read:
+                          type: string
+                        send:
+                          type: string
                       type: object
+                    websocket:
+                      type: boolean
+                  type: object
+                minItems: 1
+                type: array
+              stream:
+                items:
+                  properties:
+                    backend:
                       properties:
-                        serviceName:
+                        resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
                           type: string
+                        serviceName:
                           minLength: 1
+                          type: string
                         servicePort:
-                          type: integer
+                          maximum: 65535
                           minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: object
+                    match:
+                      properties:
+                        ingressPort:
                           maximum: 65535
+                          minimum: 1
+                          type: integer
+                      required:
+                      - ingressPort
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    protocol:
+                      enum:
+                      - TCP
+                      - UDP
+                      type: string
+                  required:
+                  - name
+                  - match
+                  - backend
+                  - protocol
+                  type: object
+                minItems: 1
+                type: array
+              tcp:
+                items:
+                  properties:
+                    backend:
+                      properties:
                         resolveGranualrity:
+                          enum:
+                          - endpoint
+                          - service
                           type: string
-                          enum: ["endpoint", "service"]
-                        weight:
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
                           type: integer
-                          minimum: 0
                         subset:
                           type: string
-                    required:
+                      required:
                       - serviceName
                       - servicePort
-                  plugins:
-                    type: array
-                    items:
                       type: object
+                    match:
+                      properties:
+                        ingressPort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                      required:
+                      - ingressPort
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                  required:
+                  - name
+                  - match
+                  - backend
+                  type: object
+                minItems: 1
+                type: array
+            type: object
+        type: object
+    served: true
+    storage: false
+    subresources:
+      status: {}
+  - additionalPrinterColumns:
+    - jsonPath: .spec.http[].match.hosts
+      name: Hosts
+      priority: 0
+      type: string
+    - jsonPath: .spec.http[].match.paths
+      name: URIs
+      priority: 0
+      type: string
+    - jsonPath: .spec.http[].backends[].serviceName
+      name: Target Service(HTTP)
+      priority: 1
+      type: string
+    - jsonPath: .spec.tcp[].match.ingressPort
+      name: Ingress Server Port(TCP)
+      priority: 1
+      type: integer
+    - jsonPath: .spec.tcp[].match.backend.serviceName
+      name: Target Service(TCP)
+      priority: 1
+      type: string
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      priority: 0
+      type: date
+    name: v2beta2
+    schema:
+      openAPIV3Schema:
+        properties:
+          spec:
+            anyOf:
+            - required:
+              - http
+            - required:
+              - stream
+            properties:
+              http:
+                items:
+                  properties:
+                    authentication:
                       properties:
-                        name:
-                          type: string
-                          minLength: 1
                         enable:
                           type: boolean
-                        config:
+                        keyAuth:
+                          properties:
+                            header:
+                              type: string
                           type: object
-                    required:
-                      - name
+                        type:
+                          enum:
+                          - basicAuth
+                          - keyAuth
+                          type: string
+                      required:
                       - enable
-                  authentication:
-                    type: object
-                    properties:
-                      enable:
-                        type: boolean
-                      type:
-                        type: string
-                        enum: ["basicAuth", "keyAuth"]
-                      keyAuth:
-                        type: object
+                      type: object
+                    backends:
+                      items:
                         properties:
-                          header:
+                          resolveGranularity:
+                            enum:
+                            - endpoint
+                            - service
                             type: string
-                    required:
-                      - enable
-            tcp:
-              type: array
-              minItems: 1
-              items:
-                type: object
-                required: ["name", "match", "backend"]
-                properties:
-                  name:
-                    type: string
-                    minLength: 1
-                  match:
-                    type: object
-                    properties:
-                      ingressPort:
-                        type: integer
-                        minimum: 1
-                        maximum: 65535
-                    required:
-                      - ingressPort
-                  backend:
-                    type: object
-                    properties:
-                      serviceName:
-                        type: string
-                        minLength: 1
-                      servicePort:
-                        type: integer
-                        minimum: 1
-                        maximum: 65535
-                      resolveGranualrity:
-                        type: string
-                        enum: ["endpoint", "service"]
-                      subset:
-                        type: string
-                    required:
+                          serviceName:
+                            minLength: 1
+                            type: string
+                          servicePort:
+                            maximum: 65535
+                            minimum: 1
+                            type: integer
+                          subset:
+                            type: string
+                          weight:
+                            minimum: 0
+                            type: integer
+                        type: object
+                      minItems: 1
+                      required:
+                      - serviceName
+                      - servicePort
+                      type: array
+                    match:
+                      properties:
+                        exprs:
+                          items:
+                            oneOf:
+                            - required:
+                              - subject
+                              - op
+                              - value
+                            - required:
+                              - subject
+                              - op
+                              - set
+                            properties:
+                              op:
+                                enum:
+                                - Equal
+                                - NotEqual
+                                - GreaterThan
+                                - LessThan
+                                - In
+                                - NotIn
+                                - RegexMatch
+                                - RegexNotMatch
+                                - RegexMatchCaseInsensitive
+                                - RegexNotMatchCaseInsensitive
+                                type: string
+                              set:
+                                items:
+                                  type: string
+                                type: array
+                              subject:
+                                properties:
+                                  name:
+                                    minLength: 1
+                                    type: string
+                                  scope:
+                                    enum:
+                                    - Cookie
+                                    - Header
+                                    - Path
+                                    - Query
+                                    type: string
+                                required:
+                                - scope
+                                type: object
+                              value:
+                                type: string
+                            type: object
+                          minItems: 1
+                          type: array
+                        hosts:
+                          items:
+                            pattern: ^\*?[0-9a-zA-Z-._]+$
+                            type: string
+                          minItems: 1
+                          type: array
+                        methods:
+                          items:
+                            enum:
+                            - CONNECT
+                            - DELETE
+                            - GET
+                            - HEAD
+                            - OPTIONS
+                            - PATCH
+                            - POST
+                            - PUT
+                            - TRACE
+                            type: string
+                          minItems: 1
+                          type: array
+                        paths:
+                          items:
+                            pattern: ^/[a-zA-Z0-9\-._~%!$&'()+,;=:@/]*\*?$
+                            type: string
+                          minItems: 1
+                          type: array
+                        remoteAddrs:
+                          items:
+                            type: string
+                          minItems: 1
+                          type: array
+                      required:
+                      - paths
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    plugins:
+                      items:
+                        properties:
+                          config:
+                            type: object
+                            x-kubernetes-preserve-unknown-fields: true
+                          enable:
+                            type: boolean
+                          name:
+                            minLength: 1
+                            type: string
+                        type: object
+                      required:
+                      - name
+                      - enable
+                      type: array
+                    priority:
+                      type: integer
+                    timeout:
+                      properties:
+                        connect:
+                          type: string
+                        read:
+                          type: string
+                        send:
+                          type: string
+                      type: object
+                    websocket:
+                      type: boolean
+                  required:
+                  - name
+                  - match
+                  - backends
+                  type: object
+                minItems: 1
+                type: array
+              stream:
+                items:
+                  properties:
+                    backend:
+                      properties:
+                        resolveGranularity:
+                          enum:
+                          - endpoint
+                          - service
+                          type: string
+                        serviceName:
+                          minLength: 1
+                          type: string
+                        servicePort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                        subset:
+                          type: string
+                      required:
                       - serviceName
                       - servicePort
-            stream:
-              type: array
-              minItems: 1
-              items:
-                type: object
-                required: [ "name", "match", "backend", "protocol" ]
-                properties:
-                  "protocol":
-                    type: string
-                    enum: [ "TCP", "UDP" ]
-                  name:
-                    type: string
-                    minLength: 1
-                  match:
-                    type: object
-                    properties:
-                      ingressPort:
-                        type: integer
-                        minimum: 1
-                        maximum: 65535
-                    required:
+                      type: object
+                    match:
+                      properties:
+                        ingressPort:
+                          maximum: 65535
+                          minimum: 1
+                          type: integer
+                      required:
                       - ingressPort
-                  backend:
-                    type: object
-                    properties:
-                      serviceName:
-                        type: string
-                        minLength: 1
-                      servicePort:
-                        type: integer
-                        minimum: 1
-                        maximum: 65535
-                      resolveGranualrity:
-                        type: string
-                        enum: [ "endpoint", "service" ]
-                      subset:
-                        type: string
-                    required:
-                      - serviceName
-                      - servicePort
-
+                      type: object
+                    name:
+                      minLength: 1
+                      type: string
+                    protocol:
+                      enum:
+                      - TCP
+                      - UDP
+                      type: string
+                  required:
+                  - name
+                  - match
+                  - backend
+                  - protocol
+                  type: object
+                minItems: 1
+                type: array
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}
 ---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   name: apisixtlses.apisix.apache.org
 spec:
-  additionalPrinterColumns:
-  - JSONPath: .spec.hosts
-    name: SNIs
-    type: string
-  - JSONPath: .spec.secret.name
-    name: Secret Name
-    type: string
-  - JSONPath: .spec.secret.namespace
-    name: Secret Namespace
-    type: string
-  - JSONPath: .metadata.creationTimestamp
-    name: Age
-    type: date
   group: apisix.apache.org
-  versions:
-  - name: v1
-    served: true
-    storage: true
-  scope: Namespaced
   names:
-    plural: apisixtlses
-    singular: apisixtls
     kind: ApisixTls
+    plural: apisixtlses
     shortNames:
     - atls
+    singular: apisixtls
   preserveUnknownFields: false
-  subresources:
-    status: {}
-  validation:
-    openAPIV3Schema:
-      description: ApisixTls defines SSL resource in APISIX.
-      type: object
-      properties:
-        apiVersion:
-          description: 'APIVersion defines the versioned schema of this representation
-            of an object. Servers should convert recognized schemas to the latest
-            internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
-          type: string
-        kind:
-          description: 'Kind is a string value representing the REST resource this
-            object represents. Servers may infer this from the endpoint the client
-            submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
-          type: string
-        metadata:
-          type: object
-        spec:
-          description: ApisixTlsSpec is the specification of ApisixSSL.
-          type: object
-          required:
-          - hosts
-          - secret
-          properties:
-            client:
-              description: ApisixMutualTlsClientConfig describes the mutual TLS CA
-                and verify depth
-              type: object
-              properties:
-                caSecret:
-                  description: ApisixSecret describes the Kubernetes Secret name and
-                    namespace.
-                  type: object
-                  required:
-                  - name
-                  - namespace
-                  properties:
-                    name:
-                      type: string
-                      minLength: 1
-                    namespace:
-                      type: string
-                      minLength: 1
-                depth:
-                  type: integer
-            hosts:
-              type: array
-              minItems: 1
-              items:
-                type: string
-                pattern: ^\*?[0-9a-zA-Z-.]+$
-            secret:
-              description: ApisixSecret describes the Kubernetes Secret name and namespace.
-              type: object
-              required:
-              - name
-              - namespace
-              properties:
-                name:
-                  type: string
-                  minLength: 1
-                namespace:
-                  type: string
-                  minLength: 1
-        status:
-          description: ApisixStatus is the status report for Apisix ingress Resources
-          type: object
-          properties:
-            conditions:
-              type: array
-              items:
-                description: "Condition contains details for one aspect of the current
-                  state of this API Resource. --- This struct is intended for direct
-                  use as an array at the field path .status.conditions.  For example,
-                  type FooStatus struct{     // Represents the observations of a foo's
-                  current state.     // Known .status.conditions.type are: \"Available\",
-                  \"Progressing\", and \"Degraded\"     // +patchMergeKey=type     //
-                  +patchStrategy=merge     // +listType=map     // +listMapKey=type
-                  \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
-                  patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
-                  \n     // other fields }"
-                type: object
-                required:
-                - lastTransitionTime
-                - message
-                - reason
-                - status
-                - type
+  scope: Namespaced
+  versions:
+  - additionalPrinterColumns:
+    - jsonPath: .spec.hosts
+      name: SNIs
+      type: string
+    - jsonPath: .spec.secret.name
+      name: Secret Name
+      type: string
+    - jsonPath: .spec.secret.namespace
+      name: Secret Namespace
+      type: string
+    - jsonPath: .metadata.creationTimestamp
+      name: Age
+      type: date
+    name: v1
+    schema:
+      openAPIV3Schema:
+        description: ApisixTls defines SSL resource in APISIX.
+        properties:
+          apiVersion:
+            description: 'APIVersion defines the versioned schema of this representation
+              of an object. Servers should convert recognized schemas to the latest
+              internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
+            type: string
+          kind:
+            description: 'Kind is a string value representing the REST resource this
+              object represents. Servers may infer this from the endpoint the client
+              submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
+            type: string
+          metadata:
+            type: object
+          spec:
+            description: ApisixTlsSpec is the specification of ApisixSSL.
+            properties:
+              client:
+                description: ApisixMutualTlsClientConfig describes the mutual TLS
+                  CA and verify depth
                 properties:
-                  lastTransitionTime:
-                    description: lastTransitionTime is the last time the condition
-                      transitioned from one status to another. This should be when
-                      the underlying condition changed.  If that is not known, then
-                      using the time when the API field changed is acceptable.
-                    type: string
-                    format: date-time
-                  message:
-                    description: message is a human readable message indicating details
-                      about the transition. This may be an empty string.
-                    type: string
-                    maxLength: 32768
-                  observedGeneration:
-                    description: observedGeneration represents the .metadata.generation
-                      that the condition was set based upon. For instance, if .metadata.generation
-                      is currently 12, but the .status.conditions[x].observedGeneration
-                      is 9, the condition is out of date with respect to the current
-                      state of the instance.
+                  caSecret:
+                    description: ApisixSecret describes the Kubernetes Secret name
+                      and namespace.
+                    properties:
+                      name:
+                        minLength: 1
+                        type: string
+                      namespace:
+                        minLength: 1
+                        type: string
+                    required:
+                    - name
+                    - namespace
+                    type: object
+                  depth:
                     type: integer
-                    format: int64
-                    minimum: 0
-                  reason:
-                    description: reason contains a programmatic identifier indicating
-                      the reason for the condition's last transition. Producers of
-                      specific condition types may define expected values and meanings
-                      for this field, and whether the values are considered a guaranteed
-                      API. The value should be a CamelCase string. This field may
-                      not be empty.
-                    type: string
-                    maxLength: 1024
+                type: object
+              hosts:
+                items:
+                  pattern: ^\*?[0-9a-zA-Z-.]+$
+                  type: string
+                minItems: 1
+                type: array
+              secret:
+                description: ApisixSecret describes the Kubernetes Secret name and
+                  namespace.
+                properties:
+                  name:
                     minLength: 1
-                    pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
-                  status:
-                    description: status of the condition, one of True, False, Unknown.
                     type: string
-                    enum:
-                    - "True"
-                    - "False"
-                    - Unknown
-                  type:
-                    description: type of condition in CamelCase or in foo.example.com/CamelCase.
-                      --- Many .condition.type values are consistent across resources
-                      like Available, but because arbitrary conditions can be useful
-                      (see .node.status.conditions), the ability to deconflict is
-                      important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
+                  namespace:
+                    minLength: 1
                     type: string
-                    maxLength: 316
-                    pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
+                required:
+                - name
+                - namespace
+                type: object
+            required:
+            - hosts
+            - secret
+            type: object
+          status:
+            description: ApisixStatus is the status report for Apisix ingress Resources
+            properties:
+              conditions:
+                items:
+                  description: "Condition contains details for one aspect of the current
+                    state of this API Resource. --- This struct is intended for direct
+                    use as an array at the field path .status.conditions.  For example,
+                    type FooStatus struct{     // Represents the observations of a
+                    foo's current state.     // Known .status.conditions.type are:
+                    \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
+                    \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
+                    \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
+                    patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
+                    \n     // other fields }"
+                  properties:
+                    lastTransitionTime:
+                      description: lastTransitionTime is the last time the condition
+                        transitioned from one status to another. This should be when
+                        the underlying condition changed.  If that is not known, then
+                        using the time when the API field changed is acceptable.
+                      format: date-time
+                      type: string
+                    message:
+                      description: message is a human readable message indicating
+                        details about the transition. This may be an empty string.
+                      maxLength: 32768
+                      type: string
+                    observedGeneration:
+                      description: observedGeneration represents the .metadata.generation
+                        that the condition was set based upon. For instance, if .metadata.generation
+                        is currently 12, but the .status.conditions[x].observedGeneration
+                        is 9, the condition is out of date with respect to the current
+                        state of the instance.
+                      format: int64
+                      minimum: 0
+                      type: integer
+                    reason:
+                      description: reason contains a programmatic identifier indicating
+                        the reason for the condition's last transition. Producers
+                        of specific condition types may define expected values and
+                        meanings for this field, and whether the values are considered
+                        a guaranteed API. The value should be a CamelCase string.
+                        This field may not be empty.
+                      maxLength: 1024
+                      minLength: 1
+                      pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
+                      type: string
+                    status:
+                      description: status of the condition, one of True, False, Unknown.
+                      enum:
+                      - "True"
+                      - "False"
+                      - Unknown
+                      type: string
+                    type:
+                      description: type of condition in CamelCase or in foo.example.com/CamelCase.
+                        --- Many .condition.type values are consistent across resources
+                        like Available, but because arbitrary conditions can be useful
+                        (see .node.status.conditions), the ability to deconflict is
+                        important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
+                      maxLength: 316
+                      pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
+                      type: string
+                  required:
+                  - lastTransitionTime
+                  - message
+                  - reason
+                  - status
+                  - type
+                  type: object
+                type: array
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}
 ---
-apiVersion: apiextensions.k8s.io/v1beta1
+apiVersion: apiextensions.k8s.io/v1
 kind: CustomResourceDefinition
 metadata:
   name: apisixupstreams.apisix.apache.org
 spec:
   group: apisix.apache.org
-  versions:
-    - name: v1
-      served: true
-      storage: true
-  scope: Namespaced
   names:
-    plural: apisixupstreams
-    singular: apisixupstream
     kind: ApisixUpstream
+    plural: apisixupstreams
     shortNames:
-      - au
-  subresources:
-    status: {}
-  validation:
-    openAPIV3Schema:
-      type: object
-      properties:
-        spec:
-          type: object
-          properties:
-            subsets:
-              type: array
-              items:
-                type: object
-                properties:
-                  name:
-                    type: string
-                    minLength: 1
-                  labels:
-                    type: object
-                required: ["name", "labels"]
-            loadbalancer:
-              type: object
-              properties:
-                type:
-                  type: string
-                  enum:
-                    - roundrobin
-                    - chash
-                    - ewma
-                    - least_conn
-                hashOn:
-                  type: string
-                  enum:
-                    - vars
-                    - vars_combinations
-                    - header
-                    - cookie
-                    - consumer
-                key:
-                  type: string
-              required:
-                - type
-            scheme:
-              type: string
-              enum:
-                - http
-                - grpc
-            retries:
-              type: integer
-              minimum: 0
-            timeout:
-              type: object
-              properties:
-                connect:
-                  type: string
-                read:
-                  type: string
-                send:
-                  type: string
-            healthCheck:
-              type: object
-              anyOf:
+    - au
+    singular: apisixupstream
+  scope: Namespaced
+  versions:
+  - name: v1
+    schema:
+      openAPIV3Schema:
+        properties:
+          spec:
+            properties:
+              healthCheck:
+                anyOf:
                 - required:
-                    - active
+                  - active
                 - required:
-                    - active
-                    - passive
-              properties:
-                active:
-                  type: object
-                  properties:
-                    type:
-                      type: string
-                      enum:
+                  - active
+                  - passive
+                properties:
+                  active:
+                    properties:
+                      concurrency:
+                        minimum: 1
+                        type: integer
+                      healthy:
+                        properties:
+                          httpCodes:
+                            items:
+                              maximum: 599
+                              minimum: 200
+                              type: integer
+                            minItems: 1
+                            type: array
+                          interval:
+                            type: string
+                          successes:
+                            maximum: 254
+                            minimum: 1
+                            type: integer
+                        type: object
+                      host:
+                        pattern: ^\*?[0-9a-zA-Z-._]+$
+                        type: string
+                      httpPath:
+                        minLength: 1
+                        type: string
+                      port:
+                        maximum: 65535
+                        minimum: 1
+                        type: integer
+                      requestHeaders:
+                        items:
+                          type: string
+                        minItems: 1
+                        type: array
+                      strictTLS:
+                        type: boolean
+                      timeout:
+                        minimum: 0
+                        type: number
+                      type:
+                        enum:
                         - http
                         - https
                         - tcp
-                    timeout:
-                      type: number
-                      minimum: 0
-                    concurrency:
-                      type: integer
-                      minimum: 1
-                    host:
-                      type: string
-                      pattern: "^\\*?[0-9a-zA-Z-._]+$"
-                    port:
-                      type: integer
-                      minimum: 1
-                      maximum: 65535
-                    httpPath:
-                      type: string
-                      minLength: 1
-                    strictTLS:
-                      type: boolean
-                    requestHeaders:
-                      type: array
-                      minItems: 1
-                      items:
                         type: string
-                    healthy:
-                      type: object
-                      properties:
-                        interval:
-                          type: string
-                        httpCodes:
-                          type: array
-                          minItems: 1
-                          items:
+                      unhealthy:
+                        properties:
+                          httpCodes:
+                            items:
+                              maximum: 599
+                              minimum: 200
+                              type: integer
+                            minItems: 1
+                            type: array
+                          httpFailures:
+                            maximum: 254
+                            minimum: 1
                             type: integer
-                            minimum: 200
-                            maximum: 599
-                        successes:
-                          type: integer
-                          minimum: 1
-                          maximum: 254
-                    unhealthy:
-                      type: object
-                      properties:
-                        interval:
-                          type: string
-                        httpCodes:
-                          type: array
-                          minItems: 1
-                          items:
+                          interval:
+                            type: string
+                          tcpFailures:
+                            maximum: 254
+                            minimum: 1
+                            type: integer
+                          timeouts:
+                            minimum: 0
+                            type: integer
+                        type: object
+                    type: object
+                  passive:
+                    properties:
+                      healthy:
+                        properties:
+                          httpCodes:
+                            items:
+                              maximum: 599
+                              minimum: 200
+                              type: integer
+                            minItems: 1
+                            type: array
+                          successes:
+                            maximum: 254
+                            minimum: 1
                             type: integer
-                            minimum: 200
-                            maximum: 599
-                        httpFailures:
-                          type: integer
-                          minimum: 1
-                          maximum: 254
-                        tcpFailures:
-                          type: integer
-                          minimum: 1
-                          maximum: 254
-                        timeout:
-                          type: string
-                passive:
-                  type: object
-                  properties:
-                    type:
-                      type: string
-                      enum:
+                        type: object
+                      type:
+                        enum:
                         - http
                         - https
                         - tcp
-                    healthy:
-                      type: object
-                      properties:
-                        httpCodes:
-                          type: array
-                          minItems: 1
-                          items:
+                        type: string
+                      unhealthy:
+                        properties:
+                          httpCodes:
+                            items:
+                              maximum: 599
+                              minimum: 200
+                              type: integer
+                            minItems: 1
+                            type: array
+                          httpFailures:
+                            maximum: 254
+                            minimum: 1
                             type: integer
-                            minimum: 200
-                            maximum: 599
-                        successes:
-                          type: integer
-                          minimum: 1
-                          maximum: 254
-                    unhealthy:
-                      type: object
-                      properties:
-                        httpCodes:
-                          type: array
-                          minItems: 1
-                          items:
+                          tcpFailures:
+                            maximum: 254
+                            minimum: 1
                             type: integer
-                            minimum: 200
-                            maximum: 599
-                        httpFailures:
-                          type: integer
-                          minimum: 1
-                          maximum: 254
-                        tcpFailures:
-                          type: integer
-                          minimum: 1
-                          maximum: 254
-                        timeout:
-                          type: string
-            portLevelSettings:
-              type: array
-              items:
+                          timeouts:
+                            minimum: 0
+                            type: integer
+                        type: object
+                    type: object
                 type: object
+              loadbalancer:
                 properties:
-                  port:
-                    type: integer
-                    minimum: 1
-                    maximum: 65535
-                  loadbalancer:
-                    type: object
-                    properties:
-                      type:
-                        type: string
-                        enum:
-                          - roundrobin
-                          - chash
-                          - ewma
-                          - least_conn
-                      hashOn:
-                        type: string
-                        enum:
-                          - vars
-                          - vars_combinations
-                          - header
-                          - cookie
-                          - consumer
-                      key:
-                        type: string
-                    required:
-                      - type
-                  scheme:
+                  hashOn:
+                    enum:
+                    - vars
+                    - vars_combinations
+                    - header
+                    - cookie
+                    - consumer
                     type: string
+                  key:
+                    type: string
+                  type:
                     enum:
-                      - http
-                      - grpc
-                  retries:
-                    type: integer
-                    minimum: 0
-                  timeout:
-                    type: object
-                    properties:
-                      connect:
-                        type: string
-                      read:
-                        type: string
-                      send:
-                        type: string
-                  healthCheck:
-                    type: object
-                    anyOf:
+                    - roundrobin
+                    - chash
+                    - ewma
+                    - least_conn
+                    type: string
+                required:
+                - type
+                type: object
+              portLevelSettings:
+                items:
+                  properties:
+                    healthCheck:
+                      anyOf:
                       - required:
-                          - active
+                        - active
                       - required:
-                          - active
-                          - passive
-                    properties:
-                      active:
-                        type: object
-                        properties:
-                          type:
-                            type: string
-                            enum:
+                        - active
+                        - passive
+                      properties:
+                        active:
+                          properties:
+                            concurrency:
+                              minimum: 1
+                              type: integer
+                            healthy:
+                              properties:
+                                httpCodes:
+                                  items:
+                                    maximum: 599
+                                    minimum: 200
+                                    type: integer
+                                  minItems: 1
+                                  type: array
+                                interval:
+                                  type: string
+                                successes:
+                                  maximum: 254
+                                  minimum: 1
+                                  type: integer
+                              type: object
+                            host:
+                              pattern: ^\*?[0-9a-zA-Z-._]+$
+                              type: string
+                            httpPath:
+                              minLength: 1
+                              type: string
+                            port:
+                              maximum: 65535
+                              minimum: 1
+                              type: integer
+                            requestHeaders:
+                              items:
+                                type: string
+                              minItems: 1
+                              type: array
+                            strictTLS:
+                              type: boolean
+                            timeout:
+                              minimum: 0
+                              type: number
+                            type:
+                              enum:
                               - http
                               - https
                               - tcp
-                          timeout:
-                            type: number
-                            minimum: 0
-                          concurrency:
-                            type: integer
-                            minimum: 1
-                          host:
-                            type: string
-                            pattern: "^\\*?[0-9a-zA-Z-._]+$"
-                          port:
-                            type: integer
-                            minimum: 1
-                            maximum: 65535
-                          httpPath:
-                            type: string
-                            minLength: 1
-                          strictTLS:
-                            type: boolean
-                          requestHeaders:
-                            type: array
-                            minItems: 1
-                            items:
                               type: string
-                          healthy:
-                            type: object
-                            properties:
-                              interval:
-                                type: string
-                              httpCodes:
-                                type: array
-                                minItems: 1
-                                items:
+                            unhealthy:
+                              properties:
+                                httpCodes:
+                                  items:
+                                    maximum: 599
+                                    minimum: 200
+                                    type: integer
+                                  minItems: 1
+                                  type: array
+                                httpFailures:
+                                  maximum: 254
+                                  minimum: 1
                                   type: integer
-                                  minimum: 200
-                                  maximum: 599
-                              successes:
-                                type: integer
-                                minimum: 1
-                                maximum: 254
-                          unhealthy:
-                            type: object
-                            properties:
-                              interval:
-                                type: string
-                              httpCodes:
-                                type: array
-                                minItems: 1
-                                items:
+                                interval:
+                                  type: string
+                                tcpFailures:
+                                  maximum: 254
+                                  minimum: 1
                                   type: integer
-                                  minimum: 200
-                                  maximum: 599
-                              httpFailures:
-                                type: integer
-                                minimum: 1
-                                maximum: 254
-                              tcpFailures:
-                                type: integer
-                                minimum: 1
-                                maximum: 254
-                              timeout:
-                                type: string
-                      passive:
-                        type: object
-                        properties:
-                          type:
-                            type: string
-                            enum:
+                                timeout:
+                                  type: string
+                              type: object
+                          type: object
+                        passive:
+                          properties:
+                            healthy:
+                              properties:
+                                httpCodes:
+                                  items:
+                                    maximum: 599
+                                    minimum: 200
+                                    type: integer
+                                  minItems: 1
+                                  type: array
+                                successes:
+                                  maximum: 254
+                                  minimum: 1
+                                  type: integer
+                              type: object
+                            type:
+                              enum:
                               - http
                               - https
                               - tcp
-                          healthy:
-                            type: object
-                            properties:
-                              httpCodes:
-                                type: array
-                                minItems: 1
-                                items:
+                              type: string
+                            unhealthy:
+                              properties:
+                                httpCodes:
+                                  items:
+                                    maximum: 599
+                                    minimum: 200
+                                    type: integer
+                                  minItems: 1
+                                  type: array
+                                httpFailures:
+                                  maximum: 254
+                                  minimum: 1
                                   type: integer
-                                  minimum: 200
-                                  maximum: 599
-                              successes:
-                                type: integer
-                                minimum: 1
-                                maximum: 254
-                          unhealthy:
-                            type: object
-                            properties:
-                              httpCodes:
-                                type: array
-                                minItems: 1
-                                items:
+                                tcpFailures:
+                                  maximum: 254
+                                  minimum: 1
                                   type: integer
-                                  minimum: 200
-                                  maximum: 599
-                              httpFailures:
-                                type: integer
-                                minimum: 1
-                                maximum: 254
-                              tcpFailures:
-                                type: integer
-                                minimum: 1
-                                maximum: 254
-                              timeout:
-                                type: string
----
-apiVersion: apiextensions.k8s.io/v1beta1
-kind: CustomResourceDefinition
-metadata:
-  name: apisixconsumers.apisix.apache.org
-spec:
-  group: apisix.apache.org
-  versions:
-    - name: v2alpha1
-      served: true
-      storage: true
-  scope: Namespaced
-  names:
-    plural: apisixconsumers
-    singular: apisixconsumer
-    kind: ApisixConsumer
-    shortNames:
-      - ac
-  preserveUnknownFields: false
-  subresources:
-    status: {}
-  validation:
-    openAPIV3Schema:
-      type: object
-      properties:
-        spec:
-          type: object
-          required:
-            - authParameter
-          properties:
-            authParameter:
-              type: object
-              oneOf:
-                - required: ["basicAuth"]
-                - required: ["keyAuth"]
-              properties:
-                basicAuth:
-                  type: object
-                  oneOf:
-                    - required: ["value"]
-                    - required: ["secretRef"]
-                  properties:
-                    value:
+                                timeout:
+                                  type: string
+                              type: object
+                          type: object
                       type: object
+                    loadbalancer:
                       properties:
-                        username:
+                        hashOn:
+                          enum:
+                          - vars
+                          - vars_combinations
+                          - header
+                          - cookie
+                          - consumer
                           type: string
-                          minLength: 1
-                        password:
+                        key:
                           type: string
-                          minLength: 1
-                      required:
-                        - username
-                        - password
-                    secretRef:
-                      type: object
-                      properties:
-                        name:
+                        type:
+                          enum:
+                          - roundrobin
+                          - chash
+                          - ewma
+                          - least_conn
                           type: string
-                          minLength: 1
                       required:
-                        - name
-                keyAuth:
-                  type: object
-                  oneOf:
-                    - required: ["value"]
-                    - required: ["secretRef"]
-                  properties:
-                    value:
+                      - type
                       type: object
+                    port:
+                      maximum: 65535
+                      minimum: 1
+                      type: integer
+                    retries:
+                      minimum: 0
+                      type: integer
+                    scheme:
+                      enum:
+                      - http
+                      - grpc
+                      type: string
+                    timeout:
                       properties:
-                        key:
+                        connect:
                           type: string
-                          minLength: 1
-                      required:
-                        - key
-                    secretRef:
-                      type: object
-                      properties:
-                        name:
+                        read:
                           type: string
-                          minLength: 1
-                      required:
-                        - name
----
-apiVersion: apiextensions.k8s.io/v1beta1
-kind: CustomResourceDefinition
-metadata:
-  name: apisixclusterconfigs.apisix.apache.org
-spec:
-  group: apisix.apache.org
-  versions:
-    - name: v2alpha1
-      served: true
-      storage: true
-  scope: Cluster
-  names:
-    plural: apisixclusterconfigs
-    singular: apisixclusterconfig
-    kind: ApisixClusterConfig
-    shortNames:
-      - acc
-  preserveUnknownFields: false
-  subresources:
-    status: {}
-  validation:
-    openAPIV3Schema:
-      type: object
-      properties:
-        spec:
-          type: object
-          properties:
-            admin:
-              type: object
-              required:
-                - baseURL
-              properties:
-                baseURL:
-                  type: string
-                  pattern: "https?://[^:]+:(\\d+)"
-                adminKey:
-                  type: string
-            monitoring:
-              type: object
-              properties:
-                prometheus:
+                        send:
+                          type: string
+                      type: object
                   type: object
+                type: array
+              retries:
+                minimum: 0
+                type: integer
+              scheme:
+                enum:
+                - http
+                - grpc
+                type: string
+              subsets:
+                items:
                   properties:
-                    enable:
-                      type: boolean
-                skywalking:
+                    labels:
+                      type: object
+                      x-kubernetes-preserve-unknown-fields: true
+                    name:
+                      minLength: 1
+                      type: string
+                  required:
+                  - name
+                  - labels
                   type: object
-                  properties:
-                    enable:
-                      type: boolean
-                    sampleRatio:
-                      type: number
-                      minimum: 0.00001
-                      maximum: 1
+                type: array
+              timeout:
+                properties:
+                  connect:
+                    type: string
+                  read:
+                    type: string
+                  send:
+                    type: string
+                type: object
+            type: object
+        type: object
+    served: true
+    storage: true
+    subresources:
+      status: {}
diff --git a/charts/apisix-ingress-controller/values.yaml b/charts/apisix-ingress-controller/values.yaml
index c5cc7a6..6de288b 100644
--- a/charts/apisix-ingress-controller/values.yaml
+++ b/charts/apisix-ingress-controller/values.yaml
@@ -42,7 +42,7 @@ replicaCount: 1
 image:
   repository: apache/apisix-ingress-controller
   pullPolicy: IfNotPresent
-  tag: "1.2.0"
+  tag: "1.3.0"
 
 imagePullSecrets: []