109 lines
4.9 KiB
YAML
109 lines
4.9 KiB
YAML
---
|
|
# Default variables for the gitlab_runner role
|
|
|
|
# Infrastructure
|
|
# Ansible instructions to deploy the infrastructure
|
|
# Copyright (C) 2020 Saibotk
|
|
#
|
|
# This program is free software: you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation, version 3 of the License.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# Install location settings
|
|
gitlab_runner_install_location: "/srv/gitlab-runner"
|
|
gitlab_runner_config_location: "{{ gitlab_runner_install_location }}/config"
|
|
|
|
# The runner image & tag/version to be used
|
|
gitlab_runner_image: "docker.io/gitlab/gitlab-runner"
|
|
# renovate: depName=docker.io/gitlab/gitlab-runner
|
|
gitlab_runner_image_version: "v16.11.1"
|
|
gitlab_runner_image_variant: "alpine-{{ gitlab_runner_image_version }}"
|
|
|
|
# Extra paths that should be created (eg. to be mounted in the container)
|
|
gitlab_runner_extra_paths: []
|
|
|
|
# Enable or disable selinux handling
|
|
gitlab_runner_selinux_enabled: true
|
|
|
|
# Should the docker socket be mounted to the gitlab runner (usually needed for the docker executor)
|
|
gitlab_runner_mount_docker_socket: false
|
|
|
|
# Extra volumes that should be added to the gitlab runner container.
|
|
gitlab_runner_extra_volumes: []
|
|
|
|
# The maximum overall concurrent running jobs. This is the most upper limit of number of jobs using all defined runners, local and autoscale.
|
|
gitlab_runner_concurrent: 1
|
|
|
|
# The interval in seconds, to check for available jobs. (0 means default value is used.
|
|
# See https://docs.gitlab.com/runner/configuration/advanced-configuration.html#how-check_interval-works)
|
|
gitlab_runner_check_interval: 0
|
|
|
|
# This is used to define all the runners, that may be served by this gitlab-runner
|
|
# !! YOU WILL NEED TO ADJUST THIS! BELOW IS A FULL EXAMPLE!
|
|
gitlab_runner_runners:
|
|
# The URL of the instance that this runner should be associated with
|
|
- gitlab_url: https://gitlab.example.com
|
|
|
|
# The token that you received when registering the runner (not the register token!!!)
|
|
# Register a runner first to obtain a token: https://docs.gitlab.com/runner/register/index.html#docker
|
|
# Can be done via the API and the registration token:
|
|
# curl --request POST "https://gitlab.example.com/api/v4/runners" --form "token=<registration_token>"
|
|
gitlab_token:
|
|
|
|
# The name of the runner
|
|
name: "docker-runner"
|
|
|
|
# The limit of machines created by the runner and with that also the limit of jobs that can be handled concurrently by this specific runner.
|
|
limit: 1
|
|
|
|
# The executor that is used for this runner.
|
|
# Eg. "docker", "shell", "docker+machine"
|
|
executor: "docker"
|
|
|
|
# Should the docker runner start containers as privileged? (eg. needed for docker in docker / building with docker etc)
|
|
docker_privileged: false
|
|
# Should the docker socket be mounted into the containers? (SECURITY NOTE: This is critical, as it is effectively the same as root!)
|
|
docker_mount_socket: false
|
|
# The image that should be used for jobs by default
|
|
docker_image: "docker.io/library/docker:stable"
|
|
|
|
# The docker-machine driver that should be used (the server provider)
|
|
machine_driver: "hetzner"
|
|
# The template for naming new machines
|
|
machine_name: "machine-%s-gitlab-runner"
|
|
# The maximum amount of builds on a machine (VM) before a new one will be used
|
|
machine_max_builds: 20
|
|
# Time (in seconds) for machine to be in Idle state before it is removed.
|
|
machine_idle_time: 1800
|
|
# Number of machines, that need to be created and are waiting in Idle state.
|
|
machine_idle_count: 0
|
|
|
|
# The "MachineOptions" field with parameters that depend on the driver (these usually provide the api token, which machine type is used etc...)
|
|
# This for example are parameters for the Hetzner driver (but remember, that this will need the hetzner docker-machine plugin)
|
|
# The options can also be omitted if you do not need any.
|
|
machine_options:
|
|
# The Hetzner specific API token
|
|
hetzner-api-token: "TOKENHERE"
|
|
# The image that should be used for new machines
|
|
hetzner-image: "debian-10"
|
|
# The server type (the hardware configuration) to use for a new machine
|
|
hetzner-server-type: "cx11"
|
|
# The server location to use for a new machine
|
|
hetzner-server-location: "fsn1"
|
|
|
|
# S3 Runner cache configuration to improve performance between runs
|
|
# (see https://docs.gitlab.com/runner/configuration/autoscale.html#distributed-runners-caching)
|
|
# The options can also be omitted if you do not want to configure a cache
|
|
cache_s3:
|
|
server: s3.example.com
|
|
access_key: ""
|
|
secret_key: ""
|
|
bucket: "runner"
|