1 Commits

Author SHA1 Message Date
6443a09f38 chore: set basic definitions up 2026-05-20 16:58:38 +02:00
14 changed files with 175 additions and 163 deletions

View File

@ -8,7 +8,7 @@ on:
jobs:
changelog:
runs-on: ubuntu-latest
container: docker.io/thegeeklab/git-sv:2.1.1
container: docker.io/thegeeklab/git-sv:2.1.0
steps:
- name: install tools
run: |

View File

@ -11,7 +11,7 @@ on:
jobs:
check-and-test:
runs-on: ubuntu-latest
container: commitlint/commitlint:21.0.1
container: commitlint/commitlint:20.5.3
steps:
- uses: actions/checkout@v6
- name: check PR title

View File

@ -7,7 +7,7 @@ on:
env:
# renovate: datasource=docker depName=alpine/helm
HELM_VERSION: "4.2.0"
HELM_VERSION: "4.1.4"
jobs:
generate-chart-publish:
@ -52,11 +52,12 @@ jobs:
run: |
# Install Helm GPG plugin
helm plugin install https://github.com/technosophos/helm-gpg.git --verify=false
helm dependency build
helm package --version "${GITHUB_REF#refs/tags/v}" ./
# Package the chart
mkdir ./actions
helm dependency build
helm package --version "${GITHUB_REF#refs/tags/v}" --destination ./actions ./
mkdir actions
mv actions*.tgz actions/
curl -s -L -o actions/index.yaml https://dl.gitea.com/charts/index.yaml
helm repo index actions/ --url https://dl.gitea.com/charts --merge actions/index.yaml

View File

@ -11,12 +11,12 @@ name: check-and-test
env:
# renovate: datasource=github-releases depName=helm-unittest/helm-unittest
HELM_UNITTEST_VERSION: "v1.1.0"
HELM_UNITTEST_VERSION: "v1.0.3"
jobs:
check-and-test:
runs-on: ubuntu-latest
container: alpine/helm:4.2.0
container: alpine/helm:4.1.4
steps:
- name: install tools
run: |

View File

@ -2,19 +2,17 @@ apiVersion: v2
name: actions
description: Gitea Actions chart for Kubernetes
type: application
version: 0.1.1
# renovate datasource=gitea-releases depName=gitea/runner extractVersion=^v(?<version>.*)$
version: 0.0.0
# renovate datasource=github-releases depName=go-gitea/act extractVersion=^v(?<version>.*)$
appVersion: 0.261.3
keywords:
- cicd
- runner
- actions
home: https://gitea.com/
icon: https://gitea.com/assets/img/logo.svg
sources:
- https://gitea.com/gitea/helm-actions
- https://gitea.com/gitea/runner
- https://gitea.com/gitea/act
maintainers:
# https://gitea.com/DaanSelen

View File

