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

kayx23 pushed a commit to branch docs/2-1-0-doc-refresh-v2-branch
in repository https://gitbox.apache.org/repos/asf/apisix-ingress-controller.git

commit 4c9098c44bf48841ed832e9e2594d9e98472dfc8
Author: kayx23 <[email protected]>
AuthorDate: Tue Jun 2 11:10:30 2026 +0800

    docs: refresh 2.1.0 ingress controller docs
---
 docs/en/latest/concepts/resources.md |  2 +-
 docs/en/latest/overview.md           |  1 +
 docs/en/latest/reference/example.md  | 76 +++++++++++++++++++++++++++++++++++-
 3 files changed, 76 insertions(+), 3 deletions(-)

diff --git a/docs/en/latest/concepts/resources.md 
b/docs/en/latest/concepts/resources.md
index df1a0681..ca9de166 100644
--- a/docs/en/latest/concepts/resources.md
+++ b/docs/en/latest/concepts/resources.md
@@ -78,7 +78,7 @@ APISIX Ingress Controller CRDs extend Kubernetes 
functionality to provide declar
 
 * ApisixUpstream: Extends Kubernetes Services with advanced configurations 
such as load balancing, health checks, retries, timeouts, and service subset 
selection.
 
-* ApisixConsumer: Defines API consumers and their authentication credentials, 
supporting methods like basicAuth, keyAuth, jwtAuth, hmacAuth, wolfRBAC, and 
ldapAuth.
+* ApisixConsumer: Defines API consumers, their authentication credentials, and 
consumer-scoped plugins, supporting methods like basicAuth, keyAuth, jwtAuth, 
hmacAuth, wolfRBAC, and ldapAuth. Labels from `metadata.labels` are propagated 
to the APISIX consumer.
 
 * ApisixPluginConfig: Defines reusable plugin configurations referenced by 
ApisixRoute through the plugin_config_name field, promoting separation of 
routing logic and plugin settings.
 
diff --git a/docs/en/latest/overview.md b/docs/en/latest/overview.md
index 954ebb7a..81a9723c 100644
--- a/docs/en/latest/overview.md
+++ b/docs/en/latest/overview.md
@@ -61,6 +61,7 @@ APISIX Ingress Controller 2.0.0+ support the [APISIX 
Standalone API-driven Mode]
 | APISIX ingress controller | Supported APISIX versions | Recommended APISIX 
version |
 | ------------------------- | ------------------------- | 
-------------------------- |
 | `master`                  | `>=3.0`                   | `3.13`               
      |
+| `2.1.0`                   | `>=3.0`                   | `3.13`               
      |
 | `2.0.0`                   | `>=3.0`                   | `3.13`               
      |
 | `1.6.0`                   | `>= 2.15`, `>=3.0`        | `2.15`, `3.0`        
      |
 | `1.5.0`                   | `>= 2.7`                  | `2.15`               
      |
diff --git a/docs/en/latest/reference/example.md 
b/docs/en/latest/reference/example.md
index ca796ee4..c92aefeb 100644
--- a/docs/en/latest/reference/example.md
+++ b/docs/en/latest/reference/example.md
@@ -439,7 +439,7 @@ This configuration is not supported by the Ingress resource.
 
 ## Configure Upstream
 
-To configure upstream related configurations, including load balancing 
algorithm, how the host header is passed to upstream, service timeout, and more:
+To configure upstream related configurations, including load balancing 
algorithm, how the host header is passed to upstream, service timeout, health 
checks, and more:
 
 <Tabs
 groupId="k8s-api"
@@ -472,6 +472,23 @@ spec:
     type: roundrobin
   passHost: rewrite
   upstreamHost: httpbin.example.com
+  healthCheck:
+    active:
+      type: http
+      httpPath: /status/200
+      host: httpbin.org
+      healthy:
+        successes: 2
+        interval: 2s
+      unhealthy:
+        httpFailures: 3
+        interval: 2s
+    passive:
+      type: http
+      healthy:
+        successes: 3
+      unhealthy:
+        httpFailures: 3
 ```
 
 </TabItem>
@@ -496,6 +513,23 @@ spec:
     type: roundrobin
   passHost: rewrite
   upstreamHost: httpbin.example.com
+  healthCheck:
+    active:
+      type: http
+      httpPath: /status/200
+      host: httpbin.org
+      healthy:
+        successes: 2
+        interval: 2s
+      unhealthy:
+        httpFailures: 3
+        interval: 2s
+    passive:
+      type: http
+      healthy:
+        successes: 3
+      unhealthy:
+        httpFailures: 3
 ```
 
 </TabItem>
@@ -570,6 +604,8 @@ kind: ApisixConsumer
 metadata:
   namespace: ingress-apisix
   name: alice
+  labels:
+    team: example
 spec:
   ingressClassName: apisix
   authParameter:
@@ -578,6 +614,8 @@ spec:
         key: alice-primary-key
 ```
 
+Labels in `metadata.labels` are propagated to the APISIX consumer.
+
 You can also use the secret CRD, where the credential should be base64 encoded:
 
 ```yaml
@@ -594,6 +632,8 @@ kind: ApisixConsumer
 metadata:
   namespace: ingress-apisix
   name: alice
+  labels:
+    team: example
 spec:
   ingressClassName: apisix
   authParameter:
@@ -652,7 +692,32 @@ spec:
 
 <TabItem value="apisix-crd">
 
-ApisixConsumer currently does not support configuring plugins on consumers.
+```yaml
+apiVersion: apisix.apache.org/v2
+kind: ApisixConsumer
+metadata:
+  namespace: ingress-apisix
+  name: alice
+spec:
+  ingressClassName: apisix
+  authParameter:
+    keyAuth:
+      value:
+        key: alice-key
+  plugins:
+    - name: limit-count
+      enable: true
+      config:
+        count: 3
+        time_window: 60
+        key: consumer_name
+        key_type: var
+        policy: local
+        rejected_code: 429
+        rejected_msg: Too many requests
+        show_limit_quota_header: true
+        allow_degradation: false
+```
 
 </TabItem>
 
@@ -721,11 +786,18 @@ spec:
           name: test
         op: Equal
         value: test_name
+      - subject:
+          scope: Body
+          name: action
+        op: Equal
+        value: login
     backends:
     - serviceName: httpbin
       servicePort: 80
 ```
 
+When `scope` is `Body`, the `name` field accepts the request body field to 
match. For JSON payloads, nested fields can use dot notation such as 
`model.version`.
+
 </TabItem>
 
 </Tabs>

Reply via email to