forgejo-runner helm

No introduction found. Create it?

Install

Install with:

helm repo add forgejo-runner oci://ghcr.io/bjw-s-labs/charts/
helm install forgejo-runner forgejo-runner/forgejo-runner -f values.yaml

Examples

See examples from other people.

Top Repositories (3 out of 18)

NameRepoStarsVersionTimestamp
forgejo-runnerbjw-s-labs/home-ops8685.3.0a day ago
forgejo-runnerharaldkoch/kochhaus-home1805.3.02 days ago
forgejo-runnerToaHartor/maisonneux4313.2.112 days ago

Values

See the most popular values for this chart:

KeyTypes
string
number
number
string
number
boolean
number
boolean
string
string
string
string
number
string
controllers.forgejo-runner.containers.runner.command[] (7)
- sh
- -ec
- exec /bin/forgejo-runner daemon \ --config /config/runner.yaml \ --url "http://forgejo-http:3000" \ --uuid "$(cat /etc/forgejo-runner-secret/uuid)" \ --token-url file:///etc/forgejo-runner-secret/token
string
string
string
string
string
string
boolean
string
boolean
string
controllers.forgejo-runner.containers.k8s-plugin.args[] (4)
- --listen
- unix:///plugin/forgejo-runner-k8s.sock
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
- -c
- while ! nc -z localhost 2376 </dev/null; do echo 'waiting for docker daemon...'; sleep 5; done; forgejo-runner --config /data/config.yml daemon
string
controllers.forgejo-runner.containers.app.env[].name (3)
DOCKER_HOST
DOCKER_CERT_PATH
DOCKER_TLS_VERIFY
string
string
string
string
boolean
string
string
string
string
string
string
string
string
boolean
string
string
string
string
controllers.forgejo-runner.initContainers.k8s-plugin.args[] (3)
- --listen
- unix:///plugin/forgejo-runner-k8s.sock
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
string
string
string
string
string
string
string
controllers.forgejo-runner.initContainers.register.command[] (1)
- sh
- -c
- # if [ ! -f /data/.runner ]; then echo "Registering runner..."; forgejo-runner register --no-interactive \ --token $(RUNNER_TOKEN) \ --name $(RUNNER_NAME) \ --instance $(FORGEJO_INSTANCE_URL) \ --labels "$(LABELS)"; # else # echo "Runner already registered, skipping."; # fi
string
string
controllers.forgejo-runner.initContainers.register.env.LABELS (1)
ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest
string
string
string
controllers.forgejo-runner.initContainers.register.image.tag (1)
13.2.1@sha256:568cea8c15ddc01fc8f330124892f572af7db37fa28344a2c1914405793bf61d
string
string
string
string
string
string
string
string
controllers.main.containers.daemon.args[] (2)
- --default-address-pool
- base=10.200.0.0/16,size=24
string
string
string
string
string
string
string
string
string
string
boolean
number
controllers.main.containers.main.command[] (2)
- sh
- -c
- until [ -f /certs/client/cert.pem ] && nc -z localhost 2376; do echo "waiting for docker daemon..." sleep 2 done exec forgejo-runner daemon --config /data/runner-config.yml
string
controllers.main.containers.main.env[].name (2)
DOCKER_HOST
DOCKER_CERT_PATH
DOCKER_TLS_VERIFY
string
controllers.main.containers.main.env[].value (2)
tcp://localhost:2376
/certs/client
1
string
string
string
string
string
string
string
string
string
number
number
controllers.main.containers.prune.command[] (2)
- sh
- -c
- until docker info >/dev/null 2>&1; do sleep 10; done last_full="" while true; do sleep 21600 docker image prune -f docker container prune -f --filter until=24h docker builder prune -af --filter until=168h today=$(date +%Y-%m-%d) if [ "$(date +%u)" = 7 ] && [ "$today" != "$last_full" ]; then docker image prune -af && docker volume prune -af && last_full=$today fi docker system df done
string
controllers.main.containers.prune.env[].name (2)
DOCKER_HOST
DOCKER_CERT_PATH
DOCKER_TLS_VERIFY
string
controllers.main.containers.prune.env[].value (2)
tcp://localhost:2376
/certs/client
1
string
string
string
string
string
string
string
string
boolean
string
boolean
number
number
controllers.main.initContainers.config.command[] (2)
- sh
- -c
- set -e umask 077 cp /config/config.yaml /data/runner-config.yml cat >> /data/runner-config.yml <<EOF server: connections: forgejo: url: "${FORGEJO_INSTANCE_URL}" uuid: "${RUNNER_UUID}" token: "${RUNNER_TOKEN}" EOF echo "Wrote /data/runner-config.yml for ${FORGEJO_INSTANCE_URL}"
string
controllers.main.initContainers.config.env[].name (2)
FORGEJO_INSTANCE_URL
RUNNER_UUID
RUNNER_TOKEN
string
controllers.main.initContainers.config.env[].value (2)
http://forgejo-http.dev.svc.cluster.local:3000
string
string
string
string
string
string
number
number
number
string
string
string
boolean
string
string
persistence.config.name (5)
forgejo-runner-configmap
string
string
boolean
string
string
string
string
string
boolean
string
boolean
string
string
string
string
string
boolean
string
string
boolean
string
boolean
persistence.daemon-config.name (2)
forgejo-runner-daemon-config
string
string
string
string
string
string
string
persistence.data.type (1)
persistentVolumeClaim
string
string
string
string
boolean
string
string
string
boolean
boolean
persistence.registry-mirrors.items[].key (2)
registry-docker.io.toml
registry-ghcr.io.toml
registry-quay.io.toml
registry-mirror.gcr.io.toml
string
persistence.registry-mirrors.items[].path (2)
docker.io/hosts.toml
ghcr.io/hosts.toml
quay.io/hosts.toml
mirror.gcr.io/hosts.toml
string
persistence.registry-mirrors.name (2)
forgejo-runner-registry-mirrors
string
string
string
string
string
boolean
string
string
string
string
string
boolean
string
string
string
string
string
string
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
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
string
string
string
string
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
string
string
string
string
rbac.roles.forgejo-runner.rules[].resources[] (6)
- jobs
- pods
- pods/exec
- pods/log
string
rbac.roles.forgejo-runner.rules[].verbs[] (6)
- create
- get
- list
- watch
- delete
- list
- watch
- get
- create
- get
- list
- watch
- get
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
string
number
string
boolean
string
string
string
number
boolean
number
string
boolean