chore: support cofiguring TLS for stream ports
Signed-off-by: Chao Zhang <tokers@apache.org>
diff --git a/charts/apisix/templates/configmap.yaml b/charts/apisix/templates/configmap.yaml
index ad9bcde..caad823 100644
--- a/charts/apisix/templates/configmap.yaml
+++ b/charts/apisix/templates/configmap.yaml
@@ -136,8 +136,13 @@
tcp: # TCP proxy port list
{{- if gt (len .Values.gateway.stream.tcp) 0}}
{{- range .Values.gateway.stream.tcp }}
+ {{- if kindIs "map" . }}
+ - addr: {{ .addr }}
+ tls: {{ .tls | default false }}
+ {{- else }}
- {{ . }}
{{- end }}
+ {{- end }}
{{- else}}
- 9100
{{- end }}
@@ -146,7 +151,12 @@
udp: # UDP proxy port list
{{- if gt (len .Values.gateway.stream.udp) 0}}
{{- range .Values.gateway.stream.udp }}
- - {{ . }}
+ {{- if kindIs "map" . }}
+ - addr: {{ .addr }}
+ tls: {{ .tls | default false }}
+ {{- else }}
+ - {{ . }}
+ {{- end }}
{{- end }}
{{- else}}
- 9200
diff --git a/charts/apisix/templates/service-gateway.yaml b/charts/apisix/templates/service-gateway.yaml
index db88c4a..0aa327e 100644
--- a/charts/apisix/templates/service-gateway.yaml
+++ b/charts/apisix/templates/service-gateway.yaml
@@ -69,18 +69,28 @@
{{- if and .Values.gateway.stream.enabled (or (gt (len .Values.gateway.stream.tcp) 0) (gt (len .Values.gateway.stream.udp) 0)) }}
{{- with .Values.gateway.stream }}
{{- if (gt (len .tcp) 0) }}
- {{- range $index, $port := .tcp }}
+ {{- range $index, $elem := .tcp }}
- name: proxy-tcp-{{ $index | toString }}
- port: {{ $port }}
- targetPort: {{ $port }}
+ {{- if not (kindIs "map" $elem) }}
+ port: {{ $elem }}
+ targetPort: {{ $elem }}
+ {{- else }}
+ port: {{ splitList ":" (toString $elem.addr) | last }}
+ targetPort: {{ splitList ":" (toString $elem.addr) | last }}
+ {{- end }}
protocol: TCP
{{- end }}
{{- end }}
{{- if (gt (len .udp) 0) }}
- {{- range $index, $port := .udp }}
+ {{- range $index, $elem := .udp }}
- name: proxy-udp-{{ $index | toString }}
- port: {{ $port }}
- targetPort: {{ $port }}
+ {{- if not (kindIs "map" $elem) }}
+ port: {{ $elem }}
+ targetPort: {{ $elem }}
+ {{- else }}
+ port: {{ splitList ":" (toString $elem.addr) | last }}
+ targetPort: {{ splitList ":" (toString $elem.addr) | last }}
+ {{- end }}
protocol: UDP
{{- end }}
{{- end }}
diff --git a/charts/apisix/values.yaml b/charts/apisix/values.yaml
index df11f77..ddda0e8 100644
--- a/charts/apisix/values.yaml
+++ b/charts/apisix/values.yaml
@@ -202,7 +202,17 @@
stream:
enabled: false
only: false
+ # define several tcp ports. Elements
+ # tcp:
+ # - 9100
+ # - addr: 127.0.0.1:9101
+ # tls: true
tcp: []
+ # define several udp ports. Elements
+ # udp:
+ # - 9200
+ # - addr: 127.0.0.1:9201
+ # tls: true
udp: []
# -- Using ingress access Apache APISIX service
ingress: