From 3f2bf299e4100f6654b40f99cc6094dd65b883d5 Mon Sep 17 00:00:00 2001 From: Anders Isaksen Date: Mon, 18 May 2026 13:23:51 +0200 Subject: [PATCH] feat: Add support for service.selector override --- charts/common/templates/service.yaml | 4 ++++ charts/common/tests/service_test.yaml | 11 +++++++++++ charts/common/values.schema.json | 4 ++++ charts/common/values.yaml | 2 ++ 4 files changed, 21 insertions(+) diff --git a/charts/common/templates/service.yaml b/charts/common/templates/service.yaml index 03ed844..a2fe567 100644 --- a/charts/common/templates/service.yaml +++ b/charts/common/templates/service.yaml @@ -28,6 +28,10 @@ spec: targetPort: {{ .Values.service.internalPort }} {{- end }} selector: + {{- if .Values.service.selector }} + {{- toYaml .Values.service.selector | nindent 4 }} + {{- else }} app: {{ $releaseName }} + {{- end }} type: ClusterIP {{- end }} diff --git a/charts/common/tests/service_test.yaml b/charts/common/tests/service_test.yaml index 1201c6e..7bbcfd4 100644 --- a/charts/common/tests/service_test.yaml +++ b/charts/common/tests/service_test.yaml @@ -70,3 +70,14 @@ tests: - equal: path: metadata.name value: override + - it: can override selector + set: + service: + selector: + traffic-pool: override + asserts: + - equal: + path: spec.selector["traffic-pool"] + value: override + - isNull: + path: spec.selector.app diff --git a/charts/common/values.schema.json b/charts/common/values.schema.json index 0d9fe8d..45962df 100644 --- a/charts/common/values.schema.json +++ b/charts/common/values.schema.json @@ -250,6 +250,10 @@ "description": "Custom ports spec, overrides default port config", "items": { "type": "object" }, "type": "array" + }, + "selector": { + "description": "Optionally override the Service selector. Defaults to app: ", + "type": "object" } }, "type": "object" diff --git a/charts/common/values.yaml b/charts/common/values.yaml index 40e4b35..5c4d439 100644 --- a/charts/common/values.yaml +++ b/charts/common/values.yaml @@ -177,6 +177,8 @@ service: internalPort: 8080 # -- Optionally set annotations for the service annotations: {} + # -- Optionally override the Service selector. Defaults to app: + selector: {} # -- Takes a list of `container` entries, you must add a `name` field for each entry containers: []