{"id":25524810,"url":"https://github.com/netresearch/ansible-role-gitlab-runner","last_synced_at":"2026-02-12T16:05:47.402Z","repository":{"id":263997652,"uuid":"887254119","full_name":"netresearch/ansible-role-gitlab-runner","owner":"netresearch","description":"Ansible role to install and configure GitLab runner.","archived":false,"fork":false,"pushed_at":"2025-10-30T13:23:49.000Z","size":26,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-30T15:14:04.434Z","etag":null,"topics":["ansible-role","gitlab-runner"],"latest_commit_sha":null,"homepage":"","language":"Jinja","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/netresearch.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-11-12T12:36:15.000Z","updated_at":"2025-10-30T13:23:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"98e52780-efd5-4283-8417-9394956bd020","html_url":"https://github.com/netresearch/ansible-role-gitlab-runner","commit_stats":null,"previous_names":["netresearch/ansible-role-gitlab-runner"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/netresearch/ansible-role-gitlab-runner","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fansible-role-gitlab-runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fansible-role-gitlab-runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fansible-role-gitlab-runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fansible-role-gitlab-runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/netresearch","download_url":"https://codeload.github.com/netresearch/ansible-role-gitlab-runner/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/netresearch%2Fansible-role-gitlab-runner/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29371501,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ansible-role","gitlab-runner"],"created_at":"2025-02-19T20:16:19.996Z","updated_at":"2026-02-12T16:05:47.384Z","avatar_url":"https://github.com/netresearch.png","language":"Jinja","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GitLab Runner Ansible role\n\nThis Ansible role installs and configures GitLab runner.\n\n**Please note:** Only the **docker** and **shell** executor is supported. Other executors are\nuntested and may not work out of the box with this role.\n\nCurrently supported operating systems:\n\n- Debian 12\n- Ubuntu Server 24.04\n\n## Requirements\n\nThis role has been tested with the following dependencies:\n\n`ansible_core` \u003e= `2.17.1`\nAnsible Collections\n\n- `community.general` \u003e= `9.2.0`\n  Python \u003e= `3.11.2`\n\n### Testing\n\n- `molecule` \u003e= `24.7.0`\n- `molecule-plugins[docker]` \u003e= `23.5.3`\n\n## Role Variables\n\n### Required\n\n- `gitlab_access_token`: **Required.** GitLab Personal Access Token with `admin` scope.\n\n### Optional\n\n- `os_pkg_gitlab_runner`: Optional. Installation package name.\n- `gitlab_gpg_key_url`: Optional. URL for GitLab's official gpg key.\n- `gitlab_url`:Optional. URL of GitLab server.\n- `gitlab_apt_repository_url`: Optional. GitLab Runner apt repository URL.\n- `apt_os_dependencies`: Optional. OS dependencies that should be installed.\n\n- `runner_count`: Optional. The number of runner instances.\n- `runner_name`: Optional. The runner's name.\n- `runner_executor`: Optional. The runner's executor that is used to run your\n  builds.\n- `runner_concurrent`: Optional. Limits how many jobs globally can be run\n  concurrently.\n- `runner_builds_limit`: Optional. Maximum number of builds processed by a\n  runner.\n- `runner_is_locked`: Optional. If true, runner cannot be assigned to other\n  projects.\n- `runner_is_paused`: Optional. If true, runner will not receive any new jobs.\n- `runner_run_untagged_builds`: Optional. Register to run untagged builds.\n- `runner_tags`: Optional. List of tags.\n- `runner_env`: Optional. Dictionary of environment variables available to the\n  CI jobs.\n- `runner_metrics_enabled`: Optional. If true, runner will expose Prometheus\n  metrics via embedded HTTP server.\n- `runner_metrics_listen_address`. Optional. `\u003chost\u003e:\u003cport\u003e` address on which\n  the Prometheus metrics HTTP server should be listening (default: `':9252'`).\n\n- `runner_docker_image`: Optional. Docker image to be used.\n- `runner_docker_privileged`: Optional. Give extended privileges to docker\n  container.\n- `runner_docker_services_timeout`: Optional. How long to wait for service\n  startup.\n- `runner_stop_timeout`: Optional. Timeout in seconds for the service stop\n  command after which systemd will just `SIGKILL` the process.\n- `runner_docker_volumes`: Optional. List of volumes to mount into the CI jobs.\n\n- `runner_user`: Optional. User that will be used to run the runner. Only used\n  if `runner_executor` is set to `shell`.\n- `runner_group`: Optional. Group that will be used to run the runner. Only used\n  if `runner_executor` is set to `shell`.\n\n- `force_unregistration`: Optional. Force unregistration of all existing runners,\n- `force_reregistration`: Optional. Force unregistration of all existing\n  runners before registration.\n\n- `runner_cleanup_is_enabled`: Optional. If true, GitLab Runner cleanup tool\n  will be used.\n- `runner_cleanup_container_name`: Optional. GitLab Runner cleanup container\n  name.\n- `runner_cleanup_container_image`: Optional. GitLab Runner cleanup container\n  image.\n- `runner_cleanup_volumes`: Optional. GitLab Runner cleanup volumes.\n- `runner_cleanup_env`: Optional. GitLab Runner cleanup environment variables.\n\n- `runner_config_path`: Optional. Path to GitLab Runner's configuration file\n  (TOML format).\n\n- `env_compose_http_timeout`: Optional. Value for `COMPOSE_HTTP_TIMEOUT`\n  environment variable injected to build environment.\n- `env_docker_driver`: Optional. Value for `DOCKER_DRIVER` environment variable\n  injected to build environment.\n- `env_docker_tls_certdir`: Optional. Value for `DOCKER_TLS_CERTDIR`\n  environment variable injected to build environment.\n\n## Dependencies\n\n- [geerlingguy.docker](https://github.com/geerlingguy/ansible-role-docker) to use the `docker` executor\n\n## Example Playbook\n\n```yaml\n- hosts: servers\n  become: true\n  vars:\n    gitlab_access_token: \"xxxxx-oemL-tu-cvi\"\n  tasks:\n    - name: \"Include netresearch.gitlab_runner\"\n      ansible.builtin.include_role:\n        name: \"netresearch.gitlab_runner\"\n```\n\n## Testing\n\nFor testing we use `Molecule` in combination with `Docker`.\nFor more information see:\n\n- [Test requirements](molecule/default/INSTALL.rst)\n- [Molecule](https://molecule.readthedocs.io/en/latest/)\n\nAdditionally we have two scenarios:\n\n- Debian 12\n\n1. Get a GitLab PAT with the `admin` scope.\n2. For starting the tests, please run:\n\n   ```bash\n   molecule test -- --extra-vars \"gitlab_access_token=\u003cTOKEN\u003e\"\n   ```\n\n   For development you can also run the test step-by-step for Debian scenario:\n\n   ```bash\n   # create testing environment\n   molecule create\n\n   # rollout Ansible config\n   molecule converge -- --extra-vars \"gitlab_access_token=TOKEN_HERE\"\n\n   # start tests\n   molecule verify\n\n   # login into the testing environment\n   molecule login --host \u003chostname_in_molecule.yml\u003e\n   ```\n\n## License\n\nAGPL-3.0-or-later\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetresearch%2Fansible-role-gitlab-runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnetresearch%2Fansible-role-gitlab-runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnetresearch%2Fansible-role-gitlab-runner/lists"}