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 2022/03/23 08:58:24 UTC

[apisix-ingress-controller] branch master updated: docs: remove ApisixRoute v2beta1 & v2alphq1 (#930)

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-ingress-controller.git


The following commit(s) were added to refs/heads/master by this push:
     new 81831d5  docs: remove ApisixRoute v2beta1 & v2alphq1 (#930)
81831d5 is described below

commit 81831d51b39a1df2db4beeb7d9d7af429e0425fc
Author: John Chever <ch...@gmail.com>
AuthorDate: Wed Mar 23 16:58:19 2022 +0800

    docs: remove ApisixRoute v2beta1 & v2alphq1 (#930)
    
    Co-authored-by: Jintao Zhang <zh...@gmail.com>
---
 docs/en/latest/FAQ.md                              |  6 +-
 docs/en/latest/concepts/apisix_upstream.md         |  2 +-
 docs/en/latest/config.json                         |  4 +-
 docs/en/latest/design.md                           |  2 +-
 docs/en/latest/references/apisix_route_v1.md       | 39 ----------
 docs/en/latest/references/apisix_route_v2alpha1.md | 90 ---------------------
 docs/en/latest/references/apisix_route_v2beta1.md  | 91 ----------------------
 7 files changed, 6 insertions(+), 228 deletions(-)

diff --git a/docs/en/latest/FAQ.md b/docs/en/latest/FAQ.md
index cb15fde..149e420 100644
--- a/docs/en/latest/FAQ.md
+++ b/docs/en/latest/FAQ.md
@@ -65,14 +65,14 @@ In such a case, you may need to apply these CRDs by yourself.
 kubectl apply -k samples/deploy/crd/
 ```
 
-### 8. Why apisix-ingress-controller reports similar errors when running: no matches for kind "ApisixRoute" in version "apisix.apache.org/v2beta1"
+### 8. Why apisix-ingress-controller reports similar errors when running: no matches for kind "ApisixRoute" in version "apisix.apache.org/v2beta3"
 
-The version `v2beta1` is the newest version of resource `ApisixRoute`. You need to check if the CRD definition file is up to date.
+The version `v2beta3` is the newest version of resource `ApisixRoute`. You need to check if the CRD definition file is up to date.
 
 ```shell
 kubectl get crd apisixroutes.apisix.apache.org -o jsonpath='{ .spec.versions[*].name }' -A
 ```
 
-If you can not find `v2beta1` in `ApisixRoute` definition file. Please apply the latest version of `ApisixRoute`.
+If you can not find `v2beta3` in `ApisixRoute` definition file. Please apply the latest version of `ApisixRoute`.
 
 Ref to FAQ #7.
diff --git a/docs/en/latest/concepts/apisix_upstream.md b/docs/en/latest/concepts/apisix_upstream.md
index da3f370..575248c 100644
--- a/docs/en/latest/concepts/apisix_upstream.md
+++ b/docs/en/latest/concepts/apisix_upstream.md
@@ -25,7 +25,7 @@ ApisixUpstream is the decorator of Kubernetes Service. It's designed to have sam
 load balancing, health check, retry, timeout parameters and etc.
 
 Resort to `ApisixUpstream` and the Kubernetes Service, apisix ingress controller will generates the APISIX Upstream(s).
-To learn more, please check the [Apache APISIX architecture-design docs](https://github.com/apache/apisix/blob/master/docs/en/latest/architecture-design/upstream.md).
+To learn more, please check the [Apache APISIX architecture-design docs](https://github.com/apache/apisix/blob/master/docs/en/latest/terminology/upstream.md).
 
 ### Configuring Load Balancer
 
diff --git a/docs/en/latest/config.json b/docs/en/latest/config.json
index 2619d28..db61fc0 100644
--- a/docs/en/latest/config.json
+++ b/docs/en/latest/config.json
@@ -35,9 +35,7 @@
       "type": "category",
       "label": "References",
       "items": [
-        "references/apisix_route_v1",
-        "references/apisix_route_v2alpha1",
-        "references/apisix_route_v2beta1",
+        "references/apisix_route_v2beta3",
         "references/apisix_upstream",
         "references/apisix_tls",
         "references/apisix_cluster_config"
diff --git a/docs/en/latest/design.md b/docs/en/latest/design.md
index b3576d4..de6bd63 100644
--- a/docs/en/latest/design.md
+++ b/docs/en/latest/design.md
@@ -122,7 +122,7 @@ Unlike the implementation of Kubernetes Nginx Ingress, the implementation of Ann
 For example, the settings of the black and white list can be configured through the `k8s.apisix.apache.org/whitelist-source-range` annotation in the `ApisixRoute` resource object.
 
 ```yaml
-apiVersion: apisix.apache.org/v2beta1
+apiVersion: apisix.apache.org/v2beta3
 kind: ApisixRoute
 metadata:
   annotations:
diff --git a/docs/en/latest/references/apisix_route_v1.md b/docs/en/latest/references/apisix_route_v1.md
deleted file mode 100644
index ec2dc75..0000000
--- a/docs/en/latest/references/apisix_route_v1.md
+++ /dev/null
@@ -1,39 +0,0 @@
----
-title: ApisixRoute/v1 (Deprecated) Reference
----
-
-<!--
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
--->
-
-**WARNINIG**: `ApisixRoute/v1` is obsolete and will be unsupported in the future, please use `ApisixRoute/v2beta1`!
-
-|     Field     |  Type    |                    Description                     |
-|---------------|----------|----------------------------------------------------|
-| rules         | array    | ApisixRoute's request matching rules.              |
-| host          | string   | The requested host.                                |
-| http          | object   | Route rules are applied to the scope of layer 7 traffic.     |
-| paths         | array    | Path-based `route` rule matching.                     |
-| backend       | object   | Backend service information configuration.         |
-| serviceName   | string   | The name of backend service. `namespace + serviceName + servicePort` form an unique identifier to match the back-end service.                      |
-| servicePort   | int      | The port of backend service. `namespace + serviceName + servicePort` form an unique identifier to match the back-end service.                      |
-| path          | string   | The URI matched by the route. Supports exact match and prefix match. Example,exact match: `/hello`, prefix match: `/hello*`.                     |
-| plugins       | array    | Custom plugin collection (Plugins defined in the `route` level). For more plugin information, please refer to the [Apache APISIX plugin docs](https://github.com/apache/apisix/tree/master/docs/en/latest/plugins).    |
-| name          | string   | The name of the plugin. For more information about the example plugin, please check the [limit-count docs](https://github.com/apache/apisix/blob/master/docs/en/latest/plugins/limit-count.md#Attributes).             |
-| enable        | boolean  | Whether to enable the plugin, `true`: means enable, `false`: means disable.      |
-| config        | object   | Configuration of plugin information. Note: The check of configuration schema is missing now, so please be careful when editing.    |
diff --git a/docs/en/latest/references/apisix_route_v2alpha1.md b/docs/en/latest/references/apisix_route_v2alpha1.md
deleted file mode 100644
index f7b71d0..0000000
--- a/docs/en/latest/references/apisix_route_v2alpha1.md
+++ /dev/null
@@ -1,90 +0,0 @@
----
-title: ApisixRoute/v2alpha1 Reference
----
-
-<!--
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
--->
-
-## Spec
-
-Meaning of each field in the spec of ApisixRoute are followed, the top level fields (`apiVersion`, `kind` and `metadata`) are same as other Kubernetes Resources.
-
-|     Field     |  Type    |                    Description                     |
-|---------------|----------|----------------------------------------------------|
-| http         | array    | ApisixRoute's HTTP route rules.              |
-| http[].name          | string (required)  | The route rule name.                                |
-| http[].priority          | integer   | The route priority, it's used to determine which route will be hitted when multile routes contains the same URI. Large number means higher priority.     |
-| http[].match         | object    | Route match conditions.                     |
-| http[].match.paths       | array   | A series of URI that should be matched (oneof) to use this route rule.         |
-| http[].match.hosts   | array   | A series of hosts that should be matched (oneof) to use this route rule.
-| http[].match.methods | array | A series of HTTP methods(`GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `OPTIONS`, `CONNECT`, `TRACE`) that should be matched (oneof) to use this route rule.
-| http[].match.remoteAddrs   | array      | A series of IP address (CIDR format) that should be matched (oneof) to use this route rule.
-| http[].match.exprs          | array   | A series expressions that the results should be matched (oneof) to use this route rule.
-| http[].match.exprs[].subject       | object    | Expression subject.
-| http[].match.exprs[].subject.scope       | string    | Specify where to find the subject, values can be `Header`, `Query`, `Cookie` and `Path`.
-| http[].match.exprs[].subject.name       | string    | Specify subject name, when scope is `Path`, this field can be absent.
-| http[].match.exprs[].op | string | Expression operator, see [Expression Operators](#expression-operators) for the detail of enumerations.
-| http[].match.exprs[].value | string | Expected expression result, it's exclusive with `http[].match.exprs[].set`.
-| http[].match.exprs[].set | array | Expected expression result set, only used when the operator is `In` or `NotIn`, it's exclusive with `http[].match.exprs[].value`.
-| http[].backend | object | The backend service. Deprecated: use http[].backends instead.
-| http[].backend.serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed.
-| http[].backend.servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object.
-| http[].backend.resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details.
-| http[].backends | object | The backend services. When the number of backends more than one, weight based traffic split policy will be applied to shifting traffic between these backends.
-| http[].backends[].serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed.
-| http[].backends[].servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object.
-| http[].backends[].resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details.
-| http[].backends[].weight | int | The backend weight, which is critical when shifting traffic between multiple backends, default is `100`. Weight is ignored when there is only one backend.
-| http[].plugins | array | A series of APISIX plugins that will be executed once this route rule is matched |
-| http[].plugins[].name | string | The plugin name, see [docs](http://apisix.apache.org/docs/apisix/getting-started) for learning the available plugins.
-| http[].plugins[].enable | boolean | Whether the plugin is in use |
-| http[].plugins[].config | object | The plugin configuration, fields should be same as in APISIX. |
-| http[].websocket | boolean | Whether enable websocket proxy. |
-| tcp | array | ApisixRoutes' tcp route rules. |
-| tcp[].name | string (required) | The Route rule name. |
-| tcp[].match | object (required) | The Route match conditions. |
-| tcp[].match.ingressPort | integer (required) | the Ingress proxy server listening port, note since APISIX doesn't support dynamic listening, this port should be defined in [apisix configuration](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L101).|
-| tcp[].backend | object | The backend service. Deprecated: use http[].backends instead.
-| tcp[].backend.serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed.
-| tcp[].backend.servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object.
-| tcp[].backend.resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details.
-
-## Expression Operators
-
-| Operator | Meaning |
-|----------|---------|
-| Equal| The result of `subject` should be equal to the `value` |
-| NotEqual | The result of `subject` should not be equal to `value` |
-| GreaterThan | The result of `subject` should be a number and it must larger then `value`. |
-| LessThan | The result of `subject` should be a number and it must less than `value`. |
-| In | The result of `subject` should be inside the `set`. |
-| NotIn | The result of `subject` should not be inside the `set`. |
-| RegexMatch | The result of `subject` should be matched by the `value` (a PCRE regex pattern). |
-| RegexNotMatch | The result of `subject` should not be matched by the `value` (a PCRE regex pattern). |
-| RegexMatchCaseInsensitive | Similar with `RegexMatch` but the match process is case insensitive |
-| RegexNotMatchCaseInsensitive | Similar with `RegexNotMatchCaseInsensitive` but the match process is case insensitive. |
-
-## Service Resolve Granularity
-
-The service resolve granularity determines whether the [Serivce ClusterIP](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) or its endpoints should be filled in the target upstream of APISIX.
-
-| Granularity | Meaning |
-| ----------- | ------- |
-| endpoint | Filled upstream nodes by Pods' IP.
-| service | Filled upstream nodes by Service ClusterIP, in such a case, loadbalacing are implemented by [kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy).|
diff --git a/docs/en/latest/references/apisix_route_v2beta1.md b/docs/en/latest/references/apisix_route_v2beta1.md
deleted file mode 100644
index dee0a2a..0000000
--- a/docs/en/latest/references/apisix_route_v2beta1.md
+++ /dev/null
@@ -1,91 +0,0 @@
----
-title: ApisixRoute/v2beta1 Reference
----
-
-<!--
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
--->
-
-## Spec
-
-Meaning of each field in the spec of ApisixRoute are followed, the top level fields (`apiVersion`, `kind` and `metadata`) are same as other Kubernetes Resources.
-
-|     Field     |  Type    |                    Description                     |
-|---------------|----------|----------------------------------------------------|
-| http         | array    | ApisixRoute's HTTP route rules.              |
-| http[].name          | string (required)  | The route rule name.                                |
-| http[].priority          | integer   | The route priority, it's used to determine which route will be hitted when multile routes contains the same URI. Large number means higher priority.     |
-| http[].match         | object    | Route match conditions.                     |
-| http[].match.paths       | array   | A series of URI that should be matched (oneof) to use this route rule.         |
-| http[].match.hosts   | array   | A series of hosts that should be matched (oneof) to use this route rule.
-| http[].match.methods | array | A series of HTTP methods(`GET`, `POST`, `PUT`, `DELETE`, `PATCH`, `HEAD`, `OPTIONS`, `CONNECT`, `TRACE`) that should be matched (oneof) to use this route rule.
-| http[].match.remoteAddrs   | array      | A series of IP address (CIDR format) that should be matched (oneof) to use this route rule.
-| http[].match.exprs          | array   | A series expressions that the results should be matched (oneof) to use this route rule.
-| http[].match.exprs[].subject       | object    | Expression subject.
-| http[].match.exprs[].subject.scope       | string    | Specify where to find the subject, values can be `Header`, `Query`, `Cookie` and `Path`.
-| http[].match.exprs[].subject.name       | string    | Specify subject name, when scope is `Path`, this field can be absent.
-| http[].match.exprs[].op | string | Expression operator, see [Expression Operators](#expression-operators) for the detail of enumerations.
-| http[].match.exprs[].value | string | Expected expression result, it's exclusive with `http[].match.exprs[].set`.
-| http[].match.exprs[].set | array | Expected expression result set, only used when the operator is `In` or `NotIn`, it's exclusive with `http[].match.exprs[].value`.
-| http[].backend | object | The backend service. Deprecated: use http[].backends instead.
-| http[].backend.serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed.
-| http[].backend.servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object.
-| http[].backend.resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details.
-| http[].backends | object | The backend services. When the number of backends more than one, weight based traffic split policy will be applied to shifting traffic between these backends.
-| http[].backends[].serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed.
-| http[].backends[].servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object.
-| http[].backends[].resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details.
-| http[].backends[].weight | int | The backend weight, which is critical when shifting traffic between multiple backends, default is `100`. Weight is ignored when there is only one backend.
-| http[].plugins | array | A series of APISIX plugins that will be executed once this route rule is matched |
-| http[].plugins[].name | string | The plugin name, see [docs](http://apisix.apache.org/docs/apisix/getting-started) for learning the available plugins.
-| http[].plugins[].enable | boolean | Whether the plugin is in use |
-| http[].plugins[].config | object | The plugin configuration, fields should be same as in APISIX. |
-| http[].websocket | boolean | Whether enable websocket proxy. |
-| stream | array | ApisixRoutes' stream route rules, which contains TCP or UDP rules.|
-| stream[].protocol | string (required) | The protocol of rule. Support `TCP` or `UDP`|
-| stream[].name | string (required) | The Route rule name. |
-| stream[].match | object (required) | The Route match conditions. |
-| stream[].match.ingressPort | integer (required) | the Ingress proxy server listening port, note since APISIX doesn't support dynamic listening, this port should be defined in [apisix configuration](https://github.com/apache/apisix/blob/master/conf/config-default.yaml#L101).|
-| stream[].backend | object | The backend service. Deprecated: use http[].backends instead.
-| stream[].backend.serviceName | string | The backend service name, note the service and ApisixRoute should be created in the same namespace. Cross namespace referencing is not allowed.
-| stream[].backend.servicePort | integer or string | The backend service port, can be the port number or the name defined in the service object.
-| stream[].backend.resolveGranularity | string | See [Service Resolve Granularity](#service-resolve-granularity) for the details.
-
-## Expression Operators
-
-| Operator | Meaning |
-|----------|---------|
-| Equal| The result of `subject` should be equal to the `value` |
-| NotEqual | The result of `subject` should not be equal to `value` |
-| GreaterThan | The result of `subject` should be a number and it must larger then `value`. |
-| LessThan | The result of `subject` should be a number and it must less than `value`. |
-| In | The result of `subject` should be inside the `set`. |
-| NotIn | The result of `subject` should not be inside the `set`. |
-| RegexMatch | The result of `subject` should be matched by the `value` (a PCRE regex pattern). |
-| RegexNotMatch | The result of `subject` should not be matched by the `value` (a PCRE regex pattern). |
-| RegexMatchCaseInsensitive | Similar with `RegexMatch` but the match process is case insensitive |
-| RegexNotMatchCaseInsensitive | Similar with `RegexNotMatchCaseInsensitive` but the match process is case insensitive. |
-
-## Service Resolve Granularity
-
-The service resolve granularity determines whether the [Serivce ClusterIP](https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types) or its endpoints should be filled in the target upstream of APISIX.
-
-| Granularity | Meaning |
-| ----------- | ------- |
-| endpoint | Filled upstream nodes by Pods' IP.
-| service | Filled upstream nodes by Service ClusterIP, in such a case, loadbalacing are implemented by [kube-proxy](https://kubernetes.io/docs/concepts/overview/components/#kube-proxy).|