You've already forked ansible-role-gitea-runner
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
634a707ad1
|
|||
|
097e24cd4a
|
|||
|
09989839e6
|
|||
|
199d8219db
|
|||
|
3fd470fe3b
|
|||
| c6308901df | |||
|
8c50c4bafb
|
|||
| e350f6781e | |||
|
a8b07f7397
|
@@ -11,7 +11,7 @@ jobs:
|
|||||||
ansible-lint:
|
ansible-lint:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- name: Run ansible-lint
|
- name: Run ansible-lint
|
||||||
uses: ansible/ansible-lint@v25.12.2
|
uses: ansible/ansible-lint@v25.12.2
|
||||||
with:
|
with:
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ jobs:
|
|||||||
runs-on:
|
runs-on:
|
||||||
- ubuntu-latest
|
- ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v6.0.1
|
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
|
||||||
- uses: DavidAnson/markdownlint-cli2-action@v21.0.0
|
- uses: DavidAnson/markdownlint-cli2-action@ded1f9488f68a970bc66ea5619e13e9b52e601cd # v23.2.0
|
||||||
with:
|
with:
|
||||||
globs: '**/*.md'
|
globs: '**/*.md'
|
||||||
|
|||||||
@@ -64,39 +64,53 @@ Found roles matching your search:
|
|||||||
|
|
||||||
### Act Runner
|
### Act Runner
|
||||||
|
|
||||||
| Name | Description | Value |
|
| Name | Description | Value |
|
||||||
| ---------------------------------------------- | -------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| `gitea_runner_config_file` | Path to the gitea_runner configuration file | `/etc/gitea_runner/config.yaml` |
|
| `gitea_runner_config_file` | Path to the gitea_runner configuration file | `/etc/gitea_runner/config.yaml` |
|
||||||
| `gitea_runner_config.log.level` | The level of logging, can be trace, debug, info, warn, error, fatal | `info` |
|
| `gitea_runner_config.log.level` | The level of logging, can be trace, debug, info, warn, error, fatal | `info` |
|
||||||
| `gitea_runner_config.runner.file` | Where to store the registration result | `.runner` |
|
| `gitea_runner_config.runner.file` | Where to store the registration result | `.runner` |
|
||||||
| `gitea_runner_config.runner.capacity` | Execute how many tasks concurrently at the same time | `1` |
|
| `gitea_runner_config.runner.capacity` | Execute how many tasks concurrently at the same time | `1` |
|
||||||
| `gitea_runner_config.runner.envs` | Extra environment variables to run jobs | `{}` |
|
| `gitea_runner_config.runner.envs` | Extra environment variables to run jobs | `{}` |
|
||||||
| `gitea_runner_config.runner.env_file` | Extra environment variables to run jobs from a file | `.env` |
|
| `gitea_runner_config.runner.env_file` | Extra environment variables to run jobs from a file | `.env` |
|
||||||
| `gitea_runner_config.runner.timeout` | The timeout for a job to be finished | `3h` |
|
| `gitea_runner_config.runner.timeout` | The timeout for a job to be finished | `3h` |
|
||||||
| `gitea_runner_config.runner.shutdown_timeout` | The timeout for the runner to wait for running jobs to finish when shutting down | `0s` |
|
| `gitea_runner_config.runner.shutdown_timeout` | The timeout for the runner to wait for running jobs to finish when shutting down | `0s` |
|
||||||
| `gitea_runner_config.runner.insecure` | Whether skip verifying the TLS certificate of the Gitea instance | `false` |
|
| `gitea_runner_config.runner.insecure` | Whether skip verifying the TLS certificate of the Gitea instance | `false` |
|
||||||
| `gitea_runner_config.runner.fetch_timeout` | The timeout for fetching the job from the Gitea instance | `5s` |
|
| `gitea_runner_config.runner.fetch_timeout` | The timeout for fetching the job from the Gitea instance | `5s` |
|
||||||
| `gitea_runner_config.runner.fetch_interval` | The interval for fetching the job from the Gitea instance | `2s` |
|
| `gitea_runner_config.runner.fetch_interval` | The interval for fetching the job from the Gitea instance | `2s` |
|
||||||
| `gitea_runner_config.runner.github_mirror` | The mirror address of the github that pulls the action repository | `""` |
|
| `gitea_runner_config.runner.fetch_interval_max` | The maximum interval for fetching the job from the Gitea instance. | `5s` |
|
||||||
| `gitea_runner_config.runner.labels` | The labels of a runner are used to determine which jobs the runner can run | `["ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest","ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04","ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"]` |
|
| `gitea_runner_config.runner.workdir_cleanup_age` | The maximum interval for fetching the job from the Gitea instance. | `24h` |
|
||||||
| `gitea_runner_config.cache.enabled` | Enable cache server to use actions/cache | `true` |
|
| `gitea_runner_config.runner.idle_cleanup_interval` | Cadence for the idle stale bind-workdir cleanup pass. | `10m` |
|
||||||
| `gitea_runner_config.cache.dir` | The directory to store the cache data | `""` |
|
| `gitea_runner_config.runner.log_report_interval` | The base interval for periodic log flush to the Gitea instance. | `5s` |
|
||||||
| `gitea_runner_config.cache.host` | The host of the cache server | `""` |
|
| `gitea_runner_config.runner.log_report_max_latency` | The maximum time a log row can wait before being sent. | `3s` |
|
||||||
| `gitea_runner_config.cache.port` | The port of the cache server | `0` |
|
| `gitea_runner_config.runner.log_report_batch_size` | Flush logs immediately when the buffer reaches this many rows. | `100` |
|
||||||
| `gitea_runner_config.cache.external_server` | The external cache server URL | `""` |
|
| `gitea_runner_config.runner.state_report_interval` | The interval for reporting task state (step status, timing) to the Gitea instance. | `5s` |
|
||||||
| `gitea_runner_config.container.network` | Specifies the network to which the container will connect | `""` |
|
| `gitea_runner_config.runner.github_mirror` | The mirror address of the github that pulls the action repository | `""` |
|
||||||
| `gitea_runner_config.container.privileged` | Whether to use privileged mode when launching task containers | `false` |
|
| `gitea_runner_config.runner.labels` | The labels of a runner are used to determine which jobs the runner can run | `["ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest","ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04","ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"]` |
|
||||||
| `gitea_runner_config.container.options` | Other options to be used when the container is started | `nil` |
|
| `gitea_runner_config.runner.allocate_pty` | TODO | `false` |
|
||||||
| `gitea_runner_config.container.workdir_parent` | The parent directory of a job's working directory | `nil` |
|
| `gitea_runner_config.cache.enabled` | Enable cache server to use actions/cache | `true` |
|
||||||
| `gitea_runner_config.container.valid_volumes` | Volumes that can be mounted to containers | `[]` |
|
| `gitea_runner_config.cache.dir` | The directory to store the cache data | `""` |
|
||||||
| `gitea_runner_config.container.docker_host` | Overrides the docker client host with the specified one | `""` |
|
| `gitea_runner_config.cache.host` | The host of the cache server | `""` |
|
||||||
| `gitea_runner_config.container.force_pull` | Pull docker image(s) even if already present | `true` |
|
| `gitea_runner_config.cache.port` | The port of the cache server | `0` |
|
||||||
| `gitea_runner_config.container.force_rebuild` | Rebuild docker image(s) even if already present | `false` |
|
| `gitea_runner_config.cache.external_server` | The external cache server URL | `""` |
|
||||||
| `gitea_runner_config.container.require_docker` | Always require a reachable docker daemon | `false` |
|
| `gitea_runner_config.cache.external_secret` | Shared secret between this runner and the external `gitea-runner cache-server`. | `""` |
|
||||||
| `gitea_runner_config.container.docker_timeout` | Timeout to wait for the docker daemon to be reachable | `0s` |
|
| `gitea_runner_config.cache.offline_mode` | When true, reuse a cached action instead of fetching from the remote on every job. | `false` |
|
||||||
| `gitea_runner_config.host.workdir_parent` | The parent directory of a job's working directory | `nil` |
|
| `gitea_runner_config.container.network` | Specifies the network to which the container will connect | `""` |
|
||||||
| `gitea_runner_gitea_url` | The URL of the Gitea instance | `""` |
|
| `gitea_runner_config.container.privileged` | Whether to use privileged mode when launching task containers | `false` |
|
||||||
| `gitea_runner_token` | The registration token for the gitea_runner | `""` |
|
| `gitea_runner_config.container.options` | Other options to be used when the container is started | `nil` |
|
||||||
|
| `gitea_runner_config.container.workdir_parent` | The parent directory of a job's working directory | `nil` |
|
||||||
|
| `gitea_runner_config.container.valid_volumes` | Volumes that can be mounted to containers | `[]` |
|
||||||
|
| `gitea_runner_config.container.docker_host` | Overrides the docker client host with the specified one | `""` |
|
||||||
|
| `gitea_runner_config.container.force_pull` | Pull docker image(s) even if already present | `true` |
|
||||||
|
| `gitea_runner_config.container.force_rebuild` | Rebuild docker image(s) even if already present | `false` |
|
||||||
|
| `gitea_runner_config.container.require_docker` | Always require a reachable docker daemon | `false` |
|
||||||
|
| `gitea_runner_config.container.docker_timeout` | Timeout to wait for the docker daemon to be reachable | `0s` |
|
||||||
|
| `gitea_runner_config.container.bind_workdir` | Bind the workspace to the host filesystem instead of using Docker volumes. This is required for Docker-in-Docker (DinD) setups when jobs use docker compose with bind mounts (e.g., ".:/app"), as volume-based workspaces are not accessible from the DinD daemon's filesystem. | `false` |
|
||||||
|
| `gitea_runner_config.host.workdir_parent` | The parent directory of a job's working directory | `nil` |
|
||||||
|
| `gitea_runner_config.metrics.enabled` | Enable exposing metrics at http://<addr>/metrics and a liveness check at /healthz. | `false` |
|
||||||
|
| `gitea_runner_config.metrics.addr` | The address for the metrics HTTP server. | `127.0.0.1:9101` |
|
||||||
|
| `gitea_runner_unix_extra_groups` | List of additional unix groups to append the executing gitea-runner user to. | `[]` |
|
||||||
|
| `gitea_runner_gitea_url` | The URL of the Gitea instance | `""` |
|
||||||
|
| `gitea_runner_token` | The registration token for the gitea_runner | `""` |
|
||||||
|
|
||||||
### Package Management
|
### Package Management
|
||||||
|
|
||||||
|
|||||||
+33
-1
@@ -1,7 +1,7 @@
|
|||||||
## @section Act Runner
|
## @section Act Runner
|
||||||
|
|
||||||
## @param gitea_runner_config_file Path to the gitea_runner configuration file
|
## @param gitea_runner_config_file Path to the gitea_runner configuration file
|
||||||
gitea_runner_config_file: /etc/gitea_runner/config.yaml
|
gitea_runner_config_file: /etc/gitea-runner/config.yaml
|
||||||
|
|
||||||
gitea_runner_config:
|
gitea_runner_config:
|
||||||
log:
|
log:
|
||||||
@@ -29,6 +29,20 @@ gitea_runner_config:
|
|||||||
fetch_timeout: 5s
|
fetch_timeout: 5s
|
||||||
## @param gitea_runner_config.runner.fetch_interval The interval for fetching the job from the Gitea instance
|
## @param gitea_runner_config.runner.fetch_interval The interval for fetching the job from the Gitea instance
|
||||||
fetch_interval: 2s
|
fetch_interval: 2s
|
||||||
|
## @param gitea_runner_config.runner.fetch_interval_max The maximum interval for fetching the job from the Gitea instance.
|
||||||
|
fetch_interval_max: 5s
|
||||||
|
## @param gitea_runner_config.runner.workdir_cleanup_age The maximum interval for fetching the job from the Gitea instance.
|
||||||
|
workdir_cleanup_age: 24h
|
||||||
|
## @param gitea_runner_config.runner.idle_cleanup_interval Cadence for the idle stale bind-workdir cleanup pass.
|
||||||
|
idle_cleanup_interval: 10m
|
||||||
|
## @param gitea_runner_config.runner.log_report_interval The base interval for periodic log flush to the Gitea instance.
|
||||||
|
log_report_interval: 5s
|
||||||
|
## @param gitea_runner_config.runner.log_report_max_latency The maximum time a log row can wait before being sent.
|
||||||
|
log_report_max_latency: 3s
|
||||||
|
## @param gitea_runner_config.runner.log_report_batch_size Flush logs immediately when the buffer reaches this many rows.
|
||||||
|
log_report_batch_size: 100
|
||||||
|
## @param gitea_runner_config.runner.state_report_interval The interval for reporting task state (step status, timing) to the Gitea instance.
|
||||||
|
state_report_interval: 5s
|
||||||
## @param gitea_runner_config.runner.github_mirror The mirror address of the github that pulls the action repository
|
## @param gitea_runner_config.runner.github_mirror The mirror address of the github that pulls the action repository
|
||||||
github_mirror: ''
|
github_mirror: ''
|
||||||
## @param gitea_runner_config.runner.labels The labels of a runner are used to determine which jobs the runner can run
|
## @param gitea_runner_config.runner.labels The labels of a runner are used to determine which jobs the runner can run
|
||||||
@@ -36,6 +50,8 @@ gitea_runner_config:
|
|||||||
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
|
- "ubuntu-latest:docker://docker.gitea.com/runner-images:ubuntu-latest"
|
||||||
- "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
|
- "ubuntu-22.04:docker://docker.gitea.com/runner-images:ubuntu-22.04"
|
||||||
- "ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"
|
- "ubuntu-20.04:docker://docker.gitea.com/runner-images:ubuntu-20.04"
|
||||||
|
## @param gitea_runner_config.runner.allocate_pty TODO
|
||||||
|
allocate_pty: false
|
||||||
|
|
||||||
cache:
|
cache:
|
||||||
## @param gitea_runner_config.cache.enabled Enable cache server to use actions/cache
|
## @param gitea_runner_config.cache.enabled Enable cache server to use actions/cache
|
||||||
@@ -48,6 +64,10 @@ gitea_runner_config:
|
|||||||
port: 0
|
port: 0
|
||||||
## @param gitea_runner_config.cache.external_server The external cache server URL
|
## @param gitea_runner_config.cache.external_server The external cache server URL
|
||||||
external_server: ""
|
external_server: ""
|
||||||
|
## @param gitea_runner_config.cache.external_secret Shared secret between this runner and the external `gitea-runner cache-server`.
|
||||||
|
external_secret: ""
|
||||||
|
## @param gitea_runner_config.cache.offline_mode When true, reuse a cached action instead of fetching from the remote on every job.
|
||||||
|
offline_mode: false
|
||||||
|
|
||||||
container:
|
container:
|
||||||
## @param gitea_runner_config.container.network Specifies the network to which the container will connect
|
## @param gitea_runner_config.container.network Specifies the network to which the container will connect
|
||||||
@@ -70,11 +90,23 @@ gitea_runner_config:
|
|||||||
require_docker: false
|
require_docker: false
|
||||||
## @param gitea_runner_config.container.docker_timeout Timeout to wait for the docker daemon to be reachable
|
## @param gitea_runner_config.container.docker_timeout Timeout to wait for the docker daemon to be reachable
|
||||||
docker_timeout: 0s
|
docker_timeout: 0s
|
||||||
|
## @param gitea_runner_config.container.bind_workdir Bind the workspace to the host filesystem instead of using Docker volumes. This is required for Docker-in-Docker (DinD) setups when jobs use docker compose with bind mounts (e.g., ".:/app"), as volume-based workspaces are not accessible from the DinD daemon's filesystem.
|
||||||
|
bind_workdir: false
|
||||||
|
|
||||||
host:
|
host:
|
||||||
## @param gitea_runner_config.host.workdir_parent The parent directory of a job's working directory
|
## @param gitea_runner_config.host.workdir_parent The parent directory of a job's working directory
|
||||||
workdir_parent:
|
workdir_parent:
|
||||||
|
|
||||||
|
metrics:
|
||||||
|
## @param gitea_runner_config.metrics.enabled Enable exposing metrics at http://<addr>/metrics and a liveness check at /healthz.
|
||||||
|
enabled: false
|
||||||
|
## @param gitea_runner_config.metrics.addr The address for the metrics HTTP server.
|
||||||
|
addr: "127.0.0.1:9101"
|
||||||
|
|
||||||
|
## @param gitea_runner_unix_extra_groups List of additional unix groups to append the executing gitea-runner user to.
|
||||||
|
gitea_runner_unix_extra_groups: []
|
||||||
|
# - docker
|
||||||
|
|
||||||
## @param gitea_runner_gitea_url The URL of the Gitea instance
|
## @param gitea_runner_gitea_url The URL of the Gitea instance
|
||||||
gitea_runner_gitea_url: ""
|
gitea_runner_gitea_url: ""
|
||||||
|
|
||||||
|
|||||||
+9
-2
@@ -26,8 +26,7 @@
|
|||||||
failed_when: _gitea_check.status is not defined or _gitea_check.status >= 400
|
failed_when: _gitea_check.status is not defined or _gitea_check.status >= 400
|
||||||
|
|
||||||
- name: Install gitea-runner and dependencies
|
- name: Install gitea-runner and dependencies
|
||||||
when:
|
when: ansible_facts['distribution'] == 'Archlinux'
|
||||||
- ansible_facts['distribution'] == 'Archlinux'
|
|
||||||
block:
|
block:
|
||||||
- name: Update package cache
|
- name: Update package cache
|
||||||
community.general.pacman:
|
community.general.pacman:
|
||||||
@@ -38,6 +37,12 @@
|
|||||||
state: present
|
state: present
|
||||||
with_items: "{{ gitea_runner_package_names }}"
|
with_items: "{{ gitea_runner_package_names }}"
|
||||||
|
|
||||||
|
- name: Add unix user to further groups
|
||||||
|
ansible.builtin.user:
|
||||||
|
name: "{{ gitea_runner_unix_user }}"
|
||||||
|
groups: "{{ gitea_runner_unix_groups + gitea_runner_unix_extra_groups }}"
|
||||||
|
append: true
|
||||||
|
|
||||||
- name: Create gitea-runner config directory
|
- name: Create gitea-runner config directory
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
path: "{{ gitea_runner_config_file | dirname }}"
|
path: "{{ gitea_runner_config_file | dirname }}"
|
||||||
@@ -67,6 +72,8 @@
|
|||||||
register: _gitea_runner_registration_file
|
register: _gitea_runner_registration_file
|
||||||
|
|
||||||
- name: Register gitea_runner
|
- name: Register gitea_runner
|
||||||
|
become: true
|
||||||
|
become_user: "{{ gitea_runner_unix_user }}"
|
||||||
ansible.builtin.command:
|
ansible.builtin.command:
|
||||||
cmd: "gitea-runner --config {{ gitea_runner_config_file }} register --instance {{ gitea_runner_gitea_url }} --no-interactive --token={{ gitea_runner_token }}"
|
cmd: "gitea-runner --config {{ gitea_runner_config_file }} register --instance {{ gitea_runner_gitea_url }} --no-interactive --token={{ gitea_runner_token }}"
|
||||||
chdir: "{{ gitea_runner_lib_dir }}"
|
chdir: "{{ gitea_runner_lib_dir }}"
|
||||||
|
|||||||
@@ -7,5 +7,6 @@ gitea_runner_service_name: gitea-runner
|
|||||||
|
|
||||||
gitea_runner_unix_user: gitea-runner
|
gitea_runner_unix_user: gitea-runner
|
||||||
gitea_runner_unix_group: gitea-runner
|
gitea_runner_unix_group: gitea-runner
|
||||||
|
gitea_runner_unix_groups: []
|
||||||
|
|
||||||
gitea_runner_lib_dir: /var/lib/gitea-runner
|
gitea_runner_lib_dir: /var/lib/gitea-runner
|
||||||
|
|||||||
Reference in New Issue
Block a user