No introduction found. Create it?
Install with:
helm repo add forgejo-runner oci://ghcr.io/bjw-s-labs/charts/
helm install forgejo-runner forgejo-runner/forgejo-runner -f values.yamlSee examples from other people.
| Name | Repo | Stars | Version | Timestamp |
|---|---|---|---|---|
| forgejo-runner | bjw-s-labs/home-ops | 868 | 5.3.0 | a day ago |
| forgejo-runner | haraldkoch/kochhaus-home | 180 | 5.3.0 | 2 days ago |
| forgejo-runner | ToaHartor/maisonneux | 43 | 13.2.1 | 12 days ago |
See the most popular values for this chart:
| Key | Types |
|---|---|
| string | |
| number | |
| number | |
| string | |
| number | |
| boolean | |
| number | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
| number | |
controllers.forgejo-runner.type (8) deployment | string |
controllers.forgejo-runner.containers.runner.command[] (7) - sh | string |
controllers.forgejo-runner.containers.runner.image.repository (7) data.forgejo.org/forgejo/runner | string |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
controllers.forgejo-runner.containers.k8s-plugin.args[] (4) - --listen | string |
controllers.forgejo-runner.containers.k8s-plugin.image.repository (4) git.erwanleboucher.dev/eleboucher/runner-k8s-plugin | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| string | |
controllers.forgejo-runner.containers.app.command[] (3) - sh | string |
controllers.forgejo-runner.containers.app.env[].name (3) DOCKER_HOST | string |
controllers.forgejo-runner.containers.app.env[].value (3) tcp://localhost:2376 | string |
controllers.forgejo-runner.containers.app.image.repository (3) code.forgejo.org/forgejo/runner | string |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
controllers.forgejo-runner.containers.daemon.env[].name (3) DOCKER_TLS_CERTDIR | string |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| string | |
controllers.forgejo-runner.initContainers.k8s-plugin.args[] (3) - --listen | string |
controllers.forgejo-runner.initContainers.k8s-plugin.image.repository (3) registry.erwanleboucher.dev/eleboucher/runner-k8s-plugin | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
controllers.forgejo-runner.initContainers.runner-register.args[] (2) - forgejo-runner register --no-interactive --token $(RUNNER_TOKEN) --name $(RUNNER_NAME) --instance $(FORGEJO_INSTANCE_URL) --labels self-hosted:host,docker:docker://ghcr.io/catthehacker/ubuntu:act-22.04,ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-22.04,ubuntu-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04,renovate:docker://ghcr.io/catthehacker/ubuntu:act-22.04 ;
forgejo-runner generate-config > /data/config.yml ;
sed -i -e "s|network: .*|network: host|" /data/config.yml ;
sed -i -e "s|^ envs:$| envs:\n DOCKER_HOST: tcp://localhost:2376\n DOCKER_TLS_VERIFY: 1\n DOCKER_CERT_PATH: /certs/client|" /data/config.yml ;
sed -i -e "s|^ options:| options: -v /certs/client:/certs/client|" /data/config.yml ;
sed -i -e "s| valid_volumes: \[\]$| valid_volumes:\n - /certs/client|" /data/config.yml ;
| string |
| string | |
controllers.forgejo-runner.initContainers.runner-register.env[].name (2) RUNNER_NAME | string |
controllers.forgejo-runner.initContainers.runner-register.env[].value (2) http://forgejo-http.code.svc.cluster.local:3000 | string |
| string | |
| string | |
| string | |
controllers.forgejo-runner.initContainers.runner-register.image.repository (2) code.forgejo.org/forgejo/runner | string |
| string | |
controllers.forgejo-runner.initContainers.register.command[] (1) - sh | string |
controllers.forgejo-runner.initContainers.register.env.FORGEJO_INSTANCE_URL (1) http://forgejo-http.default.svc.cluster.local:3000 | string |
controllers.forgejo-runner.initContainers.register.env.LABELS (1) ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest | string |
controllers.forgejo-runner.initContainers.register.envFrom[].secretRef.name (1) forgejo-runner-secret | string |
controllers.forgejo-runner.initContainers.register.image.repository (1) code.forgejo.org/forgejo/runner | string |
controllers.forgejo-runner.initContainers.register.image.tag (1) 13.2.1@sha256:568cea8c15ddc01fc8f330124892f572af7db37fa28344a2c1914405793bf61d | string |
controllers.forgejo-runner.strategy (2) RollingUpdate | string |
controllers.forgejo-runner.serviceAccount.identifier (1) forgejo-runner | string |
| string | |
| string | |
| string | |
| string | |
| string | |
controllers.main.containers.daemon.args[] (2) - --default-address-pool | string |
controllers.main.containers.daemon.env[].name (2) DOCKER_TLS_CERTDIR | string |
| string | |
controllers.main.containers.daemon.image.repository (2) mirror.gcr.io/docker | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| number | |
controllers.main.containers.main.command[] (2) - sh | string |
controllers.main.containers.main.env[].name (2) DOCKER_HOST | string |
controllers.main.containers.main.env[].value (2) tcp://localhost:2376 | string |
| string | |
controllers.main.containers.main.image.repository (2) code.forgejo.org/forgejo/runner | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| number | |
| number | |
controllers.main.containers.prune.command[] (2) - sh | string |
controllers.main.containers.prune.env[].name (2) DOCKER_HOST | string |
controllers.main.containers.prune.env[].value (2) tcp://localhost:2376 | string |
controllers.main.containers.prune.image.repository (2) mirror.gcr.io/docker | string |
| string | |
| string | |
| string | |
| string | |
| string | |
| string | |
| boolean | |
| string | |
| boolean | |
| number | |
| number | |
controllers.main.initContainers.config.command[] (2) - sh | string |
controllers.main.initContainers.config.env[].name (2) FORGEJO_INSTANCE_URL | string |
controllers.main.initContainers.config.env[].value (2) http://forgejo-http.dev.svc.cluster.local:3000 | string |
| string | |
controllers.main.initContainers.config.env[].valueFrom.secretKeyRef.name (2) forgejo-runner | string |
| string | |
controllers.main.initContainers.config.image.repository (2) code.forgejo.org/forgejo/runner | string |
| string | |
| number | |
| number | |
| number | |
controllers.main.type (2) statefulset | string |
persistence.config.type (10) configMap | string |
| string | |
| boolean | |
| string | |
| string | |
persistence.config.name (5) forgejo-runner-configmap | string |
| string | |
| boolean | |
persistence.plugin.type (7) emptyDir | string |
| string | |
persistence.runner-secret.name (7) forgejo-runner-secret | string |
| string | |
persistence.runner-secret.globalMounts[].path (5) /etc/forgejo-runner-secret | string |
| boolean | |
persistence.runner-secret.advancedMounts.forgejo-runner.runner[].path (2) /etc/forgejo-runner-secret | string |
| boolean | |
| string | |
| string | |
persistence.tmpfs.type (6) emptyDir | string |
| string | |
| string | |
| boolean | |
| string | |
persistence.daemon-config.advancedMounts.main.daemon[].path (2) /etc/docker/daemon.json | string |
| boolean | |
| string | |
| boolean | |
persistence.daemon-config.name (2) forgejo-runner-daemon-config | string |
persistence.daemon-config.type (2) configMap | string |
| string | |
persistence.data.accessMode (1) ReadWriteOnce | string |
persistence.data.existingClaim (1) forgejo-runner-data | string |
| string | |
persistence.data.storageClass (1) miroir-local-slow | string |
persistence.data.type (1) persistentVolumeClaim | string |
persistence.docker-data.accessMode (2) ReadWriteOnce | string |
| string | |
persistence.docker-data.advancedMounts.main.main[].path (2) /var/lib/docker | string |
| boolean | |
| string | |
persistence.docker-data.storageClass (2) local-path | string |
persistence.registry-mirrors.advancedMounts.main.daemon[].path (2) /etc/docker/certs.d | string |
| boolean | |
| boolean | |
persistence.registry-mirrors.items[].key (2) registry-docker.io.toml | string |
persistence.registry-mirrors.items[].path (2) docker.io/hosts.toml | string |
persistence.registry-mirrors.name (2) forgejo-runner-registry-mirrors | string |
| string | |
persistence.runner-data.accessMode (2) ReadWriteOnce | string |
| string | |
| string | |
| boolean | |
| string | |
| string | |
persistence.runner-data.storageClass (2) local-path | string |
persistence.runner-data.type (2) emptyDir | string |
persistence.cache.globalMounts[].path (1) /cache | string |
| boolean | |
persistence.cache.globalMounts[].subPath (1) cache | string |
persistence.cache.type (1) emptyDir | string |
persistence.certs.type (1) emptyDir | string |
| string | |
persistence.persistent.type (1) emptyDir | string |
| string | |
persistence.tmp.type (1) emptyDir | string |
forgejo.existingSecret (6) forgejo-runner-secret | string |
forgejo.url (6) http://forgejo-http.default.svc.cluster.local:3000 | string |
image.repository (6) data.forgejo.org/forgejo/runner | string |
image.tag (6) 13.2.1 | string |
image.digest (3) sha256:c4af85fd9f0dd03788676a534781a87c71aa2c6a37737143e017eb94d4312952 | string |
plugin.image.repository (6) registry.erwanleboucher.dev/eleboucher/runner-k8s-plugin | string |
plugin.image.digest (3) sha256:9ae8a21340cde415b828adc95bc4f1345bed67c21a0e3be26032d367a64b20db | string |
plugin.image.tag (3) 13.2.1 | string |
| string | |
| string | |
| string | |
podLabels."app.kubernetes.io/component" (6) forgejo-runner | string |
podSpecs."podspec-default.yaml" (6) containers:
- env:
- name: DEBIAN_FRONTEND
value: noninteractive
image: ghcr.io/bjw-s-labs/forgejo-runner:ubuntu-24.04@sha256:fea688b875acdce4e7c786d117b30c1b0203271b23e77d80c306b373d9f5422f
imagePullPolicy: IfNotPresent
name: main
resources:
requests:
cpu: 100m
memory: 1Gi
limits:
cpu: 500m
memory: 4Gi
restartPolicy: Never
| string |
podSpecs."podspec-dind.yaml" (6) initContainers:
- name: dind
image: docker:29-dind
args:
- --ipv6
- --fixed-cidr-v6=fd00:d1d::/64
securityContext:
privileged: true
restartPolicy: Always
env:
- name: DOCKER_TLS_CERTDIR
value: /certs
resources:
requests:
cpu: 100m
memory: 1Gi
limits:
cpu: 500m
memory: 8Gi
volumeMounts:
- name: docker-storage
mountPath: /var/lib/docker
- name: docker-certs
mountPath: /certs
startupProbe:
exec:
command:
- sh
- -c
- docker --tlsverify --tlscacert=/certs/client/ca.pem --tlscert=/certs/client/cert.pem --tlskey=/certs/client/key.pem -H tcp://localhost:2376 info
initialDelaySeconds: 5
periodSeconds: 1
failureThreshold: 30
containers:
- env:
- name: DEBIAN_FRONTEND
value: noninteractive
- name: DOCKER_HOST
value: tcp://localhost:2376
- name: DOCKER_TLS_VERIFY
value: "1"
- name: DOCKER_CERT_PATH
value: /certs/client
image: ghcr.io/bjw-s-labs/forgejo-runner:ubuntu-24.04@sha256:fea688b875acdce4e7c786d117b30c1b0203271b23e77d80c306b373d9f5422f
imagePullPolicy: IfNotPresent
name: main
resources:
requests:
cpu: 100m
memory: 1Gi
limits:
cpu: 500m
memory: 4Gi
volumeMounts:
- name: docker-certs
mountPath: /certs
readOnly: true
volumes:
- name: docker-storage
emptyDir: {}
- name: docker-certs
emptyDir: {}
restartPolicy: Never
| string |
podSpecs."podspec-heavy.yaml" (3) containers:
- env:
- name: DEBIAN_FRONTEND
value: noninteractive
image: ghcr.io/bjw-s-labs/forgejo-runner:ubuntu-24.04@sha256:fea688b875acdce4e7c786d117b30c1b0203271b23e77d80c306b373d9f5422f
imagePullPolicy: IfNotPresent
name: main
resources:
# Burstable on purpose: at 36Gi request=limit this held
# oom_score_adj -997 and the kernel killed postgres instead of it.
requests:
cpu: "4"
memory: 8Gi
ephemeral-storage: 40Gi
limits:
cpu: "12"
memory: 24Gi
ephemeral-storage: 60Gi
volumeMounts:
# $BUILDDIR: the plugin's own "shared" workdir is capped at 10Gi.
- name: build
mountPath: /build
volumes:
- name: build
emptyDir:
sizeLimit: 40Gi
restartPolicy: Never
| string |
podSpecs."podspec-buildkit.yaml" (1) containers:
- env:
- name: BUILDKIT_HOST
value: tcp://buildkit.forgejo.svc.cluster.local:1234
- name: DEBIAN_FRONTEND
value: noninteractive
image: ghcr.io/bjw-s-labs/forgejo-runner:ubuntu-24.04@sha256:8b7a25c7b3235c27e97df1cbb8411c1d12d2676e739265b5fbb66bb55f72dbf6
imagePullPolicy: IfNotPresent
name: main
resources:
limits:
cpu: "1"
memory: 1Gi
requests:
cpu: 100m
memory: 128Mi
volumeMounts:
- mountPath: /buildkit-certs
name: buildkit-certs
readOnly: true
volumes:
- name: buildkit-certs
secret:
secretName: buildkit-client-cert
restartPolicy: Never
| string |
podSpecs."podspec-talos.yaml" (1) containers:
- env:
- name: DEBIAN_FRONTEND
value: noninteractive
- name: NODE
valueFrom:
fieldRef:
fieldPath: status.hostIP
image: ghcr.io/bjw-s-labs/forgejo-runner:ubuntu-24.04@sha256:8b7a25c7b3235c27e97df1cbb8411c1d12d2676e739265b5fbb66bb55f72dbf6
imagePullPolicy: IfNotPresent
name: main
resources:
limits:
cpu: "2"
memory: 2Gi
requests:
cpu: 500m
memory: 256Mi
volumeMounts:
- mountPath: /var/run/secrets/talos.dev
name: talos
readOnly: true
volumes:
- name: talos
secret:
secretName: forgejo-runner-talos
restartPolicy: Never
| string |
rbac.bindings.forgejo-runner.roleRef.identifier (6) forgejo-runner | string |
rbac.bindings.forgejo-runner.subjects[].identifier (6) forgejo-runner | string |
rbac.bindings.forgejo-runner.type (6) RoleBinding | string |
| string | |
rbac.roles.forgejo-runner.rules[].resources[] (6) - jobs | string |
rbac.roles.forgejo-runner.rules[].verbs[] (6) - create | string |
| string | |
runnerConfig (6) cache:
enabled: true
dir: /data/cache
port: 8088
proxy_port: 8089
container:
docker_host: "-"
workdir_parent: shared/workdir
host:
workdir_parent: /data/act
log:
level: info
plugins:
k8s:
address: "unix:///plugin/forgejo-runner-k8s.sock"
options:
namespace: forgejo
poll_timeout: 10m
runner:
capacity: 6
labels:
- ubuntu-latest:k8s:///config/podspec-default.yaml
- ubuntu-24.04:k8s:///config/podspec-default.yaml
- default:k8s:///config/podspec-default.yaml
- buildkit:k8s:///config/podspec-buildkit.yaml
- docker:k8s:///config/podspec-dind.yaml
- multiarch:k8s:///config/podspec-dind.yaml
- talos:k8s:///config/podspec-talos.yaml
timeout: 3h
shutdown_timeout: 3m
| string |
configMaps.config.data."podspec-default.yaml" (5) automountServiceAccountToken: false
containers:
- env:
- name: DEBIAN_FRONTEND
value: noninteractive
image: ghcr.io/bjw-s-labs/forgejo-runner:ubuntu-26.04@sha256:8fab1550745c46d892027c5d204be026cc4832b1530c0c15ebee4b3ea8adb90b
imagePullPolicy: IfNotPresent
name: main
resources:
limits:
memory: 2Gi
requests:
cpu: 100m
memory: 256Mi
restartPolicy: Never | string |
configMaps.config.data."podspec-dind.yaml" (5) automountServiceAccountToken: false
initContainers:
- name: dind
image: docker:29-dind
securityContext:
privileged: true
restartPolicy: Always
env:
- name: DOCKER_TLS_CERTDIR
value: /certs
resources:
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 4Gi
volumeMounts:
- name: docker-storage
mountPath: /var/lib/docker
- name: docker-certs
mountPath: /certs
startupProbe:
exec:
command:
- sh
- -c
- docker --tlsverify --tlscacert=/certs/client/ca.pem --tlscert=/certs/client/cert.pem --tlskey=/certs/client/key.pem -H tcp://localhost:2376 info
initialDelaySeconds: 5
periodSeconds: 1
failureThreshold: 30
containers:
- env:
- name: DEBIAN_FRONTEND
value: noninteractive
- name: DOCKER_HOST
value: tcp://localhost:2376
- name: DOCKER_TLS_VERIFY
value: "1"
- name: DOCKER_CERT_PATH
value: /certs/client
image: ghcr.io/bjw-s-labs/forgejo-runner:ubuntu-26.04@sha256:8fab1550745c46d892027c5d204be026cc4832b1530c0c15ebee4b3ea8adb90b
imagePullPolicy: IfNotPresent
name: main
resources:
limits:
memory: 2Gi
requests:
cpu: 100m
memory: 256Mi
volumeMounts:
- name: docker-certs
mountPath: /certs
readOnly: true
volumes:
- name: docker-storage
emptyDir: {}
- name: docker-certs
emptyDir: {}
restartPolicy: Never | string |
configMaps.config.data."runner.yaml" (5) cache:
enabled: true
dir: /data/cache
port: 8088
proxy_port: 8089
container:
docker_host: "-"
workdir_parent: shared/workdir
host:
workdir_parent: /data/act
log:
level: info
plugins:
k8s:
address: unix:///plugin/forgejo-runner-k8s.sock
options:
namespace: forgejo-runner
poll_timeout: 10m
labels: "app.kubernetes.io/name=forgejo-runner-instance,app.kubernetes.io/instance=env-${ENV_ID},egress.policy.home.arpa/block-all=true"
resources: |
requests:
cpu: 100m
memory: 256Mi
limits:
memory: 1Gi
runner:
capacity: 4
labels:
- ubuntu-latest:k8s:///config/podspec-default.yaml
- ubuntu-26.04:k8s:///config/podspec-default.yaml
- default:k8s:///config/podspec-default.yaml
- docker:k8s:///config/podspec-dind.yaml
timeout: 3h
shutdown_timeout: 3m | string |
| string | |
service.app.controller (3) forgejo-runner | string |
| number | |
| string | |
| boolean | |
| string | |
| string | |
| string | |
| number | |
| boolean | |
| number | |
| string | |
| boolean |