5 Commits

Author SHA1 Message Date
Christopher Homberger
5b94297a9c add job container dind docs 2025-08-24 20:37:52 +02:00
Daan Selen
072b97470e chore(chart): add check to start once docker is available (#35)
Should fix:
- https://gitea.com/gitea/helm-actions/issues/31
- https://gitea.com/gitea/helm-actions/issues/27

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/35
Reviewed-by: ChristopherHX <christopherhx@noreply.gitea.com>
Co-authored-by: Daan Selen <dselen@nerthus.nl>
Co-committed-by: Daan Selen <dselen@nerthus.nl>
2025-08-22 20:22:55 +00:00
Christopher Homberger
53393816ed chore(deps): bump runner and dind (#41)
* fix docker:28-dind cert problem

Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/41
Reviewed-by: DaanSelen <daanselen@noreply.gitea.com>
Co-authored-by: Christopher Homberger <christopher.homberger@web.de>
Co-committed-by: Christopher Homberger <christopher.homberger@web.de>
2025-08-22 18:27:58 +00:00
Markus Pesch
8a89d8bf21 chore: add maintainer volker.raschek to the chart (#34)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/34
Reviewed-by: DaanSelen <daanselen@noreply.gitea.com>
Reviewed-by: ChristopherHX <christopherhx@noreply.gitea.com>
Co-authored-by: Markus Pesch <markus.pesch@cryptic.systems>
Co-committed-by: Markus Pesch <markus.pesch@cryptic.systems>
2025-08-21 13:14:45 +00:00
ChristopherHX
bb50a19f4d chore: add maintainer ChristopherHX to the chart (#33)
Reviewed-on: https://gitea.com/gitea/helm-actions/pulls/33
Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: ChristopherHX <christopher.homberger@web.de>
Co-committed-by: ChristopherHX <christopher.homberger@web.de>
2025-08-21 04:16:07 +00:00
7 changed files with 70 additions and 8 deletions

1
CODEOWNERS Normal file
View File

@@ -0,0 +1 @@
* @DaanSelen @volker.raschek @ChristopherHX

View File

@@ -19,6 +19,10 @@ maintainers:
- name: Daan Selen - name: Daan Selen
email: dselen@nerthus.nl email: dselen@nerthus.nl
# https://gitea.com/volker.raschek
- name: Markus Pesch
email: markus.pesch+apps@cryptic.systems
# https://gitea.com/ChristopherHX # https://gitea.com/ChristopherHX
- name: Christopher Homberger - name: Christopher Homberger
email: christopher.homberger@web.de email: christopher.homberger@web.de

View File

@@ -6,6 +6,10 @@ The parameters which can be used to customize the deployment are described below
If you want to propose a new feature or mechanism, submit an [issue here](https://gitea.com/gitea/helm-actions/issues). If you want to propose a new feature or mechanism, submit an [issue here](https://gitea.com/gitea/helm-actions/issues).
## Docs
[Docs](./docs/README.md)
## Rootless Defaults ## Rootless Defaults
If `.Values.image.rootless: true`, then the following will occur. In case you use `.Values.image.fullOverride`, check that this works in your image: If `.Values.image.rootless: true`, then the following will occur. In case you use `.Values.image.fullOverride`, check that this works in your image:
@@ -30,12 +34,12 @@ If `.Values.image.rootless: true`, then the following will occur. In case you us
| `statefulset.affinity` | Affinity for the statefulset | `{}` | | `statefulset.affinity` | Affinity for the statefulset | `{}` |
| `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` | | `statefulset.extraVolumes` | Extra volumes for the statefulset | `[]` |
| `statefulset.actRunner.repository` | The Gitea act runner image | `gitea/act_runner` | | `statefulset.actRunner.repository` | The Gitea act runner image | `gitea/act_runner` |
| `statefulset.actRunner.tag` | The Gitea act runner tag | `0.2.11` | | `statefulset.actRunner.tag` | The Gitea act runner tag | `0.2.12` |
| `statefulset.actRunner.pullPolicy` | The Gitea act runner pullPolicy | `IfNotPresent` | | `statefulset.actRunner.pullPolicy` | The Gitea act runner pullPolicy | `IfNotPresent` |
| `statefulset.actRunner.extraVolumeMounts` | Allows mounting extra volumes in the act runner container | `[]` | | `statefulset.actRunner.extraVolumeMounts` | Allows mounting extra volumes in the act runner container | `[]` |
| `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.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.repository` | The Docker-in-Docker image | `docker` | | `statefulset.dind.repository` | The Docker-in-Docker image | `docker` |
| `statefulset.dind.tag` | The Docker-in-Docker image tag | `25.0.2-dind` | | `statefulset.dind.tag` | The Docker-in-Docker image tag | `28.3.3-dind` |
| `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` | | `statefulset.dind.pullPolicy` | The Docker-in-Docker pullPolicy | `IfNotPresent` |
| `statefulset.dind.extraVolumeMounts` | Allows mounting extra volumes in the Docker-in-Docker container | `[]` | | `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.dind.extraEnvs` | Allows adding custom environment variables, such as `DOCKER_IPTABLES_LEGACY` | `[]` |

3
docs/README.md Normal file
View File

@@ -0,0 +1,3 @@
# Gitea Actions Helm Chart Docs
- [Share dind with job container](share-dind-with-job-container.md)

View File

@@ -0,0 +1,36 @@
# Share dind with job container
You can weaken isolation and allow jobs to call docker commands.
## Limitations
- Docker bind mounts like `-v /path/on/self/container:/path/to/new/container` do not work, because they are going to mount the path from the dind container
- Docker port expose to local host `-e 80:8080` is not going to work
## Example Values
```yaml
enabled: true
statefulset:
actRunner:
# See full example here: https://gitea.com/gitea/act_runner/src/branch/main/internal/pkg/config/config.example.yaml
config: |
log:
level: debug
cache:
enabled: false
container:
valid_volumes:
- /var/run/docker.sock
options: -v /var/run/docker.sock:/var/run/docker.sock
## Specify an existing token secret
##
existingSecret: "runner-token2"
existingSecretKey: "token"
## Specify the root URL of the Gitea instance
giteaRootURL: "http://192.168.1.2:3000"
```
Now you can run docker commands inside your jobs.

View File

@@ -48,13 +48,27 @@ spec:
image: "{{ .Values.statefulset.actRunner.repository }}:{{ .Values.statefulset.actRunner.tag }}" image: "{{ .Values.statefulset.actRunner.repository }}:{{ .Values.statefulset.actRunner.tag }}"
imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }} imagePullPolicy: {{ .Values.statefulset.actRunner.pullPolicy }}
workingDir: /data workingDir: /data
command:
# The following is a workaround for: https://gitea.com/gitea/act_runner/issues/731
# We must add the docker-cli package for the server AND client cert verification.
- sh
- -c
- |
apk add --no-cache docker-cli
echo "Waiting for Docker daemon..."
until timeout 10 docker info > /dev/null; do
echo "Failed, retrying..."
sleep 2
done
echo "Docker is ready, starting act-runner..."
exec run.sh
env: env:
- name: DOCKER_HOST - name: DOCKER_HOST
value: tcp://127.0.0.1:2376 value: tcp://127.0.0.1:2376
- name: DOCKER_TLS_VERIFY - name: DOCKER_TLS_VERIFY
value: "1" value: "1"
- name: DOCKER_CERT_PATH - name: DOCKER_CERT_PATH
value: /certs/server value: /certs/client
- name: GITEA_RUNNER_REGISTRATION_TOKEN - name: GITEA_RUNNER_REGISTRATION_TOKEN
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
@@ -70,7 +84,7 @@ spec:
- mountPath: /actrunner/config.yaml - mountPath: /actrunner/config.yaml
name: act-runner-config name: act-runner-config
subPath: config.yaml subPath: config.yaml
- mountPath: /certs/server - mountPath: /certs/client
name: docker-certs name: docker-certs
- mountPath: /data - mountPath: /data
name: data-act-runner name: data-act-runner
@@ -86,7 +100,7 @@ spec:
- name: DOCKER_TLS_VERIFY - name: DOCKER_TLS_VERIFY
value: "1" value: "1"
- name: DOCKER_CERT_PATH - name: DOCKER_CERT_PATH
value: /certs/server value: /certs/client
{{- if .Values.statefulset.dind.extraEnvs }} {{- if .Values.statefulset.dind.extraEnvs }}
{{- toYaml .Values.statefulset.dind.extraEnvs | nindent 12 }} {{- toYaml .Values.statefulset.dind.extraEnvs | nindent 12 }}
{{- end }} {{- end }}
@@ -95,7 +109,7 @@ spec:
resources: resources:
{{- toYaml .Values.statefulset.resources | nindent 12 }} {{- toYaml .Values.statefulset.resources | nindent 12 }}
volumeMounts: volumeMounts:
- mountPath: /certs/server - mountPath: /certs/client
name: docker-certs name: docker-certs
{{- with .Values.statefulset.dind.extraVolumeMounts }} {{- with .Values.statefulset.dind.extraVolumeMounts }}
{{- toYaml . | nindent 12 }} {{- toYaml . | nindent 12 }}

View File

@@ -39,7 +39,7 @@ statefulset:
actRunner: actRunner:
repository: gitea/act_runner repository: gitea/act_runner
tag: 0.2.11 tag: 0.2.12
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
extraVolumeMounts: [] extraVolumeMounts: []
@@ -52,7 +52,7 @@ statefulset:
dind: dind:
repository: docker repository: docker
tag: 25.0.2-dind tag: 28.3.3-dind
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
extraVolumeMounts: [] extraVolumeMounts: []