@ -56,38 +56,38 @@ If `.Values.statefulset.dind.rootless: true` is set, then the following will be
### Gitea Actions
| Name | Description | Value |
| -------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `enabled` | Create a Gitea Runner StatefulSet. | `false` |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------ |
| `enabled` | Create an act runner StatefulSet. | `false` |
| `statefulset.replicas` | the amount of (replica) runner pods deployed | `1` |
| `statefulset.timezone` | is the timezone that will be set in the runner image | `Etc/UTC` |
| `statefulset.annotations` | Gitea Runner annotations | `{}` |
| `statefulset.labels` | Gitea Runner labels | `{}` |
| `statefulset.resources` | Gitea Runner resources | `{}` |
| `statefulset.timezone` | is the timezone that will be set in the act_runner image | `Etc/UTC` |
| `statefulset.annotations` | Act runner annotations | `{}` |
| `statefulset.labels` | Act runner labels | `{}` |
| `statefulset.resources` | Act runner resources | `{}` |
| `statefulset.nodeSelector` | NodeSelector for the statefulset | `{}` |
| `statefulset.tolerations` | Tolerations for the statefulset | `[]` |
| `statefulset.affinity` | Affinity for the statefulset | `{}` |
| `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` |
| `statefulset.persistence.size` | Size for persistence to store Gitea Runner data | `1Gi` |
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
| `statefulset.securityContext` | Customize the SecurityContext | `{}` |
| `statefulset.serviceAccountName` | Customize the service account name | `""` |
| `statefulset.runtimeClassName` | Select a different RuntimeClass for pods | `""` |
| `statefulset.hostAliases` | Inject entries into the /etc/hosts file | `[]` |
| `statefulset.persistence.size` | Size for persistence to store Gitea Runner data | `1Gi` |
| `statefulset.runner.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
| `statefulset.runner.repository` | The Gitea Runner image | `runner` |
| `statefulset.runner.tag` | The Gitea Runner tag | `1.0.4` |
| `statefulset.runner.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `statefulset.runner.pullPolicy` | The Gitea Runner pullPolicy | `IfNotPresent` |
| `statefulset.runner.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| `statefulset.runner.extraVolumeMounts` | Allows mounting extra volumes in the Gitea Runner container | `[]` |
| `statefulset.runner.extraEnvs` | Allows adding custom environment variables | `[]` |
| `statefulset.runner.flushCache` | whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time | `false` |
| `statefulset.runner.config` | Gitea Runner custom configuration. See [Gitea Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
| `statefulset.persistence.size` | Size for persistence to store act runner data | `1Gi` |
| `statefulset.actRunner.registry` | image registry, e.g. gcr.io,docker.io | `docker.gitea.com` |
| `statefulset.actRunner.repository` | The Gitea act runner image | `act_runner` |
| `statefulset.actRunner.tag` | The Gitea act runner tag | `0.4.1` |
| `statefulset.actRunner.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `statefulset.actRunner.pullPolicy` | The Gitea act runner pullPolicy | `IfNotPresent` |
| `statefulset.actRunner.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| `statefulset.actRunner.extraVolumeMounts` | Allows mounting extra volumes in the act runner container | `[]` |
| `statefulset.actRunner.extraEnvs` | Allows adding custom environment variables | `[]` |
| `statefulset.actRunner.flushCache` | whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time | `false` |
| `statefulset.actRunner.config` | Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details. | `Too complex. See values.yaml` |
| `statefulset.dind.rootless` | a simple flag to let helm know we are dealing with a rootless dind container | `false` |
| `statefulset.dind.uid` | a field to set the running user id for the rootless dind container, so it knows where to look for the socket | `""` |
| `statefulset.dind.registry` | image registry, e.g. gcr.io,docker.io | `docker.io` |
| `statefulset.dind.repository` | The Docker-in-Docker image | `docker` |
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `29.5.1-dind` |
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `29.4.0-dind` |
| `statefulset.dind.digest` | Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest` | `""` |
| `statefulset.dind.fullOverride` | Completely overrides the image registry, path/image, tag and digest. | `""` |
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
@ -116,8 +116,8 @@ If `.Values.statefulset.dind.rootless: true` is set, then the following will be
### Gitea URL Setting
| Name | Description | Value |
| -------------- | ------------------------------------------------ | ----- |
| `giteaRootURL` | URL the Gitea Runner registers and connects with | `""` |
| -------------- | --------------------------------------------- | ----- |
| `giteaRootURL` | URL the act_runner registers and connect with | `""` |
### Extra Init Containers

32
pnpm-lock.yaml generated
View File

