From 2e4ffa1f4ccdc977eac307463840b1a58ff0415b Mon Sep 17 00:00:00 2001 From: Jorge Luna Date: Mon, 28 Dec 2020 00:10:42 -0700 Subject: [PATCH] feat(helm_chart): TLS support for dashboard (#3935) * Add TLS support to dashboard --- deploy/charts/emqx/templates/StatefulSet.yaml | 4 ++++ deploy/charts/emqx/templates/service.yaml | 11 +++++++++++ deploy/charts/emqx/values.yaml | 4 ++++ 3 files changed, 19 insertions(+) diff --git a/deploy/charts/emqx/templates/StatefulSet.yaml b/deploy/charts/emqx/templates/StatefulSet.yaml index 9e25ce7e6..43494b6ec 100644 --- a/deploy/charts/emqx/templates/StatefulSet.yaml +++ b/deploy/charts/emqx/templates/StatefulSet.yaml @@ -100,6 +100,10 @@ spec: containerPort: {{ .Values.emqxConfig.EMQX_LISTENER__WSS__EXTERNAL | default 8084 }} - name: dashboard containerPort: {{ .Values.emqxConfig.EMQX_DASHBOARD__LISTENER__HTTP | default 18083 }} + {{- if not (empty .Values.emqxConfig.EMQX_DASHBOARD__LISTENER__HTTPS) }} + - name: dashboardtls + containerPort: {{ .Values.emqxConfig.EMQX_DASHBOARD__LISTENER__HTTPS }} + {{- end }} - name: ekka containerPort: 4370 envFrom: diff --git a/deploy/charts/emqx/templates/service.yaml b/deploy/charts/emqx/templates/service.yaml index ad186adf3..b3c0d6017 100644 --- a/deploy/charts/emqx/templates/service.yaml +++ b/deploy/charts/emqx/templates/service.yaml @@ -77,6 +77,17 @@ spec: {{- else if eq .Values.service.type "ClusterIP" }} nodePort: null {{- end }} + {{- if not (empty .Values.service.dashboardtls) }} + - name: dashboardtls + port: {{ .Values.service.dashboardtls }} + protocol: TCP + targetPort: dashboardtls + {{- if and (or (eq .Values.service.type "NodePort") (eq .Values.service.type "LoadBalancer")) (not (empty .Values.service.nodePorts.dashboardtls)) }} + nodePort: {{ .Values.service.nodePorts.dashboardtls }} + {{- else if eq .Values.service.type "ClusterIP" }} + nodePort: null + {{- end }} + {{- end }} selector: app.kubernetes.io/name: {{ include "emqx.name" . }} app.kubernetes.io/instance: {{ .Release.Name }} diff --git a/deploy/charts/emqx/values.yaml b/deploy/charts/emqx/values.yaml index 0c56d9481..2d82d4a5e 100644 --- a/deploy/charts/emqx/values.yaml +++ b/deploy/charts/emqx/values.yaml @@ -101,6 +101,9 @@ service: ## Port for dashboard ## dashboard: 18083 + ## Port for dashboard HTTPS + ## + # dashboardtls: 18084 ## Specify the nodePort(s) value for the LoadBalancer and NodePort service types. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#type-nodeport ## @@ -111,6 +114,7 @@ service: ws: wss: dashboard: + dashboardtls: ## Set the LoadBalancer service type to internal only. ## ref: https://kubernetes.io/docs/concepts/services-networking/service/#internal-load-balancer ##