From ea7f06f1432a089d0ff26d2386244b8745655ced Mon Sep 17 00:00:00 2001 From: Avanish Yadav Date: Thu, 5 Mar 2026 20:17:24 +0530 Subject: [PATCH] feat: enhance serverMode retrieval in helper template - Updated the mcp.serverMode function to read SERVER_MODE from a Kubernetes Secret when using vault injection or an existing secret. - Added fallback logic to retrieve SERVER_MODE from environment data if the secret is not available. - Improved handling of empty serverMode values to ensure proper trimming and conversion. --- charts/portkey-gateway/templates/_helpers.tpl | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/charts/portkey-gateway/templates/_helpers.tpl b/charts/portkey-gateway/templates/_helpers.tpl index 65f6a1a..d49f69a 100644 --- a/charts/portkey-gateway/templates/_helpers.tpl +++ b/charts/portkey-gateway/templates/_helpers.tpl @@ -360,21 +360,28 @@ Common Environment Env as Map {{/* mcp.serverMode → Returns string +Reads SERVER_MODE from the K8s Secret via lookup when vault injection +or existingSecret is used. Falls back to environment.data if the secret +is not yet available. */}} {{- define "mcp.serverMode" -}} -{{- $env := (include "portkeyenterprise.commonEnvMap" . | fromYaml) -}} {{- $serverMode := "" -}} -{{- if hasKey $env "SERVER_MODE" -}} - {{- $entry := index $env "SERVER_MODE" -}} - {{- if hasKey $entry "value" -}} - {{- $serverMode = (index $entry "value") | toString -}} - {{- else -}} - {{- $serverMode = (index .Values.environment.data "SERVER_MODE") | default "" | toString -}} +{{- if .Values.useVaultInjection -}} + {{- $secretName := .Values.vaultConfig.kubernetesSecret | default .Chart.Name -}} + {{- $secret := lookup "v1" "Secret" .Release.Namespace $secretName -}} + {{- if and $secret $secret.data (hasKey $secret.data "SERVER_MODE") -}} + {{- $serverMode = index $secret.data "SERVER_MODE" | b64dec | toString | trim -}} {{- end -}} -{{- else -}} - {{- $serverMode = (index .Values.environment.data "SERVER_MODE") | default "" | toString -}} +{{- else if and (not .Values.environment.create) .Values.environment.existingSecret -}} + {{- $secret := lookup "v1" "Secret" .Release.Namespace .Values.environment.existingSecret -}} + {{- if and $secret $secret.data (hasKey $secret.data "SERVER_MODE") -}} + {{- $serverMode = index $secret.data "SERVER_MODE" | b64dec | toString | trim -}} + {{- end -}} +{{- end -}} +{{- if eq $serverMode "" -}} + {{- $serverMode = (index .Values.environment.data "SERVER_MODE") | default "" | toString | trim -}} {{- end -}} -{{- $serverMode | trim | toString -}} +{{- $serverMode -}} {{- end -}} {{/*