From 97a1c71a9d4e5e837d14f449482ff5b2d018fde6 Mon Sep 17 00:00:00 2001 From: Campbell Pool Date: Tue, 24 Mar 2026 13:14:42 -0700 Subject: [PATCH 1/2] feat(labels): add gateway.selectorLabels with component label Add gateway.selectorLabels helper with app.kubernetes.io/component: gateway, matching the existing dataservice.selectorLabels pattern. Applied to pod labels and Service selectors (both mutable). Deployment matchLabels left unchanged to avoid requiring recreation. Users who want it in matchLabels can use .Values.selectorLabels. Note: the Service selector now includes component: gateway. During upgrade from a previous version, old pods lack this label and won't receive traffic until new pods are ready. Use maxSurge: 100% or blue-green deploy to avoid downtime on first upgrade. --- charts/portkey-gateway/templates/_helpers.tpl | 12 +++++++++++- .../portkey-gateway/templates/gateway/service.yaml | 4 ++-- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/charts/portkey-gateway/templates/_helpers.tpl b/charts/portkey-gateway/templates/_helpers.tpl index 65f6a1a..1bd54da 100644 --- a/charts/portkey-gateway/templates/_helpers.tpl +++ b/charts/portkey-gateway/templates/_helpers.tpl @@ -52,12 +52,22 @@ app.kubernetes.io/instance: {{ .Release.Name }} {{- end }} {{- end }} +{{/* +Gateway selector labels — adds component label for pod metadata and Service +selectors. Deployment matchLabels uses portkeyenterprise.selectorLabels +(without component) to avoid requiring Deployment recreation on upgrade. +*/}} +{{- define "gateway.selectorLabels" -}} +{{ include "portkeyenterprise.selectorLabels" . }} +app.kubernetes.io/component: gateway +{{- end }} + {{/* Gateway labels */}} {{- define "gateway.labels" -}} {{- include "portkeyenterprise.labels" . | nindent 4 }} -{{- include "portkeyenterprise.selectorLabels" . | nindent 4 }} +{{- include "gateway.selectorLabels" . | nindent 4 }} {{- end }} {{/* diff --git a/charts/portkey-gateway/templates/gateway/service.yaml b/charts/portkey-gateway/templates/gateway/service.yaml index 66a9ddb..2f04bb6 100644 --- a/charts/portkey-gateway/templates/gateway/service.yaml +++ b/charts/portkey-gateway/templates/gateway/service.yaml @@ -23,7 +23,7 @@ spec: name: mcp {{- end }} selector: - {{- include "portkeyenterprise.selectorLabels" . | nindent 4 }} + {{- include "gateway.selectorLabels" . | nindent 4 }} --- {{- if and .Values.mcpService.enabled (eq (include "mcp.enabled" .) "true") }} apiVersion: v1 @@ -47,5 +47,5 @@ spec: protocol: TCP name: mcp selector: - {{- include "portkeyenterprise.selectorLabels" . | nindent 4 }} + {{- include "gateway.selectorLabels" . | nindent 4 }} {{- end }} \ No newline at end of file From f19a6b719640c2906d69221acebdf6c383a9c52c Mon Sep 17 00:00:00 2001 From: Campbell Pool Date: Wed, 25 Mar 2026 13:01:44 -0700 Subject: [PATCH 2/2] Update charts/portkey-gateway/templates/_helpers.tpl Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- charts/portkey-gateway/templates/_helpers.tpl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/charts/portkey-gateway/templates/_helpers.tpl b/charts/portkey-gateway/templates/_helpers.tpl index 1bd54da..11e9baa 100644 --- a/charts/portkey-gateway/templates/_helpers.tpl +++ b/charts/portkey-gateway/templates/_helpers.tpl @@ -59,8 +59,11 @@ selectors. Deployment matchLabels uses portkeyenterprise.selectorLabels */}} {{- define "gateway.selectorLabels" -}} {{ include "portkeyenterprise.selectorLabels" . }} +{{- $selectorLabels := default (dict) .Values.selectorLabels -}} +{{- if not (hasKey $selectorLabels "app.kubernetes.io/component") }} app.kubernetes.io/component: gateway {{- end }} +{{- end }} {{/* Gateway labels