You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by al...@apache.org on 2026/10/15 06:36:34 UTC

(apisix-helm-chart) branch master updated: fix(apisix): make ingress-controller Admin API access configurable and support IPv6 (#1023)

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 53115d6  fix(apisix): make ingress-controller Admin API access configurable and support IPv6 (#1023)
53115d6 is described below

commit 53115d6ab51e14eec55d0689ad7e70c28b6ce11f
Author: AlinsRan <al...@apache.org>
AuthorDate: Thu Oct 15 14:36:28 2026 +0800

    fix(apisix): make ingress-controller Admin API access configurable and support IPv6 (#1023)
---
 charts/apisix/Chart.yaml               |  2 +-
 charts/apisix/README.md                |  1 +
 charts/apisix/templates/configmap.yaml | 14 +++++---------
 charts/apisix/values.yaml              |  6 ++++++
 4 files changed, 13 insertions(+), 10 deletions(-)

diff --git a/charts/apisix/Chart.yaml b/charts/apisix/Chart.yaml
index a5a29ac..f442860 100644
--- a/charts/apisix/Chart.yaml
+++ b/charts/apisix/Chart.yaml
@@ -31,7 +31,7 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 2.18.1
+version: 2.18.2
 
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
diff --git a/charts/apisix/README.md b/charts/apisix/README.md
index d15bffe..aa8ad38 100644
--- a/charts/apisix/README.md
+++ b/charts/apisix/README.md
@@ -41,6 +41,7 @@ The command removes all the Kubernetes components associated with the chart and
 | Key | Type | Default | Description |
 |-----|------|---------|-------------|
 | affinity | object | `{}` | Set affinity for Apache APISIX deploy |
+| apisix.admin.allow.ingressControllerExtraIpList | list | `["0.0.0.0/0","::/0"]` | Client IP CIDRs appended to ipList when ingress-controller.enabled is true, so that the bundled ingress controller can reach the Admin API. Narrow it to the ingress controller Pod CIDR, or set it to [] to append nothing. |
 | apisix.admin.allow.ipList | list | `["127.0.0.1/24"]` | The client IP CIDR allowed to access Apache APISIX Admin API service. |
 | apisix.admin.cors | bool | `true` | Admin API support CORS response headers |
 | apisix.admin.credentials | object | `{"admin":"edd1c9f034335f136f87ad84b625c8f1","secretAdminKey":"","secretName":"","secretViewerKey":"","viewer":"4054f7cf07e344346cd3f287985e76a2"}` | Admin API credentials |
diff --git a/charts/apisix/templates/configmap.yaml b/charts/apisix/templates/configmap.yaml
index 9f08bf8..edf07b2 100644
--- a/charts/apisix/templates/configmap.yaml
+++ b/charts/apisix/templates/configmap.yaml
@@ -378,17 +378,13 @@ data:
       admin:
         enable_admin_ui: {{ .Values.apisix.admin.enable_admin_ui }}
         allow_admin:    # http://nginx.org/en/docs/http/ngx_http_access_module.html#allow
-        {{- if .Values.apisix.admin.allow.ipList }}
-        {{- range $ips := .Values.apisix.admin.allow.ipList }}
+        {{- $allowAdmin := .Values.apisix.admin.allow.ipList | default (list "0.0.0.0/0") }}
+        {{- if (index .Values "ingress-controller" "enabled") }}
+        {{- $allowAdmin = concat $allowAdmin (.Values.apisix.admin.allow.ingressControllerExtraIpList | default list) }}
+        {{- end }}
+        {{- range $ips := uniq $allowAdmin }}
           - {{ $ips | quote }}
         {{- end }}
-        {{- else }}
-          - 0.0.0.0/0
-        {{- end}}
-        {{- if (index .Values "ingress-controller" "enabled") }}
-          - 0.0.0.0/0
-        {{- end}}
-        #   - "::/64"
         {{- if .Values.apisix.admin.enabled }}
         admin_listen:
           ip: {{ .Values.apisix.admin.ip | quote }}
diff --git a/charts/apisix/values.yaml b/charts/apisix/values.yaml
index dd13c3d..6c2e9d6 100644
--- a/charts/apisix/values.yaml
+++ b/charts/apisix/values.yaml
@@ -535,6 +535,12 @@ apisix:
       # -- The client IP CIDR allowed to access Apache APISIX Admin API service.
       ipList:
         - 127.0.0.1/24
+      # -- Client IP CIDRs appended to ipList when ingress-controller.enabled is true,
+      # so that the bundled ingress controller can reach the Admin API.
+      # Narrow it to the ingress controller Pod CIDR, or set it to [] to append nothing.
+      ingressControllerExtraIpList:
+        - 0.0.0.0/0
+        - "::/0"
     # -- Using ingress access Apache APISIX admin service
     ingress:
       # -- Enable an Ingress resource in front of the Admin API service