Skip to content

Commit cdae0a8

Browse files
authored
feat: add fallback_sni configuration to gateway chart (#211)
Signed-off-by: Nic <[email protected]>
1 parent 196e05e commit cdae0a8

File tree

4 files changed

+11
-3
lines changed

4 files changed

+11
-3
lines changed

charts/gateway/Chart.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ type: application
1414
# This is the chart version. This version number should be incremented each time you make changes
1515
# to the chart and its templates, including the app version.
1616
# Versions are expected to follow Semantic Versioning (https://semver.org/)
17-
version: 0.2.27
17+
version: 0.2.28
1818

1919
# This is the version number of the application being deployed. This version number should be
2020
# incremented each time you make changes to the application. Versions are not expected to

charts/gateway/README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ The command removes all the Kubernetes components associated with the chart and
152152
| dns.resolvers[5] | string | `"8.8.8.8"` | |
153153
| dns.timeout | int | `5` | |
154154
| dns.validity | int | `30` | |
155-
| etcd | object | `{"auth":{"rbac":{"create":false,"rootPassword":""},"tls":{"certFilename":"","certKeyFilename":"","enabled":false,"existingSecret":"","sni":"","verify":false}},"enabled":false,"host":["http://etcd.host:2379"],"password":"","prefix":"/apisix","replicaCount":3,"service":{"port":2379},"timeout":30,"user":""}` | etcd configuration use the FQDN address or the IP of the etcd |
155+
| etcd | object | `{"auth":{"rbac":{"create":false,"rootPassword":""},"tls":{"certFilename":"","certKeyFilename":"","enabled":false,"existingSecret":"","sni":"","verify":false}},"enabled":false,"host":["http://etcd.host:2379"],"image":{"repository":"api7/etcd"},"password":"","prefix":"/apisix","replicaCount":3,"service":{"port":2379},"timeout":30,"user":""}` | etcd configuration use the FQDN address or the IP of the etcd |
156156
| etcd.auth | object | `{"rbac":{"create":false,"rootPassword":""},"tls":{"certFilename":"","certKeyFilename":"","enabled":false,"existingSecret":"","sni":"","verify":false}}` | if etcd.enabled is true, set more values of bitnami/etcd helm chart |
157157
| etcd.auth.rbac.create | bool | `false` | No authentication by default. Switch to enable RBAC authentication |
158158
| etcd.auth.rbac.rootPassword | string | `""` | root password for etcd. Requires etcd.auth.rbac.create to be true. |
@@ -183,10 +183,11 @@ The command removes all the Kubernetes components associated with the chart and
183183
| gateway.livenessProbe | object | `{}` | kubernetes liveness probe. |
184184
| gateway.readinessProbe | object | `{}` | kubernetes readiness probe, we will provide a probe based on tcpSocket to gateway's HTTP port by default. |
185185
| gateway.stream | object | `{"enabled":false,"only":false,"tcp":[],"udp":[]}` | API7 Gateway service settings for stream. L4 proxy (TCP/UDP) |
186-
| gateway.tls | object | `{"additionalContainerPorts":[],"certCAFilename":"","containerPort":9443,"enabled":true,"existingCASecret":"","http2":{"enabled":true},"ip":"0.0.0.0","servicePort":443,"sslProtocols":"TLSv1.2 TLSv1.3"}` | API7 Gateway service settings for tls |
186+
| gateway.tls | object | `{"additionalContainerPorts":[],"certCAFilename":"","containerPort":9443,"enabled":true,"existingCASecret":"","fallbackSNI":"","http2":{"enabled":true},"ip":"0.0.0.0","servicePort":443,"sslProtocols":"TLSv1.2 TLSv1.3"}` | API7 Gateway service settings for tls |
187187
| gateway.tls.additionalContainerPorts | list | `[]` | Support multiple https ports, See [Configuration](https://github.com/apache/apisix/blob/0bc65ea9acd726f79f80ae0abd8f50b7eb172e3d/conf/config-default.yaml#L99) |
188188
| gateway.tls.certCAFilename | string | `""` | Filename be used in the gateway.tls.existingCASecret |
189189
| gateway.tls.existingCASecret | string | `""` | Specifies the name of Secret contains trusted CA certificates in the PEM format used to verify the certificate when APISIX needs to do SSL/TLS handshaking with external services (e.g. etcd) |
190+
| gateway.tls.fallbackSNI | string | `""` | If set this, when the client doesn't send SNI during handshake, the fallback SNI will be used instead |
190191
| gateway.tls.ip | string | `"0.0.0.0"` | which ip to listen on for API7 Gateway https service. |
191192
| gateway.tls.sslProtocols | string | `"TLSv1.2 TLSv1.3"` | TLS protocols allowed to use. |
192193
| gateway.type | string | `"NodePort"` | API7 Gateway service type for user access itself |

charts/gateway/templates/configmap.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,9 @@ data:
126126
{{- if and .Values.gateway.tls.enabled .Values.gateway.tls.existingCASecret }}
127127
ssl_trusted_certificate: "system,/usr/local/apisix/conf/ssl/{{ .Values.gateway.tls.certCAFilename }}"
128128
{{- end }}
129+
{{- if .Values.gateway.tls.fallbackSNI }}
130+
fallback_sni: {{ .Values.gateway.tls.fallbackSNI }}
131+
{{- end }}
129132
130133
{{- if .Values.api7ee.status_endpoint.enabled }}
131134
status:

charts/gateway/values.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -297,6 +297,8 @@ gateway:
297297
enabled: true
298298
# -- TLS protocols allowed to use.
299299
sslProtocols: "TLSv1.2 TLSv1.3"
300+
# -- If set this, when the client doesn't send SNI during handshake, the fallback SNI will be used instead
301+
fallbackSNI: ""
300302
# -- API7 Gateway service settings for stream. L4 proxy (TCP/UDP)
301303
stream:
302304
enabled: false
@@ -514,6 +516,8 @@ serviceMonitor:
514516
etcd:
515517
# -- install etcd(v3) by default, set false if do not want to install etcd(v3) together
516518
enabled: false
519+
image:
520+
repository: api7/etcd
517521
# -- if etcd.enabled is false, use external etcd, support multiple address, if your etcd cluster enables TLS, please use https scheme, e.g. https://127.0.0.1:2379.
518522
host:
519523
# host or ip e.g. http://172.20.128.89:2379

0 commit comments

Comments
 (0)