diff --git a/charts/ingress-controller/Chart.yaml b/charts/ingress-controller/Chart.yaml index 696a856..a51fccd 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.14 -appVersion: 2.0.8 +version: 0.1.15 +appVersion: 2.0.9 maintainers: - name: API7 email: support@api7.ai diff --git a/charts/ingress-controller/README.md b/charts/ingress-controller/README.md index 4299189..5bef101 100644 --- a/charts/ingress-controller/README.md +++ b/charts/ingress-controller/README.md @@ -1,6 +1,6 @@ # api7-ingress-controller -![Version: 0.1.14](https://img.shields.io/badge/Version-0.1.14-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.0.8](https://img.shields.io/badge/AppVersion-2.0.8-informational?style=flat-square) +![Version: 0.1.15](https://img.shields.io/badge/Version-0.1.15-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 2.0.9](https://img.shields.io/badge/AppVersion-2.0.9-informational?style=flat-square) Ingress Controller for API7 @@ -20,7 +20,7 @@ Ingress Controller for API7 |-----|------|---------|-------------| | adc.image.pullPolicy | string | `"IfNotPresent"` | | | adc.image.repository | string | `"ghcr.io/api7/adc"` | | -| adc.image.tag | string | `"0.21.1"` | | +| adc.image.tag | string | `"0.21.2"` | | | adc.resources | object | `{}` | | | adc.securityContext | object | `{}` | | | autoscaling.enabled | bool | `false` | | @@ -44,7 +44,7 @@ Ingress Controller for API7 | deployment.annotations | object | `{}` | | | deployment.image.pullPolicy | string | `"IfNotPresent"` | | | deployment.image.repository | string | `"api7/api7-ingress-controller"` | | -| deployment.image.tag | string | `"2.0.8"` | | +| deployment.image.tag | string | `"2.0.9"` | | | deployment.nodeSelector | object | `{}` | | | deployment.podAnnotations | object | `{}` | | | deployment.podSecurityContext | object | `{}` | | diff --git a/charts/ingress-controller/crds/apisix-crds.yaml b/charts/ingress-controller/crds/apisix-crds.yaml index 20b3e17..151cc00 100644 --- a/charts/ingress-controller/crds/apisix-crds.yaml +++ b/charts/ingress-controller/crds/apisix-crds.yaml @@ -1015,6 +1015,9 @@ spec: - name type: object type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map ingressClassName: description: |- IngressClassName is the name of the IngressClass this route belongs to. @@ -1128,6 +1131,9 @@ spec: - protocol type: object type: array + x-kubernetes-list-map-keys: + - name + x-kubernetes-list-type: map type: object status: description: ApisixStatus is the status report for Apisix ingress Resources @@ -1433,9 +1439,7 @@ spec: description: ApisixUpstreamSpec defines the upstream configuration. properties: discovery: - description: |- - Discovery configures service discovery for the upstream. - Deprecated: no longer supported in standalone mode. + description: Discovery configures service discovery for the upstream. properties: args: additionalProperties: @@ -1472,6 +1476,8 @@ spec: port: description: Port specifies the port number on which the external node is accepting traffic. + maximum: 65535 + minimum: 1 type: integer type: description: Type indicates the kind of external node. Can be @@ -1486,9 +1492,8 @@ spec: minItems: 1 type: array healthCheck: - description: |- - HealthCheck defines the active and passive health check configuration for the upstream. - Deprecated: no longer supported in standalone mode. + description: HealthCheck defines the active and passive health check + configuration for the upstream. properties: active: description: Active health checks proactively send requests to @@ -1531,7 +1536,7 @@ spec: description: Port sets the upstream port. format: int32 maximum: 65535 - minimum: 0 + minimum: 1 type: integer requestHeaders: description: RequestHeaders sets the request headers. @@ -1546,6 +1551,7 @@ spec: format: int64 type: integer type: + default: http description: Type is the health check type. Can be `http`, `https`, or `tcp`. enum: @@ -1581,7 +1587,11 @@ spec: minimum: 0 type: integer timeout: - description: Timeout sets health check timeout in seconds. + description: |- + Timeout sets health check timeout in seconds. + https://github.com/apache/apisix/blob/0151d9e35bba63d7c316187272d88e19db0be634/apisix/schema_def.lua#L196 + maximum: 254 + minimum: 1 type: integer type: object type: object @@ -1608,9 +1618,14 @@ spec: type: integer type: object type: + default: http description: |- Type specifies the type of passive health check. Can be `http`, `https`, or `tcp`. + enum: + - http + - https + - tcp type: string unhealthy: description: Unhealthy defines the conditions under which @@ -1636,7 +1651,11 @@ spec: minimum: 0 type: integer timeout: - description: Timeout sets health check timeout in seconds. + description: |- + Timeout sets health check timeout in seconds. + https://github.com/apache/apisix/blob/0151d9e35bba63d7c316187272d88e19db0be634/apisix/schema_def.lua#L196 + maximum: 254 + minimum: 1 type: integer type: object type: object @@ -1713,9 +1732,8 @@ spec: them if they are set on the port level. properties: discovery: - description: |- - Discovery configures service discovery for the upstream. - Deprecated: no longer supported in standalone mode. + description: Discovery configures service discovery for the + upstream. properties: args: additionalProperties: @@ -1735,9 +1753,8 @@ spec: - type type: object healthCheck: - description: |- - HealthCheck defines the active and passive health check configuration for the upstream. - Deprecated: no longer supported in standalone mode. + description: HealthCheck defines the active and passive health + check configuration for the upstream. properties: active: description: Active health checks proactively send requests @@ -1780,7 +1797,7 @@ spec: description: Port sets the upstream port. format: int32 maximum: 65535 - minimum: 0 + minimum: 1 type: integer requestHeaders: description: RequestHeaders sets the request headers. @@ -1795,6 +1812,7 @@ spec: format: int64 type: integer type: + default: http description: Type is the health check type. Can be `http`, `https`, or `tcp`. enum: @@ -1830,8 +1848,11 @@ spec: minimum: 0 type: integer timeout: - description: Timeout sets health check timeout in - seconds. + description: |- + Timeout sets health check timeout in seconds. + https://github.com/apache/apisix/blob/0151d9e35bba63d7c316187272d88e19db0be634/apisix/schema_def.lua#L196 + maximum: 254 + minimum: 1 type: integer type: object type: object @@ -1858,9 +1879,14 @@ spec: type: integer type: object type: + default: http description: |- Type specifies the type of passive health check. Can be `http`, `https`, or `tcp`. + enum: + - http + - https + - tcp type: string unhealthy: description: Unhealthy defines the conditions under @@ -1886,8 +1912,11 @@ spec: minimum: 0 type: integer timeout: - description: Timeout sets health check timeout in - seconds. + description: |- + Timeout sets health check timeout in seconds. + https://github.com/apache/apisix/blob/0151d9e35bba63d7c316187272d88e19db0be634/apisix/schema_def.lua#L196 + maximum: 254 + minimum: 1 type: integer type: object type: object @@ -1950,6 +1979,8 @@ spec: port: description: Port is a Kubernetes Service port. format: int32 + maximum: 65535 + minimum: 1 type: integer retries: description: |- @@ -2976,6 +3007,9 @@ spec: type: object type: object type: object + x-kubernetes-validations: + - message: exactly one of value or valueFrom must be specified + rule: has(self.value) != has(self.valueFrom) type: description: |- Type specifies the type of authentication. @@ -2986,6 +3020,10 @@ spec: required: - type type: object + x-kubernetes-validations: + - message: adminKey must be specified when type is AdminKey + rule: 'self.type == ''AdminKey'' ? has(self.adminKey) : + true' endpoints: description: Endpoints specifies the list of control plane endpoints. @@ -3041,6 +3079,8 @@ spec: items: type: string type: array + required: + - provider type: object type: object served: true diff --git a/charts/ingress-controller/templates/cluster_role.yaml b/charts/ingress-controller/templates/cluster_role.yaml index fd327a2..6b37c82 100644 --- a/charts/ingress-controller/templates/cluster_role.yaml +++ b/charts/ingress-controller/templates/cluster_role.yaml @@ -91,6 +91,7 @@ rules: - grpcroutes/status - httproutes/status - referencegrants/status + - tcproutes/status verbs: - get - update @@ -101,6 +102,7 @@ rules: - grpcroutes - httproutes - referencegrants + - tcproutes verbs: - get - list diff --git a/charts/ingress-controller/templates/webhook.yaml b/charts/ingress-controller/templates/webhook.yaml index b427ab5..e7609f0 100644 --- a/charts/ingress-controller/templates/webhook.yaml +++ b/charts/ingress-controller/templates/webhook.yaml @@ -202,6 +202,72 @@ webhooks: apiGroups: ["gateway.networking.k8s.io"] apiVersions: ["v1"] resources: ["gateways"] +- name: vgrpcroute-v1.kb.io + admissionReviewVersions: ["v1"] + clientConfig: + {{- if not .Values.webhook.certificate.provided }} + caBundle: {{ b64enc $caCert }} + {{- else }} + caBundle: {{ .Values.webhook.certificate.caBundle }} + {{- end }} + service: + name: {{ include "api7-ingress-controller-manager.webhook.serviceName" . }} + namespace: {{ .Release.Namespace }} + path: /validate-gateway-networking-k8s-io-v1-grpcroute + failurePolicy: {{ .Values.webhook.failurePolicy }} + {{- with .Values.webhook.timeoutSeconds }} + timeoutSeconds: {{ . }} + {{- end }} + sideEffects: None + rules: + - operations: ["CREATE", "UPDATE"] + apiGroups: ["gateway.networking.k8s.io"] + apiVersions: ["v1"] + resources: ["grpcroutes"] +- name: vhttproute-v1.kb.io + admissionReviewVersions: ["v1"] + clientConfig: + {{- if not .Values.webhook.certificate.provided }} + caBundle: {{ b64enc $caCert }} + {{- else }} + caBundle: {{ .Values.webhook.certificate.caBundle }} + {{- end }} + service: + name: {{ include "api7-ingress-controller-manager.webhook.serviceName" . }} + namespace: {{ .Release.Namespace }} + path: /validate-gateway-networking-k8s-io-v1-httproute + failurePolicy: {{ .Values.webhook.failurePolicy }} + {{- with .Values.webhook.timeoutSeconds }} + timeoutSeconds: {{ . }} + {{- end }} + sideEffects: None + rules: + - operations: ["CREATE", "UPDATE"] + apiGroups: ["gateway.networking.k8s.io"] + apiVersions: ["v1"] + resources: ["httproutes"] +- name: vtcproute-v1alpha2.kb.io + admissionReviewVersions: ["v1"] + clientConfig: + {{- if not .Values.webhook.certificate.provided }} + caBundle: {{ b64enc $caCert }} + {{- else }} + caBundle: {{ .Values.webhook.certificate.caBundle }} + {{- end }} + service: + name: {{ include "api7-ingress-controller-manager.webhook.serviceName" . }} + namespace: {{ .Release.Namespace }} + path: /validate-gateway-networking-k8s-io-v1alpha2-tcproute + failurePolicy: {{ .Values.webhook.failurePolicy }} + {{- with .Values.webhook.timeoutSeconds }} + timeoutSeconds: {{ . }} + {{- end }} + sideEffects: None + rules: + - operations: ["CREATE", "UPDATE"] + apiGroups: ["gateway.networking.k8s.io"] + apiVersions: ["v1alpha2"] + resources: ["tcproutes"] --- apiVersion: v1 diff --git a/charts/ingress-controller/values.yaml b/charts/ingress-controller/values.yaml index 63316f9..f0c259c 100644 --- a/charts/ingress-controller/values.yaml +++ b/charts/ingress-controller/values.yaml @@ -31,14 +31,14 @@ deployment: image: repository: api7/api7-ingress-controller pullPolicy: IfNotPresent - tag: "2.0.8" + tag: "2.0.9" # -- Set pod resource requests & limits resources: {} adc: image: repository: ghcr.io/api7/adc - tag: "0.21.1" + tag: "0.21.2" pullPolicy: IfNotPresent resources: {} securityContext: {}