Trying out a readiness check Added init-container for dind Use a more graceful netcat command Slimmed some things down Added docker cli and use that for its readiness check fix: unittest Added parameter for deploying multiple runners Fix unittest job remove reference nc command remove reference in unittest again Trying to fix unittests Passing unit tests readme update readme making using pnpm
143 lines
5.1 KiB
YAML
143 lines
5.1 KiB
YAML
{{- if .Values.enabled }}
|
|
{{- $secretName := include "gitea.actions.workername" (dict "global" . "worker" "actions-token") }}
|
|
---
|
|
apiVersion: apps/v1
|
|
kind: StatefulSet
|
|
metadata:
|
|
labels:
|
|
{{- include "gitea.actions.labels.actRunner" . | nindent 4 }}
|
|
{{- with .Values.statefulset.labels }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
annotations:
|
|
{{- with .Values.statefulset.annotations }}
|
|
{{- toYaml . | nindent 4 }}
|
|
{{- end }}
|
|
name: {{ include "gitea.actions.fullname" . }}-act-runner
|
|
namespace: {{ .Values.namespace | default .Release.Namespace }}
|
|
spec:
|
|
replicas: {{ .Values.statefulset.replicas | default 1 }}
|
|
selector:
|
|
matchLabels:
|
|
{{- include "gitea.actions.selectorLabels.actRunner" . | nindent 6 }}
|
|
template:
|
|
metadata:
|
|
annotations:
|
|
checksum/config: {{ include (print $.Template.BasePath "/config-act-runner.yaml") . | sha256sum }}
|
|
labels:
|
|
{{- include "gitea.actions.labels.actRunner" . | nindent 8 }}
|
|
{{- with .Values.statefulset.labels }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
spec:
|
|
initContainers:
|
|
- name: init-gitea
|
|
image: "{{ .Values.init.image.repository }}:{{ .Values.init.image.tag }}"
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
echo 'Waiting for gitea...'
|
|
while ! wget -qO- {{ include "gitea.actions.local_root_url" . }} > /dev/null; do
|
|
sleep 2
|
|
done
|
|
containers:
|
|
- name: act-runner
|
|
image: "{{ .Values.statefulset.actRunner.repository }}:{{ .Values.statefulset.actRunner.tag }}"
|
|
imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }}
|
|
workingDir: /data
|
|
command:
|
|
- sh
|
|
- -c
|
|
- |
|
|
apk add --no-cache docker-cli
|
|
echo "Waiting for Docker daemon..."
|
|
until docker info > /dev/null 2>&1; do
|
|
sleep 2
|
|
done
|
|
echo "Docker is ready, starting act-runner..."
|
|
exec run.sh
|
|
env:
|
|
- name: DOCKER_HOST
|
|
value: tcp://127.0.0.1:2376
|
|
- name: DOCKER_TLS_VERIFY
|
|
value: "1"
|
|
- name: DOCKER_CERT_PATH
|
|
value: /certs/server
|
|
- name: GITEA_RUNNER_REGISTRATION_TOKEN
|
|
valueFrom:
|
|
secretKeyRef:
|
|
name: "{{ .Values.existingSecret | default $secretName }}"
|
|
key: "{{ .Values.existingSecretKey | default "token" }}"
|
|
- name: GITEA_INSTANCE_URL
|
|
value: {{ include "gitea.actions.local_root_url" . }}
|
|
- name: CONFIG_FILE
|
|
value: /actrunner/config.yaml
|
|
resources:
|
|
{{- toYaml .Values.statefulset.resources | nindent 12 }}
|
|
volumeMounts:
|
|
- mountPath: /actrunner/config.yaml
|
|
name: act-runner-config
|
|
subPath: config.yaml
|
|
- mountPath: /certs/server
|
|
name: docker-certs
|
|
- mountPath: /data
|
|
name: data-act-runner
|
|
{{- with .Values.statefulset.actRunner.extraVolumeMounts }}
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
- name: dind
|
|
image: "{{ .Values.statefulset.dind.repository }}:{{ .Values.statefulset.dind.tag }}"
|
|
imagePullPolicy: {{ .Values.statefulset.dind.pullPolicy }}
|
|
env:
|
|
- name: DOCKER_HOST
|
|
value: tcp://127.0.0.1:2376
|
|
- name: DOCKER_TLS_VERIFY
|
|
value: "1"
|
|
- name: DOCKER_CERT_PATH
|
|
value: /certs/server
|
|
{{- if .Values.statefulset.dind.extraEnvs }}
|
|
{{- toYaml .Values.statefulset.dind.extraEnvs | nindent 12 }}
|
|
{{- end }}
|
|
securityContext:
|
|
privileged: true
|
|
resources:
|
|
{{- toYaml .Values.statefulset.resources | nindent 12 }}
|
|
volumeMounts:
|
|
- mountPath: /certs/server
|
|
name: docker-certs
|
|
{{- with .Values.statefulset.dind.extraVolumeMounts }}
|
|
{{- toYaml . | nindent 12 }}
|
|
{{- end }}
|
|
{{- range $key, $value := .Values.statefulset.nodeSelector }}
|
|
nodeSelector:
|
|
{{ $key }}: {{ $value | quote }}
|
|
{{- end }}
|
|
{{- with .Values.statefulset.affinity }}
|
|
affinity:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
{{- with .Values.statefulset.tolerations }}
|
|
tolerations:
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
volumes:
|
|
- name: act-runner-config
|
|
configMap:
|
|
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
|
|
- name: docker-certs
|
|
emptyDir: {}
|
|
{{- with .Values.statefulset.extraVolumes }}
|
|
{{- toYaml . | nindent 8 }}
|
|
{{- end }}
|
|
volumeClaimTemplates:
|
|
- metadata:
|
|
name: data-act-runner
|
|
spec:
|
|
accessModes: [ "ReadWriteOnce" ]
|
|
{{- include "gitea.actions.persistence.storageClass" . | nindent 8 }}
|
|
resources:
|
|
requests:
|
|
storage: {{ .Values.statefulset.persistence.size }}
|
|
{{- end }}
|