fix(forgejo-runner): use initContainer to make .runner writeable

This commit is contained in:
WrenIX 2023-12-21 02:09:53 +01:00
parent 0c068f9b5a
commit 7a46cdc082
Signed by: wrenix
GPG key ID: 7AFDB012974B1BB5
3 changed files with 25 additions and 6 deletions

View file

@ -2,6 +2,6 @@ apiVersion: v2
name: forgejo-runner name: forgejo-runner
description: Deploy runner for an forgejo instance (default codeberg.org) description: Deploy runner for an forgejo instance (default codeberg.org)
type: application type: application
version: 0.1.3 version: 0.1.4
appVersion: "3.2.0" appVersion: "3.2.0"

View file

@ -30,13 +30,25 @@ spec:
serviceAccountName: {{ include "forgejo-runner.serviceAccountName" . }} serviceAccountName: {{ include "forgejo-runner.serviceAccountName" . }}
securityContext: securityContext:
{{- toYaml .Values.podSecurityContext | nindent 8 }} {{- toYaml .Values.podSecurityContext | nindent 8 }}
initContainers:
- name: make-config-writeable
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
command: [ "/bin/cp", "/etc/runner/.runner", "/data/.runner" ]
resources:
{{- toYaml .Values.resources | nindent 12 }}
volumeMounts:
- name: runner-data
mountPath: /data
- name: runner-config
mountPath: /etc/runner
containers: containers:
- name: runner - name: runner
securityContext: securityContext:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.securityContext | nindent 12 }}
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }} imagePullPolicy: {{ .Values.image.pullPolicy }}
command: [ "/bin//forgejo-runner", "daemon" ] command: [ "/bin/forgejo-runner", "daemon" ]
resources: resources:
{{- toYaml .Values.resources | nindent 12 }} {{- toYaml .Values.resources | nindent 12 }}
env: env:
@ -51,8 +63,6 @@ spec:
mountPath: /certs mountPath: /certs
- name: runner-data - name: runner-data
mountPath: /data mountPath: /data
- name: runner-cache
mountPath: /data/.cache
- name: dind - name: dind
securityContext: securityContext:
{{- toYaml .Values.securityContext | nindent 12 }} {{- toYaml .Values.securityContext | nindent 12 }}
@ -72,9 +82,9 @@ spec:
volumes: volumes:
- name: docker-certs - name: docker-certs
emptyDir: {} emptyDir: {}
- name: runner-cache
emptyDir: {}
- name: runner-data - name: runner-data
emptyDir: {}
- name: runner-config
secret: secret:
secretName: {{ .Values.runner.config.existingSecret | default (print ( include "forgejo-runner.fullname" . ) "-config") | quote }} secretName: {{ .Values.runner.config.existingSecret | default (print ( include "forgejo-runner.fullname" . ) "-config") | quote }}
{{- with .Values.volumes }} {{- with .Values.volumes }}

View file

@ -9,6 +9,9 @@ metadata:
labels: labels:
app.kubernetes.io/component: config-generate-job app.kubernetes.io/component: config-generate-job
{{- include "forgejo-runner.labels" . | nindent 4 }} {{- include "forgejo-runner.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": "pre-install,pre-upgrade"
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
--- ---
apiVersion: rbac.authorization.k8s.io/v1 apiVersion: rbac.authorization.k8s.io/v1
kind: Role kind: Role
@ -17,6 +20,9 @@ metadata:
labels: labels:
app.kubernetes.io/component: config-generate-job app.kubernetes.io/component: config-generate-job
{{- include "forgejo-runner.labels" . | nindent 4 }} {{- include "forgejo-runner.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": "pre-install,pre-upgrade"
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
rules: rules:
- apiGroups: - apiGroups:
- "" - ""
@ -36,6 +42,9 @@ metadata:
labels: labels:
app.kubernetes.io/component: config-generate-job app.kubernetes.io/component: config-generate-job
{{- include "forgejo-runner.labels" . | nindent 4 }} {{- include "forgejo-runner.labels" . | nindent 4 }}
annotations:
"helm.sh/hook": "pre-install,pre-upgrade"
"helm.sh/hook-delete-policy": "before-hook-creation,hook-succeeded"
roleRef: roleRef:
apiGroup: rbac.authorization.k8s.io apiGroup: rbac.authorization.k8s.io
kind: Role kind: Role