From d65fb1e70548f6fd894ef6d6b03ba0b9666d7354 Mon Sep 17 00:00:00 2001 From: Nikola Jokic Date: Fri, 23 Jan 2026 18:01:56 +0100 Subject: [PATCH] add listener pod expansion --- .../templates/_listener_template.tpl | 26 +++++++++++++++++++ .../templates/autoscalingrunnserset.yaml | 10 +++---- ...runner_set_listener_pod_template_test.yaml | 18 +++++++++++++ 3 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 charts/gha-runner-scale-set-dev/templates/_listener_template.tpl diff --git a/charts/gha-runner-scale-set-dev/templates/_listener_template.tpl b/charts/gha-runner-scale-set-dev/templates/_listener_template.tpl new file mode 100644 index 00000000..f3f97a4c --- /dev/null +++ b/charts/gha-runner-scale-set-dev/templates/_listener_template.tpl @@ -0,0 +1,26 @@ +{{- define "listener-template.pod" -}} +{{- $metadata := .Values.listenerPodTemplate.metadata | default dict -}} +{{- $spec := .Values.listenerPodTemplate.spec | default dict -}} +{{- if and (empty $metadata) (empty $spec) -}} + {{- fail "listenerPodTemplate must have at least metadata or spec defined" -}} +{{- end -}} +{{- with $metadata -}} +metadata: + {{- toYaml . | nindent 2 }} +{{- end }} +{{- with $spec -}} +spec: + {{- $containers := (index . "containers" | default (list)) -}} + {{- if empty $containers }} + containers: + - name: listener + {{- else }} + containers: + {{- toYaml $containers | nindent 4 }} + {{- end }} + {{- $rest := (omit . "containers") -}} + {{- if gt (len $rest) 0 }} + {{- toYaml $rest | nindent 2 }} + {{- end }} +{{- end }} +{{- end -}} \ No newline at end of file diff --git a/charts/gha-runner-scale-set-dev/templates/autoscalingrunnserset.yaml b/charts/gha-runner-scale-set-dev/templates/autoscalingrunnserset.yaml index ca185036..fad40215 100644 --- a/charts/gha-runner-scale-set-dev/templates/autoscalingrunnserset.yaml +++ b/charts/gha-runner-scale-set-dev/templates/autoscalingrunnserset.yaml @@ -151,9 +151,9 @@ spec: minRunners: {{ .Values.scaleset.minRunners | int }} {{- end }} - {{- with .Values.listenerPodTemplate }} + {{- if and .Values.listenerPodTemplate (or .Values.listenerPodTemplate.metadata .Values.listenerPodTemplate.spec) }} listenerTemplate: - {{- toYaml . | nindent 4}} + {{- include "listener-template.pod" . | nindent 4}} {{- end }} {{- with .Values.listenerMetrics }} @@ -177,9 +177,6 @@ spec: {{- end }} spec: serviceAccountName: {{ include "autoscaling-runner-set.template-service-account" . | quote }} - {{- if gt (len $runnerPodSpecExtraFields) 0 }} - {{- toYaml $runnerPodSpecExtraFields | nindent 6 }} - {{- end }} {{- if $hasInitContainers }} initContainers: {{- if and (eq $runnerMode "dind") $dind.copyExternals }} @@ -216,4 +213,7 @@ spec: - {{ toYaml . | nindent 10 }} {{- end }} {{- end }} + {{- end }} + {{- if gt (len $runnerPodSpecExtraFields) 0 }} + {{- toYaml $runnerPodSpecExtraFields | nindent 6 }} {{- end }} \ No newline at end of file diff --git a/charts/gha-runner-scale-set-dev/tests/autoscaling_runner_set_listener_pod_template_test.yaml b/charts/gha-runner-scale-set-dev/tests/autoscaling_runner_set_listener_pod_template_test.yaml index 9a9373d5..4e02866c 100644 --- a/charts/gha-runner-scale-set-dev/tests/autoscaling_runner_set_listener_pod_template_test.yaml +++ b/charts/gha-runner-scale-set-dev/tests/autoscaling_runner_set_listener_pod_template_test.yaml @@ -26,3 +26,21 @@ tests: - equal: path: spec.listenerTemplate.spec.containers[0].securityContext.runAsUser value: 1000 + + - it: should default listenerTemplate containers when not specified + set: + scaleset.name: "test" + auth.url: "https://github.com/org" + auth.githubToken: "gh_token12345" + controllerServiceAccount.name: "arc" + controllerServiceAccount.namespace: "arc-system" + listenerPodTemplate: + spec: + restartPolicy: Always + release: + name: "test-name" + namespace: "test-namespace" + asserts: + - equal: + path: spec.listenerTemplate.spec.containers[0].name + value: listener