@ -50,8 +50,8 @@ packages:
brace-expansion@1.1.14:
resolution: {integrity: sha512-MWPGfDxnyzKU7rNOW9SP/c50vi3xrmrua/+6hfPbCS2ABNWfx24vPidzvC7krjU/RTo235sV776ymlsMtGKj8g==}
brace-expansion@5.0.6:
resolution: {integrity: sha512-kLpxurY4Z4r9sgMsyG0Z9uzsBlgiU/EFKhj/h91/8yHu0edo7XuixOIH3VcJ8kkxs6/jPzoI6U9Vj3WqbMQ94g==}
brace-expansion@5.0.5:
resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==}
engines: {node: 18 || 20 || >=22}
character-entities-legacy@3.0.0:
@ -125,8 +125,8 @@ packages:
fs.realpath@1.0.0:
resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
get-east-asian-width@1.6.0:
resolution: {integrity: sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==}
get-east-asian-width@1.5.0:
resolution: {integrity: sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==}
engines: {node: '>=18'}
glob@7.2.3:
@ -171,8 +171,8 @@ packages:
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
engines: {node: '>=0.10.0'}
katex@0.16.47:
resolution: {integrity: sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==}
katex@0.16.45:
resolution: {integrity: sha512-pQpZbdBu7wCTmQUh7ufPmLr0pFoObnGUoL/yhtwJDgmmQpbkg/0HSVti25Fu4rmd1oCR6NGWe9vqTWuWv3GcNA==}
hasBin: true
linkify-it@5.0.0:
@ -340,8 +340,8 @@ packages:
wrappy@1.0.2:
resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
yaml@2.9.0:
resolution: {integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==}
yaml@2.8.3:
resolution: {integrity: sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==}
engines: {node: '>= 14.6'}
hasBin: true
@ -353,7 +353,7 @@ snapshots:
dot-object: 2.1.5
lodash: 4.18.1
markdown-table: 2.0.0
yaml: 2.9.0
yaml: 2.8.3
'@types/debug@4.1.13':
dependencies:
@ -378,7 +378,7 @@ snapshots:
balanced-match: 1.0.2
concat-map: 0.0.1
brace-expansion@5.0.6:
brace-expansion@5.0.5:
dependencies:
balanced-match: 4.0.4
@ -427,7 +427,7 @@ snapshots:
fs.realpath@1.0.0: {}
get-east-asian-width@1.6.0: {}
get-east-asian-width@1.5.0: {}
glob@7.2.3:
dependencies:
@ -468,7 +468,7 @@ snapshots:
jsonpointer@5.0.1: {}
katex@0.16.47:
katex@0.16.45:
dependencies:
commander: 8.3.0
@ -583,7 +583,7 @@ snapshots:
dependencies:
'@types/katex': 0.16.8
devlop: 1.1.0
katex: 0.16.47
katex: 0.16.45
micromark-factory-space: 2.0.1
micromark-util-character: 2.1.1
micromark-util-symbol: 2.0.1
@ -698,7 +698,7 @@ snapshots:
minimatch@10.2.5:
dependencies:
brace-expansion: 5.0.6
brace-expansion: 5.0.5
minimatch@3.1.5:
dependencies:
@ -741,7 +741,7 @@ snapshots:
string-width@8.1.0:
dependencies:
get-east-asian-width: 1.6.0
get-east-asian-width: 1.5.0
strip-ansi: 7.2.0
strip-ansi@7.2.0:
@ -759,4 +759,4 @@ snapshots:
wrappy@1.0.2: {}
yaml@2.9.0: {}
yaml@2.8.3: {}

View File

@ -1,4 +1,5 @@
{{- if .Values.enabled -}}
{{- if or (empty .Values.existingSecret) (empty .Values.existingSecretKey) -}}
{{- fail "existingSecret and existingSecretKey are required when provisioning is disabled" -}}
{{- end -}}

View File

