--- # 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 . # 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: "v17.5.3" 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=" 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"