diff --git a/forgejo-runner/Chart.yaml b/forgejo-runner/Chart.yaml index 552f223..5728f82 100644 --- a/forgejo-runner/Chart.yaml +++ b/forgejo-runner/Chart.yaml @@ -2,9 +2,9 @@ apiVersion: v2 name: forgejo-runner description: Deploy runner for an forgejo instance (default codeberg.org) type: application -version: "0.4.3" +version: "0.4.4" # renovate: image=code.forgejo.org/forgejo/runner -appVersion: "5.0.2" +appVersion: "5.0.3" maintainers: - name: WrenIX url: https://wrenix.eu diff --git a/forgejo-runner/README.adoc b/forgejo-runner/README.adoc deleted file mode 100644 index 5222872..0000000 --- a/forgejo-runner/README.adoc +++ /dev/null @@ -1,421 +0,0 @@ - - -= forgejo-runner - -image::https://img.shields.io/badge/Version-0.4.3-informational?style=flat-square[Version: 0.4.3] -image::https://img.shields.io/badge/Version-application-informational?style=flat-square[Type: application] -image::https://img.shields.io/badge/AppVersion-5.0.2-informational?style=flat-square[AppVersion: 5.0.2] -== Maintainers - -.Maintainers -|=== -| Name | Email | Url - -| WrenIX -| -| -|=== - -{{< callout type="warning" >}} -Me, wrenix, switch to woodpecker and maybe does not test every change. -{{< /callout >}} - -## Accessing docker socket inside job containers - -To access the docker socket inside the job containers, the following example values may be used (see `values-dind-bypass.yaml`): - -``` yaml {filename="values.yaml"} -runner: - config: - create: true - existingSecret: "" - file: - log: - level: "info" - runner: - file: ".runner" - capacity: 1 - envs: - A_TEST_ENV_NAME_1: null - A_TEST_ENV_NAME_2: null - DOCKER_HOST: tcp://127.0.0.1:2376 - DOCKER_TLS_VERIFY: 1 - DOCKER_CERT_PATH: /certs/client - container: - network: host - enable_ipv6: false - privileged: false - options: -v /certs/client:/certs/client - valid_volumes: - - /certs/client - -``` - -== Usage - -Helm must be installed and setup to your kubernetes cluster to use the charts. -Refer to Helm's https://helm.sh/docs[documentation] to get started. -Once Helm has been set up correctly, fetch the charts as follows: - -[source,bash] ----- -helm pull oci://codeberg.org/wrenix/helm-charts/forgejo-runner ----- - -You can install a chart release using the following command: - -[source,bash] ----- -helm install forgejo-runner-release oci://codeberg.org/wrenix/helm-charts/forgejo-runner --values values.yaml ----- - -To uninstall a chart release use `helm`'s delete command: - -[source,bash] ----- -helm uninstall forgejo-runner-release ----- - -== Values - -.Values Configuration yaml of runner (see: https://code.forgejo.org/forgejo/runner/src/branch/main/internal/pkg/config/config.example.yaml) -|=== -| Key | Type | Default | Description - -| runner.config.file.cache.dir -| string -| `""` -| The directory to store the cache data. If it's empty, the cache data will be stored in $HOME/.cache/actcache. - -| runner.config.file.cache.enabled -| bool -| `true` -| Enable cache server to use actions/cache. - -| runner.config.file.cache.external_server -| string -| `""` -| The external cache server URL. Valid only when enable is true. If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself. The URL should generally end with "/". - -| runner.config.file.cache.host -| string -| `""` -| The host of the cache server. It's not for the address to listen, but the address to connect from job containers. So 0.0.0.0 is a bad choice, leave it empty to detect automatically. - -| runner.config.file.cache.port -| int -| `0` -| The port of the cache server. 0 means to use a random available port. - -| runner.config.file.container.docker_host -| string -| `"-"` -| overrides the docker client host with the specified one. If "-", an available docker host will automatically be found. If empty, an available docker host will automatically be found and mounted in the job container (e.g. /var/run/docker.sock). Otherwise the specified docker host will be used and an error will be returned if it doesn't work. - -| runner.config.file.container.enable_ipv6 -| bool -| `false` -| Whether to create networks with IPv6 enabled. Requires the Docker daemon to be set up accordingly. Only takes effect if "network" is set to "". - -| runner.config.file.container.force_pull -| bool -| `false` -| Pull docker image(s) even if already present - -| runner.config.file.container.network -| string -| `""` -| Specifies the network to which the container will connect. Could be host, bridge or the name of a custom network. If it's empty, create a network automatically. - -| runner.config.file.container.options -| string -| `nil` -| And other options to be used when the container is started (eg, `--add-host=my.forgejo.url:host-gateway`). - -| runner.config.file.container.privileged -| bool -| `false` -| And other options to be used when the container is started (eg, `--add-host=my.forgejo.url:host-gateway`). - -| runner.config.file.container.valid_volumes -| list -| `[]` -| Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob You can specify multiple volumes. If the sequence is empty, no volumes can be mounted. For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to: valid_volumes: - data - /src/*.json If you want to allow any volume, please use the following configuration: valid_volumes: - '**' - -| runner.config.file.container.workdir_parent -| string -| `nil` -| The parent directory of a job's working directory. If it's empty, /workspace will be used. - -| runner.config.file.host.workdir_parent -| string -| `nil` -| The parent directory of a job's working directory. If it's empty, $HOME/.cache/act/ will be used. - -| runner.config.file.log.job_level -| string -| `"info"` -| The level of logging for jobs, can be trace, debug, info, earn, error, fatal - -| runner.config.file.log.level -| string -| `"info"` -| The level of logging, can be trace, debug, info, warn, error, fatal - -| runner.config.file.runner.capacity -| int -| `1` -| Execute how many tasks concurrently at the same time. - -| runner.config.file.runner.env_file -| string -| `".env"` -| Extra environment variables to run jobs from a file. It will be ignored if it's empty or the file doesn't exist. - -| runner.config.file.runner.envs -| object -| `{"A_TEST_ENV_NAME_1":"a_test_env_value_1","A_TEST_ENV_NAME_2":"a_test_env_value_2"}` -| Extra environment variables to run jobs. - -| runner.config.file.runner.fetch_interval -| string -| `"2s"` -| The interval for fetching the job from the Forgejo instance. - -| runner.config.file.runner.fetch_timeout -| string -| `"5s"` -| The timeout for fetching the job from the Forgejo instance. - -| runner.config.file.runner.file -| string -| `".runner"` -| Runner config which contains id and token of this runner (autogenerate with create) - -| runner.config.file.runner.insecure -| bool -| `false` -| Whether skip verifying the TLS certificate of the Forgejo instance. - -| runner.config.file.runner.labels -| list -| `[]` -| The labels of a runner are used to determine which jobs the runner can run, and how to run them. Like: ["macos-arm64:host", "ubuntu-latest:docker://node:16-bullseye", "ubuntu-22.04:docker://node:16-bullseye"] If it's empty when registering, it will ask for inputting labels. If it's empty when execute `deamon`, will use labels in `.runner` file. - -| runner.config.file.runner.timeout -| string -| `"3h"` -| The timeout for a job to be finished. Please note that the Forgejo instance also has a timeout (3h by default) for the job. So the job could be stopped by the Forgejo instance if it's timeout is shorter than this. -|=== -.Values Other Values -|=== -| Key | Type | Default | Description - -| affinity -| object -| `{}` -| - -| autoscaling.behavior -| object -| `{}` -| behavior of HPA Example: scaleDown: stabilizationWindowSeconds: 300 policies: - type: Pods value: 1 periodSeconds: 60 scaleUp: stabilizationWindowSeconds: 0 policies: - type: Pods value: 1 periodSeconds: 60 - -| autoscaling.enabled -| bool -| `false` -| - -| autoscaling.maxReplicas -| int -| `100` -| - -| autoscaling.minReplicas -| int -| `1` -| - -| autoscaling.targetCPUUtilizationPercentage -| int -| `80` -| - -| dind.image.pullPolicy -| string -| `"IfNotPresent"` -| - -| dind.image.registry -| string -| `"docker.io"` -| - -| dind.image.repository -| string -| `"library/docker"` -| - -| dind.image.tag -| string -| `"27.3.1-dind"` -| - -| extraEnvVars -| list -| `[]` -| Additional environment variables to be set on runner container Example: extraEnvVars: - name: FOO value: "bar" - -| fullnameOverride -| string -| `""` -| - -| image.pullPolicy -| string -| `"IfNotPresent"` -| - -| image.registry -| string -| `"code.forgejo.org"` -| - -| image.repository -| string -| `"forgejo/runner"` -| - -| image.tag -| string -| `""` -| - -| imagePullSecrets -| list -| `[]` -| - -| kubectl.image.pullPolicy -| string -| `"IfNotPresent"` -| - -| kubectl.image.registry -| string -| `"docker.io"` -| - -| kubectl.image.repository -| string -| `"bitnami/kubectl"` -| - -| kubectl.image.tag -| string -| `"1.31.3"` -| - -| nameOverride -| string -| `""` -| - -| nodeSelector -| object -| `{}` -| - -| podAnnotations -| object -| `{}` -| - -| podLabels -| object -| `{}` -| - -| podSecurityContext -| object -| `{}` -| - -| replicaCount -| int -| `1` -| - -| resources -| object -| `{}` -| - -| runner.config.create -| bool -| `true` -| - -| runner.config.existingSecret -| string -| `""` -| use existingSecret instatt - -| runner.config.instance -| string -| `"https://codeberg.org"` -| - -| runner.config.name -| string -| `nil` -| - -| runner.config.token -| string -| `nil` -| - -| securityContext.privileged -| bool -| `true` -| - -| serviceAccount.annotations -| object -| `{}` -| - -| serviceAccount.automount -| bool -| `true` -| - -| serviceAccount.create -| bool -| `true` -| - -| serviceAccount.name -| string -| `""` -| - -| tolerations -| list -| `[]` -| - -| volumeMounts -| list -| `[]` -| - -| volumes -| list -| `[]` -| -|=== - -Autogenerated from chart metadata using https://github.com/norwoodj/helm-docs[helm-docs] - diff --git a/forgejo-runner/README.md b/forgejo-runner/README.md index b10ee77..e3a36b4 100644 --- a/forgejo-runner/README.md +++ b/forgejo-runner/README.md @@ -7,7 +7,7 @@ description: "Deploy runner for an forgejo instance (default codeberg.org)" # forgejo-runner -![Version: 0.4.3](https://img.shields.io/badge/Version-0.4.3-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.0.2](https://img.shields.io/badge/AppVersion-5.0.2-informational?style=flat-square) +![Version: 0.4.4](https://img.shields.io/badge/Version-0.4.4-informational?style=flat-square) ![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square) ![AppVersion: 5.0.3](https://img.shields.io/badge/AppVersion-5.0.3-informational?style=flat-square) Deploy runner for an forgejo instance (default codeberg.org)