@ -20,7 +20,7 @@ If release name contains chart name it will be used as a full name.
{{- if contains $name .Release.Name -}}
{{- .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- else -}}
{{- printf "%s" .Release.Name | trunc 63 | trimSuffix "-" -}}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
{{- end -}}
@ -49,6 +49,16 @@ storageClassName: {{ $storageClass | quote }}
{{- end -}}
{{- end -}}
{{/*
Resource definitions
*/}}
{{- define "gitea.actions.runner.resources" -}}
{{- end -}}
{{- define "gitea.actions.dind.resources" -}}
{{- end -}}
{{/*
Common labels
*/}}
@ -61,10 +71,10 @@ version: {{ default .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end -}}
{{- define "gitea.actions.labels.runner" -}}
{{- define "gitea.actions.labels.actRunner" -}}
helm.sh/chart: {{ include "gitea.actions.chart" . }}
app: {{ include "gitea.actions.name" . }}-runner
{{ include "gitea.actions.selectorLabels.runner" . }}
app: {{ include "gitea.actions.name" . }}-act-runner
{{ include "gitea.actions.selectorLabels.actRunner" . }}
app.kubernetes.io/version: {{ default .Chart.AppVersion | quote }}
version: {{ default .Chart.AppVersion | quote }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
@ -78,8 +88,8 @@ app.kubernetes.io/name: {{ include "gitea.actions.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
{{- define "gitea.actions.selectorLabels.runner" -}}
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}-runner
{{- define "gitea.actions.selectorLabels.actRunner" -}}
app.kubernetes.io/name: {{ include "gitea.actions.name" . }}-act-runner
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end -}}
@ -112,8 +122,8 @@ Common create image implementation
{{/*
Create image for the Gitea Actions Act Runner
*/}}
{{- define "gitea.actions.runner.image" -}}
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.runner) }}
{{- define "gitea.actions.actRunner.image" -}}
{{ include "gitea.actions.common.image" (dict "root" . "image" .Values.statefulset.actRunner) }}
{{- end -}}
{{/*

View File

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

View File

@ -5,7 +5,7 @@ apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
{{- include "gitea.actions.labels.runner" . | nindent 4 }}
{{- include "gitea.actions.labels.actRunner" . | nindent 4 }}
{{- with .Values.statefulset.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
@ -13,19 +13,19 @@ metadata:
{{- with .Values.statefulset.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
name: {{ include "gitea.actions.fullname" . }}-runner
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.runner" . | nindent 6 }}
{{- include "gitea.actions.selectorLabels.actRunner" . | nindent 6 }}
template:
metadata:
annotations:
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
checksum/config: {{ include (print $.Template.BasePath "/config-act-runner.yaml") . | sha256sum }}
labels:
{{- include "gitea.actions.labels.runner" . | nindent 8 }}
{{- include "gitea.actions.labels.actRunner" . | nindent 8 }}
{{- with .Values.statefulset.labels }}
{{- toYaml . | nindent 8 }}
{{- end }}
@ -49,7 +49,7 @@ spec:
{{- if .Values.preExtraInitContainers }}
{{- toYaml .Values.preExtraInitContainers | nindent 8 }}
{{- end }}
{{- if .Values.statefulset.runner.flushCache }}
{{- if .Values.statefulset.actRunner.flushCache }}
- name: cache-flusher
image: "{{ include "gitea.actions.init.image" . }}"
command:
@ -64,7 +64,7 @@ spec:
fi
volumeMounts:
- mountPath: /data
name: data-runner
name: data-act-runner
{{- end }}
- name: init-gitea
image: "{{ include "gitea.actions.init.image" . }}"
@ -128,9 +128,9 @@ spec:
{{- toYaml .Values.postExtraInitContainers | nindent 8 }}
{{- end }}
containers:
- name: runner
image: "{{ include "gitea.actions.runner.image" . }}"
imagePullPolicy: {{ .Values.statefulset.runner.pullPolicy }}
- name: act-runner
image: "{{ include "gitea.actions.actRunner.image" . }}"
imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }}
workingDir: /data
env:
- name: GITEA_RUNNER_REGISTRATION_TOKEN
@ -141,24 +141,24 @@ spec:
- name: GITEA_INSTANCE_URL
value: {{ include "gitea.actions.local_root_url" . }}
- name: CONFIG_FILE
value: /runner/config.yaml
value: /actrunner/config.yaml
- name: TZ
value: {{ .Values.statefulset.timezone | default "Etc/UTC" }}
{{- if .Values.statefulset.runner.extraEnvs }}
{{- toYaml .Values.statefulset.runner.extraEnvs | nindent 12 }}
{{- if .Values.statefulset.actRunner.extraEnvs }}
{{- toYaml .Values.statefulset.actRunner.extraEnvs | nindent 12 }}
{{- end }}
resources:
{{- toYaml .Values.statefulset.resources | nindent 12 }}
volumeMounts:
- mountPath: /runner/config.yaml
name: runner-config
- mountPath: /actrunner/config.yaml
name: act-runner-config
subPath: config.yaml
- mountPath: /var/run/docker.sock
name: docker-socket
subPath: docker.sock
- mountPath: /data
name: data-runner
{{- with .Values.statefulset.runner.extraVolumeMounts }}
name: data-act-runner
{{- with .Values.statefulset.actRunner.extraVolumeMounts }}
{{- toYaml . | nindent 12 }}
{{- end }}
{{- if .Values.global.imagePullSecrets }}
@ -180,9 +180,9 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
- name: runner-config
- name: act-runner-config
configMap:
name: {{ include "gitea.actions.fullname" . }}-runner-configmap
name: {{ include "gitea.actions.fullname" . }}-act-runner-config
- name: docker-socket
emptyDir: {}
{{- with .Values.statefulset.extraVolumes }}
@ -190,7 +190,7 @@ spec:
{{- end }}
volumeClaimTemplates:
- metadata:
name: data-runner
name: data-act-runner
spec:
accessModes: [ "ReadWriteOnce" ]
{{- include "gitea.actions.persistence.storageClass" . | indent 8 }}

View File

@ -1,22 +1,22 @@
# yaml-language-server: $schema=https://raw.githubusercontent.com/helm-unittest/helm-unittest/main/schema/helm-testsuite.json
suite: actions template | configmap
suite: actions template | config-act-runner
release:
name: gitea-actions-unittests
namespace: testing
templates:
- templates/configmap.yaml
- templates/config-act-runner.yaml
tests:
- it: doesn't renders a ConfigMap by default
template: templates/configmap.yaml
template: templates/config-act-runner.yaml
asserts:
- hasDocuments:
count: 0
- it: renders a ConfigMap
template: templates/configmap.yaml
template: templates/config-act-runner.yaml
set:
enabled: true
statefulset:
runner:
actRunner:
config: |
log:
level: info
@ -31,7 +31,7 @@ tests:
- containsDocument:
kind: ConfigMap
apiVersion: v1
name: gitea-actions-unittests-runner-configmap
name: gitea-actions-unittests-act-runner-config
- equal:
path: data["config.yaml"]
value: |
@ -43,11 +43,11 @@ tests:
labels:
- "ubuntu-latest"
- it: renders a ConfigMap with inline yaml
template: templates/configmap.yaml
template: templates/config-act-runner.yaml
set:
enabled: true
statefulset:
runner:
actRunner:
config: |
container:
valid_volumes:
@ -59,7 +59,7 @@ tests:
- containsDocument:
kind: ConfigMap
apiVersion: v1
name: gitea-actions-unittests-runner-configmap
name: gitea-actions-unittests-act-runner-config
- matchRegex:
path: data["config.yaml"]
pattern: '(?m)^\s*options:\s*-v /var/run/docker.sock:/var/run/docker.sock\s*$'

View File

@ -4,7 +4,7 @@ release:
namespace: testing
templates:
- templates/statefulset.yaml
- templates/configmap.yaml
- templates/config-act-runner.yaml
tests:
#
## GENERIC
@ -27,10 +27,10 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.metadata.annotations["checksum/config"]
value: "83e4d1bb70cc2a861cd18fdb42537e700d4055d431713e64e28c3874c5660097"
value: "368836e4e5d947f06f2d65c7cc3fc3ad050aaced506443f54a8ffc17bb11afd2"
- it: Has fsGroup in securityContext
template: templates/statefulset.yaml
@ -44,7 +44,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.securityContext["fsGroup"]
value: 1000
@ -61,7 +61,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
value: "OnRootMismatch"
@ -78,7 +78,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.securityContext["fsGroupChangePolicy"]
value: "Always"
@ -95,7 +95,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].env[0]
value:
@ -116,7 +116,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].env[1]
value:
@ -143,7 +143,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].env[1]
value:
@ -170,7 +170,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].env[1]
value:
@ -225,65 +225,65 @@ tests:
value: "test-storageclass"
#
## GITEA_RUNNER
## ACT_RUNNER
#
- it: act-runner uses fullOverride
template: templates/statefulset.yaml
set:
enabled: true
statefulset.runner.fullOverride: test.io/runner:x.y.z
statefulset.actRunner.fullOverride: test.io/act_runner:x.y.z
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].image
value: test.io/runner:x.y.z
value: test.io/act_runner:x.y.z
- it: act-runner uses digest
template: templates/statefulset.yaml
set:
enabled: true
statefulset.runner.tag: 1.0.4
statefulset.runner.digest: sha256:abcdef123456
statefulset.actRunner.tag: 0.3.1
statefulset.actRunner.digest: sha256:abcdef123456
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].image
value: docker.gitea.com/runner:1.0.4@sha256:abcdef123456
value: docker.gitea.com/act_runner:0.3.1@sha256:abcdef123456
- it: act-runner uses global.imageRegistry
template: templates/statefulset.yaml
set:
enabled: true
global.imageRegistry: test.io
statefulset.runner.tag: 1.0.4
statefulset.actRunner.tag: 0.3.1
asserts:
- hasDocuments:
count: 1
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].image
value: test.io/runner:1.0.4
value: test.io/act_runner:0.3.1
- it: renders additional environment variables for act-runner container in StatefulSet
template: templates/statefulset.yaml
set:
enabled: true
statefulset:
runner:
actRunner:
extraEnvs:
- name: "CUSTOM_ENV"
value: "1"
@ -297,7 +297,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.containers[0].env[4]
value:
@ -318,7 +318,7 @@ tests:
extraVolumes:
- name: my-act-runner-volume
emptyDir: {}
runner:
actRunner:
extraVolumeMounts:
- mountPath: /mnt
name: my-act-runner-volume
@ -328,7 +328,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- contains:
any: true
path: spec.template.spec.containers[0].volumeMounts
@ -351,7 +351,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.initContainers[1].image
value: test.io/dind:x.y.z
@ -368,7 +368,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.initContainers[1].image
value: test.io/docker:28.3.3-dind
@ -407,7 +407,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- contains:
any: true
path: spec.template.spec.initContainers[1].volumeMounts
@ -430,7 +430,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.initContainers[0].image
value: test.io/busybox:x.y.z
@ -447,7 +447,7 @@ tests:
- containsDocument:
kind: StatefulSet
apiVersion: apps/v1
name: gitea-actions-unittests-runner
name: gitea-actions-unittests-act-runner
- equal:
path: spec.template.spec.initContainers[0].image
value: test.io/busybox:1.37.0

View File

@ -1,34 +1,34 @@
# Configure Gitea Actions
## @section Gitea Actions
#
## @param enabled Create a Gitea Runner StatefulSet.
## @param enabled Create an act runner StatefulSet.
## @param statefulset.replicas the amount of (replica) runner pods deployed
## @param statefulset.timezone is the timezone that will be set in the runner image
## @param statefulset.annotations Gitea Runner annotations
## @param statefulset.labels Gitea Runner labels
## @param statefulset.resources Gitea Runner resources
## @param statefulset.timezone is the timezone that will be set in the act_runner image
## @param statefulset.annotations Act runner annotations
## @param statefulset.labels Act runner labels
## @param statefulset.resources Act runner resources
## @param statefulset.nodeSelector NodeSelector for the statefulset
## @param statefulset.tolerations Tolerations for the statefulset
## @param statefulset.affinity Affinity for the statefulset
## @param statefulset.extraVolumes Extra volumes for the statefulset
## @param statefulset.persistence.size Size for persistence to store Gitea Runner data
## @param statefulset.persistence.size Size for persistence to store act runner data
## @param statefulset.securityContext Customize the SecurityContext
## @param statefulset.serviceAccountName Customize the service account name
## @param statefulset.runtimeClassName Select a different RuntimeClass for pods
## @param statefulset.hostAliases Inject entries into the /etc/hosts file
#
## @param statefulset.persistence.size Size for persistence to store Gitea Runner data
## @param statefulset.persistence.size Size for persistence to store act runner data
#
## @param statefulset.runner.registry image registry, e.g. gcr.io,docker.io
## @param statefulset.runner.repository The Gitea Runner image
## @param statefulset.runner.tag The Gitea Runner tag
## @param statefulset.runner.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
## @param statefulset.runner.pullPolicy The Gitea Runner pullPolicy
## @param statefulset.runner.fullOverride Completely overrides the image registry, path/image, tag and digest.
## @param statefulset.runner.extraVolumeMounts Allows mounting extra volumes in the Gitea Runner container
## @param statefulset.runner.extraEnvs Allows adding custom environment variables
## @param statefulset.runner.flushCache whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time
## @param statefulset.runner.config [default: Too complex. See values.yaml] Gitea Runner custom configuration. See [Gitea Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
## @param statefulset.actRunner.registry image registry, e.g. gcr.io,docker.io
## @param statefulset.actRunner.repository The Gitea act runner image
## @param statefulset.actRunner.tag The Gitea act runner tag
## @param statefulset.actRunner.digest Image digest. Allows to pin the given image tag. Useful for having control over mutable tags like `latest`
## @param statefulset.actRunner.pullPolicy The Gitea act runner pullPolicy
## @param statefulset.actRunner.fullOverride Completely overrides the image registry, path/image, tag and digest.
## @param statefulset.actRunner.extraVolumeMounts Allows mounting extra volumes in the act runner container
## @param statefulset.actRunner.extraEnvs Allows adding custom environment variables
## @param statefulset.actRunner.flushCache whether to clear the .runner (cache) file by creating an extra init container, can slightly increase boot-up time
## @param statefulset.actRunner.config [default: Too complex. See values.yaml] Act runner custom configuration. See [Act Runner documentation](https://docs.gitea.com/usage/actions/act-runner#configuration) for details.
#
## @param statefulset.dind.rootless [default: false] a simple flag to let helm know we are dealing with a rootless dind container
## @param statefulset.dind.uid a field to set the running user id for the rootless dind container, so it knows where to look for the socket
@ -68,13 +68,14 @@ statefulset:
persistence:
size: 1Gi
runner:
actRunner:
registry: "docker.gitea.com"
repository: runner
tag: 1.0.4
repository: act_runner
tag: 0.4.1
digest: ""
pullPolicy: IfNotPresent
fullOverride: ""
resources: {}
extraVolumeMounts: []
extraEnvs:
[]
@ -85,7 +86,7 @@ statefulset:
# See full details: https://gitea.com/gitea/helm-actions/issues/73
flushCache: false
# See full example here: https://gitea.com/gitea/runner/src/branch/main/internal/pkg/config/config.example.yaml
# See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
config: |
log:
level: debug
@ -100,10 +101,11 @@ statefulset:
uid: ""
registry: "docker.io"
repository: docker
tag: 29.5.1-dind
tag: 29.4.0-dind
digest: ""
pullPolicy: IfNotPresent
fullOverride: ""
resources: {}
extraVolumeMounts: []
# If the container keeps crashing in your environment, you might have to add the `DOCKER_IPTABLES_LEGACY` environment variable.
@ -146,7 +148,7 @@ existingSecretKey: ""
## @section Gitea URL Setting
#
## @param giteaRootURL URL the Gitea Runner registers and connects with
## @param giteaRootURL URL the act_runner registers and connect with
giteaRootURL: ""
## @section Extra Init Containers