From 1bfaf829523173c3c52c53f2c3cf9357adc8401d Mon Sep 17 00:00:00 2001 From: Dennis Paradzinski Date: Thu, 14 May 2026 03:27:09 +0200 Subject: [PATCH] feat(web): disable Jitsi-watermark overlay in video feed interface_config.js is shipped hardcoded by jitsi/web with SHOW_JITSI_WATERMARK: true and there's no env-var override in the upstream image. Patch via postStart lifecycle hook so the runtime- rendered file gets sed'd after startup-templating finishes. nginx serves the file fresh on every request, so the tiny race between pod-ready and postStart completing is irrelevant in practice. --- infra/k3s/50-web.yaml | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/infra/k3s/50-web.yaml b/infra/k3s/50-web.yaml index 199f842..b9484a7 100644 --- a/infra/k3s/50-web.yaml +++ b/infra/k3s/50-web.yaml @@ -21,6 +21,26 @@ spec: - secretRef: { name: jitsi-secrets } ports: - { name: http, containerPort: 80 } + # interface_config.js is rendered from /defaults at container + # startup. The Jitsi-logo overlay in the video tile is controlled + # by SHOW_JITSI_WATERMARK which is hardcoded to `true` upstream + # and not exposed as an env var. Patch the rendered file via + # postStart — runs after startup-templating; nginx re-serves the + # file from disk on every request so any tiny race is fine. + lifecycle: + postStart: + exec: + command: + - /bin/sh + - -c + - | + for i in $(seq 1 30); do + [ -f /config/interface_config.js ] && break + sleep 1 + done + sed -i 's/SHOW_JITSI_WATERMARK: true/SHOW_JITSI_WATERMARK: false/' /config/interface_config.js + sed -i "s|JITSI_WATERMARK_LINK: '[^']*'|JITSI_WATERMARK_LINK: ''|" /config/interface_config.js + sed -i 's/SHOW_POWERED_BY: true/SHOW_POWERED_BY: false/' /config/interface_config.js readinessProbe: httpGet: { path: /, port: 80 } initialDelaySeconds: 10