From ca30ebfd3c4f157dfa11fcfbcacaec1fb891667f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Verstraeten?= Date: Tue, 26 May 2026 06:50:39 +0000 Subject: [PATCH] Move MQTT and TURN credentials to hub-api for enhanced security --- charts/hub/templates/kerberos-hub/hub-api.yaml | 14 ++++++++++++++ .../templates/kerberos-hub/hub-frontend-demo.yaml | 14 ++++++-------- .../hub/templates/kerberos-hub/hub-frontend.yaml | 14 ++++++-------- 3 files changed, 26 insertions(+), 16 deletions(-) diff --git a/charts/hub/templates/kerberos-hub/hub-api.yaml b/charts/hub/templates/kerberos-hub/hub-api.yaml index 1e98253..a02aa20 100644 --- a/charts/hub/templates/kerberos-hub/hub-api.yaml +++ b/charts/hub/templates/kerberos-hub/hub-api.yaml @@ -194,6 +194,20 @@ spec: value: "{{ .Values.kerberoshub.api.fallbackLanguage }}" - name: API_KEY value: "{{ .Values.kerberoshub.api.apiKey }}" + + # MQTT credentials (served via /runtime/config to authenticated + # frontend clients; no longer exposed in the public env.js). + - name: MQTT_USERNAME + value: "{{ .Values.mqtt.username }}" + - name: MQTT_PASSWORD + value: "{{ .Values.mqtt.password }}" + + # TURN credentials (served via /runtime/config to authenticated + # frontend clients; no longer exposed in the public env.js). + - name: TURN_USERNAME + value: "{{ .Values.turn.username }}" + - name: TURN_PASSWORD + value: "{{ .Values.turn.password }}" {{- if .Values.kerberoshub.api.serverTLS.enabled }} - name: TLS_CERT_FILE value: "{{ .Values.kerberoshub.api.serverTLS.certFile }}" diff --git a/charts/hub/templates/kerberos-hub/hub-frontend-demo.yaml b/charts/hub/templates/kerberos-hub/hub-frontend-demo.yaml index db5ec95..0021dd0 100644 --- a/charts/hub/templates/kerberos-hub/hub-frontend-demo.yaml +++ b/charts/hub/templates/kerberos-hub/hub-frontend-demo.yaml @@ -148,10 +148,9 @@ spec: value: "{{ .Values.mqtt.host }}" - name: MQTT_PORT value: "{{ .Values.mqtt.port }}" - - name: MQTT_USERNAME - value: "{{ .Values.mqtt.username }}" - - name: MQTT_PASSWORD - value: "{{ .Values.mqtt.password }}" + # MQTT_USERNAME / MQTT_PASSWORD are intentionally not exposed to the + # frontend. They are fetched from the authenticated hub-api endpoint + # /runtime/config after login. See hub-api deployment. - name: MQTT_LEGACY_SERVER value: "{{ .Values.mqtt.legacy.host }}" - name: MQTT_LEGACY_PORT @@ -164,10 +163,9 @@ spec: # Turn (Pion) - name: TURN_SERVER value: "{{ .Values.turn.host }}" - - name: TURN_USERNAME - value: "{{ .Values.turn.username }}" - - name: TURN_PASSWORD - value: "{{ .Values.turn.password }}" + # TURN_USERNAME / TURN_PASSWORD are intentionally not exposed to the + # frontend. They are fetched from the authenticated hub-api endpoint + # /runtime/config after login. See hub-api deployment. # Mixpanel for monitoring - name: MIXPANEL_KEY diff --git a/charts/hub/templates/kerberos-hub/hub-frontend.yaml b/charts/hub/templates/kerberos-hub/hub-frontend.yaml index 4bd11c2..896184e 100644 --- a/charts/hub/templates/kerberos-hub/hub-frontend.yaml +++ b/charts/hub/templates/kerberos-hub/hub-frontend.yaml @@ -229,10 +229,9 @@ spec: value: "{{ .Values.mqtt.host }}" - name: MQTT_PORT value: "{{ .Values.mqtt.port }}" - - name: MQTT_USERNAME - value: "{{ .Values.mqtt.username }}" - - name: MQTT_PASSWORD - value: "{{ .Values.mqtt.password }}" + # MQTT_USERNAME / MQTT_PASSWORD are intentionally not exposed to the + # frontend. They are fetched from the authenticated hub-api endpoint + # /runtime/config after login. See hub-api deployment. - name: MQTT_LEGACY_SERVER value: "{{ .Values.mqtt.legacy.host }}" - name: MQTT_LEGACY_PORT @@ -245,10 +244,9 @@ spec: # Turn (Pion) - name: TURN_SERVER value: "{{ .Values.turn.host }}" - - name: TURN_USERNAME - value: "{{ .Values.turn.username }}" - - name: TURN_PASSWORD - value: "{{ .Values.turn.password }}" + # TURN_USERNAME / TURN_PASSWORD are intentionally not exposed to the + # frontend. They are fetched from the authenticated hub-api endpoint + # /runtime/config after login. See hub-api deployment. # Mixpanel for monitoring - name: MIXPANEL_KEY