9 Commits

Author SHA1 Message Date
fe652d335c chore(ci): remove workflow_dispatch
All checks were successful
Lint Shell files / shellcheck (pull_request) Successful in 25s
check-and-test / check-and-test (pull_request) Successful in 46s
2025-03-31 22:08:00 +02:00
bd3afb64c4 chore(ci): update apt packages and proceed installation non-interactively
All checks were successful
Lint Shell files / shellcheck (pull_request) Successful in 25s
check-and-test / check-and-test (pull_request) Successful in 47s
2025-03-31 18:31:15 +02:00
421f3fcbc5 chore(ci): change types to oopened, reopened and synchronize
Some checks failed
Lint Shell files / shellcheck (pull_request) Failing after 9s
check-and-test / check-and-test (pull_request) Successful in 47s
2025-03-31 18:28:32 +02:00
891538554c style(ci): lint action
All checks were successful
check-and-test / check-and-test (pull_request) Successful in 47s
2025-03-31 18:24:30 +02:00
f757aff455 fix(Makefile): add new target 'yamllint' 2025-03-31 18:23:54 +02:00
ba7770fdbd style(editorconfig): set indent style to tab for Makefiles 2025-03-31 18:23:37 +02:00
6e9230d722 style(ci): remove obsolete spaces
Some checks failed
check-and-test / check-and-test (pull_request) Failing after 48s
2025-03-31 18:18:59 +02:00
d72d43a51f fix(scripts): shellcheck: SC2181
Some checks failed
check-and-test / check-and-test (pull_request) Failing after 46s
2025-03-31 18:15:59 +02:00
b569e49893 chore(ci): add shellcheck 2025-03-31 18:15:28 +02:00
11 changed files with 53 additions and 57 deletions

View File

