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

AlinsRan 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 5d5cacc  feat: release apisix-ingress-controller 2.1.0 (#972)
5d5cacc is described below

commit 5d5caccadd1d0756d44886e57e225c0039f2a358
Author: AlinsRan <[email protected]>
AuthorDate: Mon Jun 1 14:42:48 2026 +0800

    feat: release apisix-ingress-controller 2.1.0 (#972)
---
 charts/apisix-ingress-controller/Chart.yaml        |   4 +-
 charts/apisix-ingress-controller/README.md         |   5 +-
 .../crds/apisixic-crds.yaml                        | 238 ++++++++++++++++++++-
 .../templates/configmap.yaml                       |   1 +
 charts/apisix-ingress-controller/values.yaml       |   5 +-
 5 files changed, 239 insertions(+), 14 deletions(-)

diff --git a/charts/apisix-ingress-controller/Chart.yaml 
b/charts/apisix-ingress-controller/Chart.yaml
index 0704772..b5c4011 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: 1.1.2
-appVersion: 2.0.1
+version: 1.2.0
+appVersion: 2.1.0
 sources:
   - https://github.com/apache/apisix-helm-chart
 
diff --git a/charts/apisix-ingress-controller/README.md 
b/charts/apisix-ingress-controller/README.md
index 62916d6..d178ec4 100644
--- a/charts/apisix-ingress-controller/README.md
+++ b/charts/apisix-ingress-controller/README.md
@@ -121,6 +121,7 @@ The same for container level, you need to set:
 | config.leaderElection.leaseDuration | string | `"15s"` |  |
 | config.leaderElection.renewDeadline | string | `"10s"` |  |
 | config.leaderElection.retryPeriod | string | `"2s"` |  |
+| config.listenerPortMatchMode | string | `"auto"` |  |
 | config.logLevel | string | `"info"` |  |
 | config.metricsAddr | string | `":8080"` |  |
 | config.probeAddr | string | `":8081"` |  |
@@ -128,12 +129,12 @@ The same for container level, you need to set:
 | config.provider.syncPeriod | string | `"1m"` |  |
 | config.provider.type | string | `"apisix"` |  |
 | config.secureMetrics | bool | `false` |  |
-| deployment.adcContainer | object | 
`{"config":{"logLevel":"info"},"image":{"repository":"ghcr.io/api7/adc","tag":"0.24.2"}}`
 | Set adc sidecar container configuration |
+| deployment.adcContainer | object | 
`{"config":{"logLevel":"info"},"image":{"repository":"ghcr.io/api7/adc","tag":"0.26.0"}}`
 | Set adc sidecar container configuration |
 | deployment.affinity | object | `{}` |  |
 | deployment.annotations | object | `{}` | Add annotations to Apache APISIX 
ingress controller resource |
 | deployment.image.pullPolicy | string | `"IfNotPresent"` |  |
 | deployment.image.repository | string | `"apache/apisix-ingress-controller"` 
|  |
-| deployment.image.tag | string | `"2.0.1"` |  |
+| deployment.image.tag | string | `"2.1.0"` |  |
 | deployment.imagePullSecrets | list | `[]` |  |
 | deployment.nodeSelector | object | `{}` |  |
 | deployment.podAnnotations | object | `{}` |  |
diff --git a/charts/apisix-ingress-controller/crds/apisixic-crds.yaml 
b/charts/apisix-ingress-controller/crds/apisixic-crds.yaml
index 7dc2e95..7014154 100644
--- a/charts/apisix-ingress-controller/crds/apisixic-crds.yaml
+++ b/charts/apisix-ingress-controller/crds/apisixic-crds.yaml
@@ -182,7 +182,7 @@ spec:
                           algorithm:
                             description: |-
                               Algorithm specifies the signing algorithm.
-                              Can be `HS256`, `HS512`, `RS256`, or `ES256`.
+                              Can be `HS256`, `HS384`, `HS512`, `RS256`, 
`RS384`, `RS512`, `ES256`, `ES384`, `ES512`, `PS256`, `PS384`, `PS512`, or 
`EdDSA`.
                             type: string
                           base64_secret:
                             description: Base64Secret indicates whether the 
secret
@@ -215,8 +215,15 @@ spec:
                             type: string
                         required:
                         - key
-                        - private_key
                         type: object
+                        x-kubernetes-validations:
+                        - message: algorithms other than HS256/HS384/HS512 
require
+                            at least one non-empty public_key or private_key
+                          rule: '!has(self.algorithm) || size(self.algorithm) 
== 0
+                            || self.algorithm in 
[''HS256'',''HS384'',''HS512''] ||
+                            (has(self.public_key) && 
size(self.public_key.trim())
+                            > 0) || (has(self.private_key) && 
size(self.private_key.trim())
+                            > 0)'
                     type: object
                   keyAuth:
                     description: KeyAuth configures the key authentication 
details.
@@ -318,8 +325,32 @@ spec:
                   IngressClassName is the name of an IngressClass cluster 
resource.
                   The controller uses this field to decide whether the 
resource should be managed.
                 type: string
-            required:
-            - authParameter
+              plugins:
+                description: |-
+                  Plugins lists additional consumer-scoped plugins to attach 
to this consumer.
+                  These plugins are applied alongside any authentication 
plugin derived from AuthParameter.
+                  An enabled plugin with the same name as the auth plugin 
derived from AuthParameter takes precedence.
+                items:
+                  description: ApisixRoutePlugin represents an APISIX plugin.
+                  properties:
+                    config:
+                      description: Plugin configuration.
+                      x-kubernetes-preserve-unknown-fields: true
+                    enable:
+                      default: true
+                      description: Whether this plugin is in use, default is 
true.
+                      type: boolean
+                    name:
+                      description: The plugin name.
+                      type: string
+                    secretRef:
+                      description: Plugin configuration secretRef.
+                      type: string
+                  required:
+                  - enable
+                  - name
+                  type: object
+                type: array
             type: object
           status:
             description: ApisixStatus is the status report for Apisix ingress 
Resources
@@ -873,18 +904,34 @@ spec:
                                   It can be any [APISIX 
variable](https://apisix.apache.org/docs/apisix/apisix-variable) or string 
literal.
                                 properties:
                                   name:
-                                    description: Name is the name of the 
header or
-                                      query parameter.
+                                    description: |-
+                                      Name is the name of the subject within 
the given scope: the header name, query
+                                      parameter name, cookie name, Nginx 
variable name, or body field name (dot-notation
+                                      JSON path supported for Body scope). 
Optional when Scope is Path.
                                     type: string
                                   scope:
                                     description: |-
-                                      Scope specifies the subject scope and 
can be `Header`, `Query`, or `Path`.
+                                      Scope specifies the subject scope.
+                                      Supported values: `Header`, `Query`, 
`Path`, `Cookie`, `Variable`, `Body`.
                                       When Scope is `Path`, Name will be 
ignored.
+                                      When Scope is `Body`, Name supports 
dot-notation JSON path (e.g., "model.version",
+                                      "messages[*].role") and maps to APISIX's 
`post_arg.<name>` variable, which works with
+                                      application/json, 
application/x-www-form-urlencoded, and multipart/form-data.
+                                    enum:
+                                    - Header
+                                    - Query
+                                    - Path
+                                    - Cookie
+                                    - Variable
+                                    - Body
                                     type: string
                                 required:
-                                - name
                                 - scope
                                 type: object
+                                x-kubernetes-validations:
+                                - message: name is required when scope is not 
Path
+                                  rule: self.scope == 'Path' || 
size(self.name) >
+                                    0
                               value:
                                 description: |-
                                   Value defines a single value to compare 
against the subject.
@@ -2240,6 +2287,181 @@ spec:
               BackendTrafficPolicySpec defines traffic handling policies 
applied to backend services,
               such as load balancing strategy, connection settings, and 
failover behavior.
             properties:
+              healthCheck:
+                description: |-
+                  HealthCheck defines active and passive health check 
configuration for
+                  the upstream backends. When configured, APISIX will probe 
backends
+                  (active) or monitor live traffic (passive) to detect and 
bypass
+                  unhealthy nodes.
+                properties:
+                  active:
+                    description: Active health checks proactively send 
requests to
+                      upstream nodes to determine their availability.
+                    properties:
+                      concurrency:
+                        description: Concurrency sets the number of targets to 
be
+                          checked at the same time.
+                        minimum: 0
+                        type: integer
+                      healthy:
+                        description: Healthy configures the thresholds for 
marking
+                          a node healthy.
+                        properties:
+                          httpCodes:
+                            description: HTTPCodes is the list of HTTP status 
codes
+                              considered healthy.
+                            items:
+                              type: integer
+                            minItems: 1
+                            type: array
+                          interval:
+                            description: |-
+                              Interval defines the time between health check 
probes.
+                              Minimum is 1s.
+                            type: string
+                          successes:
+                            description: Successes is the number of 
consecutive successful
+                              responses required to mark a node healthy.
+                            maximum: 254
+                            minimum: 0
+                            type: integer
+                        type: object
+                      host:
+                        description: Host sets the upstream host used in the 
health
+                          check request.
+                        type: string
+                      httpPath:
+                        description: HTTPPath sets the HTTP path for the probe 
request.
+                        type: string
+                      port:
+                        description: Port sets the port on the upstream node 
to probe.
+                        format: int32
+                        maximum: 65535
+                        minimum: 1
+                        type: integer
+                      requestHeaders:
+                        description: RequestHeaders sets additional HTTP 
request headers
+                          for the probe.
+                        items:
+                          type: string
+                        type: array
+                      strictTLS:
+                        description: StrictTLS controls whether TLS 
certificate validation
+                          is enforced.
+                        type: boolean
+                      timeout:
+                        description: Timeout sets health check timeout.
+                        type: string
+                      type:
+                        default: http
+                        description: Type is the health check type. Can be 
`http`,
+                          `https`, or `tcp`.
+                        enum:
+                        - http
+                        - https
+                        - tcp
+                        type: string
+                      unhealthy:
+                        description: Unhealthy configures the thresholds for 
marking
+                          a node unhealthy.
+                        properties:
+                          httpCodes:
+                            description: HTTPCodes is the list of HTTP status 
codes
+                              considered unhealthy.
+                            items:
+                              type: integer
+                            minItems: 1
+                            type: array
+                          httpFailures:
+                            description: HTTPFailures is the number of HTTP 
failures
+                              to mark a node unhealthy.
+                            maximum: 254
+                            minimum: 0
+                            type: integer
+                          interval:
+                            description: |-
+                              Interval defines the time between health check 
probes.
+                              Minimum is 1s.
+                            type: string
+                          tcpFailures:
+                            description: TCPFailures is the number of TCP 
failures
+                              to mark a node unhealthy.
+                            maximum: 254
+                            minimum: 0
+                            type: integer
+                          timeouts:
+                            description: Timeouts is the number of timeouts to 
mark
+                              a node unhealthy.
+                            maximum: 254
+                            minimum: 1
+                            type: integer
+                        type: object
+                    type: object
+                  passive:
+                    description: Passive health checks evaluate upstream 
health based
+                      on observed traffic (timeouts, errors).
+                    properties:
+                      healthy:
+                        description: Healthy defines conditions under which a 
node
+                          is considered healthy.
+                        properties:
+                          httpCodes:
+                            description: HTTPCodes is the list of HTTP status 
codes
+                              considered healthy.
+                            items:
+                              type: integer
+                            minItems: 1
+                            type: array
+                          successes:
+                            description: Successes is the number of 
consecutive successful
+                              responses required to mark a node healthy.
+                            maximum: 254
+                            minimum: 0
+                            type: integer
+                        type: object
+                      type:
+                        default: http
+                        description: Type is the passive health check type. 
Can be
+                          `http`, `https`, or `tcp`.
+                        enum:
+                        - http
+                        - https
+                        - tcp
+                        type: string
+                      unhealthy:
+                        description: Unhealthy defines conditions under which 
a node
+                          is considered unhealthy.
+                        properties:
+                          httpCodes:
+                            description: HTTPCodes is the list of HTTP status 
codes
+                              considered unhealthy.
+                            items:
+                              type: integer
+                            minItems: 1
+                            type: array
+                          httpFailures:
+                            description: HTTPFailures is the number of HTTP 
failures
+                              to mark a node unhealthy.
+                            maximum: 254
+                            minimum: 0
+                            type: integer
+                          tcpFailures:
+                            description: TCPFailures is the number of TCP 
failures
+                              to mark a node unhealthy.
+                            maximum: 254
+                            minimum: 0
+                            type: integer
+                          timeouts:
+                            description: Timeouts is the number of timeouts to 
mark
+                              a node unhealthy.
+                            maximum: 254
+                            minimum: 1
+                            type: integer
+                        type: object
+                    type: object
+                required:
+                - active
+                type: object
               loadbalancer:
                 description: |-
                   LoadBalancer represents the load balancer configuration for 
Kubernetes Service.
diff --git a/charts/apisix-ingress-controller/templates/configmap.yaml 
b/charts/apisix-ingress-controller/templates/configmap.yaml
index 799aa01..4d2833d 100644
--- a/charts/apisix-ingress-controller/templates/configmap.yaml
+++ b/charts/apisix-ingress-controller/templates/configmap.yaml
@@ -35,6 +35,7 @@ data:
     secure_metrics: {{ .Values.config.secureMetrics | default false }}
     exec_adc_timeout: {{ .Values.config.execADCTimeout | default "15s" }}
     disable_gateway_api: {{ .Values.config.disableGatewayAPI | default false }}
+    listener_port_match_mode: {{ .Values.config.listenerPortMatchMode | 
default "auto" }}
     provider:
       type: {{ .Values.config.provider.type | default "apisix" }}
       sync_period: {{ .Values.config.provider.syncPeriod | default "1s" }}
diff --git a/charts/apisix-ingress-controller/values.yaml 
b/charts/apisix-ingress-controller/values.yaml
index 70d597e..0b2cb33 100644
--- a/charts/apisix-ingress-controller/values.yaml
+++ b/charts/apisix-ingress-controller/values.yaml
@@ -65,7 +65,7 @@ deployment:
   image:
     repository: apache/apisix-ingress-controller
     pullPolicy: IfNotPresent
-    tag: "2.0.1"
+    tag: "2.1.0"
   # -- Set pod resource requests & limits
   resources: {}
 
@@ -73,7 +73,7 @@ deployment:
   adcContainer:
     image:
       repository: ghcr.io/api7/adc
-      tag: "0.24.2"
+      tag: "0.26.0"
     config:
       logLevel: "info"
 
@@ -92,6 +92,7 @@ config:
   secureMetrics: false
   execADCTimeout: "15s"
   disableGatewayAPI: false
+  listenerPortMatchMode: "auto"
   provider:
     type: "apisix"
     syncPeriod: "1m"

Reply via email to