91 lines
3.8 KiB
YAML
91 lines
3.8 KiB
YAML
apiVersion: actions.github.com/v1alpha1
|
|
kind: AutoscalingRunnerSet
|
|
metadata:
|
|
name: {{ .Release.Name }}
|
|
namespace: {{ .Release.Namespace }}
|
|
labels:
|
|
{{- include "auto-scaling-runner-set.labels" . | nindent 4 }}
|
|
spec:
|
|
githubConfigUrl: {{ required ".Values.githubConfigUrl is required" .Values.githubConfigUrl }}
|
|
githubConfigSecret: {{ include "auto-scaling-runner-set.githubsecret" . }}
|
|
{{- with .Values.runnerGroup }}
|
|
runnerGroup: {{ . }}
|
|
{{- end }}
|
|
|
|
{{- if and (kindIs "int64" .Values.minRunners) (kindIs "int64" .Values.maxRunners) }}
|
|
{{- if gt .Values.minRunners .Values.maxRunners }}
|
|
{{- fail "maxRunners has to be greater or equal to minRunners" }}
|
|
{{- end }}
|
|
{{- end }}
|
|
|
|
{{- if kindIs "int64" .Values.maxRunners }}
|
|
{{- if lt .Values.maxRunners 0 }}
|
|
{{- fail "maxRunners has to be greater or equal to 0" }}
|
|
{{- end }}
|
|
maxRunners: {{ .Values.maxRunners | int }}
|
|
{{- end }}
|
|
|
|
{{- if kindIs "int64" .Values.minRunners }}
|
|
{{- if lt .Values.minRunners 0 }}
|
|
{{- fail "minRunners has to be greater or equal to 0" }}
|
|
{{- end }}
|
|
minRunners: {{ .Values.minRunners | int }}
|
|
{{- end }}
|
|
|
|
template:
|
|
{{- with .Values.template.metadata }}
|
|
metadata:
|
|
{{- with .labels }}
|
|
labels:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .annotations }}
|
|
annotations:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
spec:
|
|
{{- range $key, $val := .Values.template.spec }}
|
|
{{- if and (ne $key "containers") (ne $key "volumes") (ne $key "initContainers") (ne $key "serviceAccountName") }}
|
|
{{ $key }}: {{ $val | toYaml | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
{{- if eq .Values.containerMode.type "kubernetes" }}
|
|
serviceAccountName: {{ default (include "auto-scaling-runner-set.kubeModeServiceAccountName" .) .Values.template.spec.serviceAccountName }}
|
|
{{- else }}
|
|
serviceAccountName: {{ default (include "auto-scaling-runner-set.noPermissionServiceAccountName" .) .Values.template.spec.serviceAccountName }}
|
|
{{- end }}
|
|
{{- if or .Values.template.spec.initContainers (eq .Values.containerMode.type "dind") }}
|
|
initContainers:
|
|
{{- if eq .Values.containerMode.type "dind" }}
|
|
- name: init-dind-externals
|
|
{{- include "auto-scaling-runner-set.dind-init-container" . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.template.spec.initContainers }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- end }}
|
|
containers:
|
|
{{- if eq .Values.containerMode.type "dind" }}
|
|
- name: runner
|
|
{{- include "auto-scaling-runner-set.dind-runner-container" . | nindent 8 }}
|
|
- name: dind
|
|
{{- include "auto-scaling-runner-set.dind-container" . | nindent 8 }}
|
|
{{- include "auto-scaling-runner-set.non-runner-containers" . | nindent 6 }}
|
|
{{- else if eq .Values.containerMode.type "kubernetes" }}
|
|
- name: runner
|
|
{{- include "auto-scaling-runner-set.kubernetes-mode-runner-container" . | nindent 8 }}
|
|
{{- include "auto-scaling-runner-set.non-runner-containers" . | nindent 6 }}
|
|
{{- else }}
|
|
{{ .Values.template.spec.containers | toYaml | nindent 6 }}
|
|
{{- end }}
|
|
{{- if or .Values.template.spec.volumes (eq .Values.containerMode.type "dind") (eq .Values.containerMode.type "kubernetes") }}
|
|
volumes:
|
|
{{- if eq .Values.containerMode.type "dind" }}
|
|
{{- include "auto-scaling-runner-set.dind-volume" . | nindent 6 }}
|
|
{{- include "auto-scaling-runner-set.dind-work-volume" . | nindent 6 }}
|
|
{{- else if eq .Values.containerMode.type "kubernetes" }}
|
|
{{- include "auto-scaling-runner-set.kubernetes-mode-work-volume" . | nindent 6 }}
|
|
{{- end }}
|
|
{{- include "auto-scaling-runner-set.non-work-volumes" . | nindent 6 }}
|
|
{{- end }} |