@ -32,7 +32,6 @@ If `.Values.image.rootless: true`, then the following will occur. In case you us
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
| `statefulset.dind.extraVolumeMounts` | Allows mounting extra volumes in the Docker-in-Docker container | `[]` |
| `statefulset.dind.extraEnvs` | Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY` | `[]` |
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
| `provisioning.enabled` | Create a job that will create and save the token in a Kubernetes Secret | `false` |
| `provisioning.annotations` | Job's annotations | `{}` |
| `provisioning.labels` | Job's labels | `{}` |

View File

@ -3,7 +3,7 @@
Expand the name of the chart.
*/}}
{{- define "gitea.actions.name" -}}
{{- define "gitea.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
@ -12,7 +12,7 @@ Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "gitea.actions.fullname" -}}
{{- define "gitea.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
@ -28,21 +28,21 @@ If release name contains chart name it will be used as a full name.
{{/*
Create a default worker name.
*/}}
{{- define "gitea.actions.workername" -}}
{{- define "gitea.workername" -}}
{{- printf "%s-%s" .global.Release.Name .worker | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "gitea.actions.chart" -}}
{{- define "gitea.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{/*
Create image name and tag used by the deployment.
*/}}
{{- define "gitea.actions.image" -}}
{{- define "gitea.image" -}}
{{- $fullOverride := .Values.image.fullOverride | default "" -}}
{{- $registry := .Values.global.imageRegistry | default .Values.image.registry -}}
{{- $repository := .Values.image.repository -}}
@ -65,7 +65,7 @@ Create image name and tag used by the deployment.
{{/*
Storage Class
*/}}
{{- define "gitea.actions.persistence.storageClass" -}}
{{- define "gitea.persistence.storageClass" -}}
{{- $storageClass := (tpl ( default "" .Values.persistence.storageClass) .) | default (tpl ( default "" .Values.global.storageClass) .) }}
{{- if $storageClass }}
storageClassName: {{ $storageClass | quote }}
@ -75,19 +75,19 @@ storageClassName: {{ $storageClass | quote }}
{{/*
Common labels
*/}}
{{- define "gitea.actions.labels" -}}
helm.sh/chart: {{ include "gitea.actions.chart" . }}
app: {{ include "gitea.actions.name" . }}
{{ include "gitea.actions.selectorLabels" . }}
{{- define "gitea.labels" -}}
helm.sh/chart: {{ include "gitea.chart" . }}
app: {{ include "gitea.name" . }}
{{ include "gitea.selectorLabels" . }}
app.kubernetes.io/version: {{ .Values.image.tag | default .Chart.AppVersion | quote }}
version: {{ .Values.image.tag | default .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{- define "gitea.actions.labels.actRunner" -}}
helm.sh/chart: {{ include "gitea.actions.chart" . }}
app: {{ include "gitea.actions.name" . }}-act-runner
{{ include "gitea.actions.selectorLabels.actRunner" . }}
{{- define "gitea.labels.actRunner" -}}
helm.sh/chart: {{ include "gitea.chart" . }}
app: {{ include "gitea.name" . }}-act-runner
{{ include "gitea.selectorLabels.actRunner" . }}
app.kubernetes.io/version: {{ .Values.image.tag | default .Chart.AppVersion | quote }}
version: {{ .Values.image.tag | default .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
@ -96,25 +96,25 @@ app.kubernetes.io/managed-by: {{ .Release.Service }}
{{/*
Selector labels
*/}}
{{- define "gitea.actions.selectorLabels" -}}
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}
{{- define "gitea.selectorLabels" -}}
app.kubernetes.io/name: {{ include "gitea.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "gitea.actions.selectorLabels.actRunner" -}}
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}-act-runner
{{- define "gitea.selectorLabels.actRunner" -}}
app.kubernetes.io/name: {{ include "gitea.name" . }}-act-runner
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "gitea.actions.local_root_url" -}}
{{- define "gitea.act_runner.local_root_url" -}}
{{- .Values.giteaRootURL -}}
{{- end -}}
{{/*
Parse the http url to hostname + port separated by space for the nc command
*/}}
{{- define "gitea.actions.nc" -}}
{{- $url := include "gitea.actions.local_root_url" . | urlParse -}}
{{- define "gitea.act_runner.nc" -}}
{{- $url := include "gitea.act_runner.local_root_url" . | urlParse -}}
{{- $host := get $url "host" -}}
{{- $scheme := get $url "scheme" -}}
{{- $port := "80" -}}

View File

@ -3,10 +3,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
name: {{ include "gitea.fullname" . }}-act-runner-config
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
{{- include "gitea.labels" . | nindent 4 }}
data:
config.yaml: |
{{- with .Values.statefulset.actRunner.config -}}

View File

@ -4,10 +4,10 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "gitea.actions.fullname" . }}-scripts
name: {{ include "gitea.fullname" . }}-scripts
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
{{- include "gitea.labels" . | nindent 4 }}
data:
{{ (.Files.Glob "scripts/*.sh").AsConfig | indent 2 }}
{{- end }}

View File

@ -1,7 +1,7 @@
{{- if .Values.enabled }}
{{- if and (and .Values.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
{{- $name := include "gitea.actions.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $secretName := include "gitea.actions.workername" (dict "global" . "worker" "actions-token") }}
{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
---
apiVersion: batch/v1
kind: Job
@ -9,7 +9,7 @@ metadata:
name: {{ $name }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
{{- include "gitea.labels" . | nindent 4 }}
{{- with .Values.provisioning.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
@ -23,7 +23,7 @@ spec:
template:
metadata:
labels:
{{- include "gitea.actions.labels" . | nindent 8 }}
{{- include "gitea.labels" . | nindent 8 }}
{{- with .Values.provisioning.labels }}
{{- toYaml . | nindent 8 }}
{{- end }}
@ -36,12 +36,12 @@ spec:
- sh
- -c
- |
while ! nc -z {{ include "gitea.actions.nc" . }}; do
while ! nc -z {{ include "gitea.act_runner.nc" . }}; do
sleep 5
done
containers:
- name: actions-token-create
image: "{{ include "gitea.actions.image" . }}"
image: "{{ include "gitea.image" . }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: GITEA_APP_INI
@ -103,7 +103,7 @@ spec:
volumes:
- name: scripts
configMap:
name: {{ include "gitea.actions.fullname" . }}-scripts
name: {{ include "gitea.fullname" . }}-scripts
defaultMode: 0755
- name: data
persistentVolumeClaim:

View File

@ -1,7 +1,7 @@
{{- if .Values.enabled }}
{{- if and (and .Values.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
{{- $name := include "gitea.actions.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $secretName := include "gitea.actions.workername" (dict "global" . "worker" "actions-token") }}
{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
@ -9,7 +9,7 @@ metadata:
name: {{ $name }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
{{- include "gitea.labels" . | nindent 4 }}
app.kubernetes.io/component: token-job
rules:
- apiGroups:

View File

@ -1,6 +1,7 @@
{{- if .Values.enabled }}
{{- if and (and .Values.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
{{- $name := include "gitea.actions.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
@ -8,7 +9,7 @@ metadata:
name: {{ $name }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
{{- include "gitea.labels" . | nindent 4 }}
app.kubernetes.io/component: token-job
roleRef:
apiGroup: rbac.authorization.k8s.io

View File

@ -1,7 +1,7 @@
{{- if .Values.enabled }}
{{- if and (and .Values.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
{{- $name := include "gitea.actions.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $secretName := include "gitea.actions.workername" (dict "global" . "worker" "actions-token") }}
{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
---
apiVersion: v1
kind: Secret
@ -9,7 +9,7 @@ metadata:
name: {{ $secretName }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
{{- include "gitea.labels" . | nindent 4 }}
app.kubernetes.io/component: token-job
{{ $secret := (lookup "v1" "Secret" .Release.Namespace $secretName) -}}
{{ if $secret -}}

View File

@ -1,6 +1,6 @@
{{- if .Values.enabled }}
{{- if and (and .Values.provisioning.enabled .Values.persistence.enabled) .Values.persistence.mount }}
{{- $name := include "gitea.actions.workername" (dict "global" . "worker" "actions-token-job") }}
{{- $name := include "gitea.workername" (dict "global" . "worker" "actions-token-job") }}
---
apiVersion: v1
kind: ServiceAccount
@ -8,7 +8,7 @@ metadata:
name: {{ $name }}
namespace: {{ .Values.namespace | default .Release.Namespace }}
labels:
{{- include "gitea.actions.labels" . | nindent 4 }}
{{- include "gitea.labels" . | nindent 4 }}
app.kubernetes.io/component: token-job
{{- end }}
{{- end }}

View File

@ -1,11 +1,11 @@
{{- if .Values.enabled }}
{{- $secretName := include "gitea.actions.workername" (dict "global" . "worker" "actions-token") }}
{{- $secretName := include "gitea.workername" (dict "global" . "worker" "actions-token") }}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
{{- include "gitea.actions.labels.actRunner" . | nindent 4 }}
{{- include "gitea.labels.actRunner" . | nindent 4 }}
{{- with .Values.statefulset.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
@ -13,18 +13,18 @@ metadata:
{{- with .Values.statefulset.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "gitea.actions.fullname" . }}-act-runner
name: {{ include "gitea.fullname" . }}-act-runner
namespace: {{ .Values.namespace | default .Release.Namespace }}
spec:
selector:
matchLabels:
{{- include "gitea.actions.selectorLabels.actRunner" . | nindent 6 }}
{{- include "gitea.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 }}
{{- include "gitea.labels.actRunner" . | nindent 8 }}
{{- with .Values.statefulset.labels }}
{{- toYaml . | nindent 8 }}
{{- end }}
@ -36,7 +36,7 @@ spec:
- sh
- -c
- |
while ! nc -z {{ include "gitea.actions.nc" . }}; do
while ! nc -z {{ include "gitea.act_runner.nc" . }}; do
sleep 5
done
containers:
@ -57,7 +57,7 @@ spec:
name: "{{ .Values.existingSecret | default $secretName }}"
key: "{{ .Values.existingSecretKey | default "token" }}"
- name: GITEA_INSTANCE_URL
value: {{ include "gitea.actions.local_root_url" . }}
value: {{ include "gitea.act_runner.local_root_url" . }}
- name: CONFIG_FILE
value: /actrunner/config.yaml
resources:
@ -111,7 +111,7 @@ spec:
volumes:
- name: act-runner-config
configMap:
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
name: {{ include "gitea.fullname" . }}-act-runner-config
- name: docker-certs
emptyDir: {}
{{- with .Values.statefulset.extraVolumes }}
@ -122,8 +122,8 @@ spec:
name: data-act-runner
spec:
accessModes: [ "ReadWriteOnce" ]
{{- include "gitea.actions.persistence.storageClass" . | nindent 8 }}
{{- include "gitea.persistence.storageClass" . | nindent 8 }}
resources:
requests:
storage: {{ .Values.statefulset.persistence.size }}
storage: 1Mi
{{- end }}

View File

@ -22,7 +22,6 @@
## @param statefulset.dind.pullPolicy The Docker-in-Docker pullPolicy
## @param statefulset.dind.extraVolumeMounts Allows mounting extra volumes in the Docker-in-Docker container
## @param statefulset.dind.extraEnvs Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY`
## @param statefulset.persistence.size Size for persistence to store act runner data
## @param provisioning.enabled Create a job that will create and save the token in a Kubernetes Secret
## @param provisioning.annotations Job's annotations
## @param provisioning.labels Job's labels
@ -73,9 +72,6 @@ statefulset:
# - name: "DOCKER_IPTABLES_LEGACY"
# value: "1"
persistence:
size: 1Gi
init:
image:
repository: busybox