From 4e32246578d7fbf5d982cd13f5a1e7f6ed97bbd9 Mon Sep 17 00:00:00 2001 From: AlinsRan Date: Thu, 10 Sep 2026 14:35:31 +0800 Subject: [PATCH] chore: upgrade api7-ingress-controller to 2.2.1 - Bump ingress-controller image tag: 2.2.0 -> 2.2.1 - Bump ADC image tag: 0.27.1 -> 0.30.2 - Sync CRDs from api7-ingress-controller 2.2.1: - GatewayProxy: new controlPlane.auth.caCert for a private CA on the control plane connection - Consumer / PluginConfig / L4RoutePolicy: new plugins[].secretRef to keep sensitive plugin configuration in a Secret - Regenerate chart README --- charts/ingress-controller/Chart.yaml | 4 +- charts/ingress-controller/README.md | 6 +- .../ingress-controller/crds/apisix-crds.yaml | 74 +++++++++++++++++++ charts/ingress-controller/values.yaml | 4 +- 4 files changed, 81 insertions(+), 7 deletions(-) diff --git a/charts/ingress-controller/Chart.yaml b/charts/ingress-controller/Chart.yaml index 168066e..8b31a94 100644 --- a/charts/ingress-controller/Chart.yaml +++ b/charts/ingress-controller/Chart.yaml @@ -6,8 +6,8 @@ keywords: - api7 - crd type: application -version: 0.1.27 -appVersion: 2.2.0 +version: 0.1.28 +appVersion: 2.2.1 maintainers: - name: API7 email: support@api7.ai diff --git a/charts/ingress-controller/README.md b/charts/ingress-controller/README.md index 6b6858c..bbb7fa9 100644 --- a/charts/ingress-controller/README.md +++ b/charts/ingress-controller/README.md @@ -1,6 +1,6 @@ # api7-ingress-controller -![Version: 0.1.27](https://img.shields.io/badge/Version-0.1.27-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.2.0](https://img.shields.io/badge/AppVersion-2.2.0-informational?style=flat-square) +![Version: 0.1.28](https://img.shields.io/badge/Version-0.1.28-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.2.1](https://img.shields.io/badge/AppVersion-2.2.1-informational?style=flat-square) Ingress Controller for API7 @@ -42,7 +42,7 @@ the controller recommends 1.31+ and only warns below it. |-----|------|---------|-------------| | adc.image.pullPolicy | string | `"IfNotPresent"` | | | adc.image.repository | string | `"ghcr.io/api7/adc"` | | -| adc.image.tag | string | `"0.27.1"` | | +| adc.image.tag | string | `"0.30.2"` | | | adc.logLevel | string | `"info"` | | | adc.resources | object | `{}` | | | adc.securityContext | object | `{}` | | @@ -71,7 +71,7 @@ the controller recommends 1.31+ and only warns below it. | deployment.annotations | object | `{}` | | | deployment.image.pullPolicy | string | `"IfNotPresent"` | | | deployment.image.repository | string | `"api7/api7-ingress-controller"` | | -| deployment.image.tag | string | `"2.2.0"` | | +| deployment.image.tag | string | `"2.2.1"` | | | deployment.nodeSelector | object | `{}` | | | deployment.podAnnotations | object | `{}` | | | deployment.podSecurityContext.fsGroup | int | `2000` | | diff --git a/charts/ingress-controller/crds/apisix-crds.yaml b/charts/ingress-controller/crds/apisix-crds.yaml index d1816f7..c9a2980 100644 --- a/charts/ingress-controller/crds/apisix-crds.yaml +++ b/charts/ingress-controller/crds/apisix-crds.yaml @@ -3101,6 +3101,25 @@ spec: name: description: Name is the name of the plugin. type: string + secretRef: + description: |- + SecretRef references a Secret in the same namespace holding sensitive parts of + the plugin configuration, so they do not have to be written in `config`. + Each Secret key is a dot separated path into the configuration, so the key + `session.secret` sets the `secret` field of the `session` object. Values are + merged as strings and take precedence over the same path in `config`. + properties: + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + type: object + x-kubernetes-map-type: atomic required: - name type: object @@ -3292,6 +3311,23 @@ spec: - message: adminKey must be specified when type is AdminKey rule: 'self.type == ''AdminKey'' ? has(self.adminKey) : true' + caCert: + description: |- + CaCert specifies the CA certificate used to verify the control plane's TLS + certificate, in place of the system trust store. + Set it when the control plane uses a self-signed or private CA certificate. + It has no effect when tlsVerify is false. + properties: + value: + description: Value sets the PEM-encoded CA certificate + (or bundle) explicitly. + type: string + x-kubernetes-validations: + - message: value must be a PEM-encoded certificate + rule: self.contains('-----BEGIN CERTIFICATE-----') + required: + - value + type: object endpoints: description: Endpoints specifies the list of control plane endpoints. @@ -3865,6 +3901,25 @@ spec: name: description: Name is the name of the plugin. type: string + secretRef: + description: |- + SecretRef references a Secret in the same namespace holding sensitive parts of + the plugin configuration, so they do not have to be written in `config`. + Each Secret key is a dot separated path into the configuration, so the key + `session.secret` sets the `secret` field of the `session` object. Values are + merged as strings and take precedence over the same path in `config`. + properties: + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + type: object + x-kubernetes-map-type: atomic required: - name type: object @@ -4324,6 +4379,25 @@ spec: name: description: Name is the name of the plugin. type: string + secretRef: + description: |- + SecretRef references a Secret in the same namespace holding sensitive parts of + the plugin configuration, so they do not have to be written in `config`. + Each Secret key is a dot separated path into the configuration, so the key + `session.secret` sets the `secret` field of the `session` object. Values are + merged as strings and take precedence over the same path in `config`. + properties: + name: + default: "" + description: |- + Name of the referent. + This field is effectively required, but due to backwards compatibility is + allowed to be empty. Instances of this type with an empty value here are + almost certainly wrong. + More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names + type: string + type: object + x-kubernetes-map-type: atomic required: - name type: object diff --git a/charts/ingress-controller/values.yaml b/charts/ingress-controller/values.yaml index ca5f113..4cadbde 100644 --- a/charts/ingress-controller/values.yaml +++ b/charts/ingress-controller/values.yaml @@ -34,14 +34,14 @@ deployment: image: repository: api7/api7-ingress-controller pullPolicy: IfNotPresent - tag: "2.2.0" + tag: "2.2.1" # -- Set pod resource requests & limits resources: {} adc: image: repository: ghcr.io/api7/adc - tag: "0.27.1" + tag: "0.30.2" pullPolicy: IfNotPresent logLevel: "info" resources: {}