{"id":15616333,"url":"https://github.com/voxpupuli/puppet-gitlab_ci_runner","last_synced_at":"2025-04-06T06:09:59.085Z","repository":{"id":37579852,"uuid":"140203737","full_name":"voxpupuli/puppet-gitlab_ci_runner","owner":"voxpupuli","description":"Module to mange gitlab CI runners. Extracted from https://github.com/voxpupuli/puppet-gitlab","archived":false,"fork":false,"pushed_at":"2024-09-17T07:50:33.000Z","size":417,"stargazers_count":14,"open_issues_count":25,"forks_count":54,"subscribers_count":39,"default_branch":"master","last_synced_at":"2024-10-29T14:22:35.643Z","etag":null,"topics":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","oraclelinux-puppet-module","puppet","redhat-puppet-module","scientific-puppet-module","ubuntu-puppet-module"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/voxpupuli.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","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},"funding":{"open_collective":"vox-pupuli","github":"voxpupuli"}},"created_at":"2018-07-08T21:24:40.000Z","updated_at":"2024-09-17T07:50:36.000Z","dependencies_parsed_at":"2023-02-05T20:16:19.820Z","dependency_job_id":"48fe97fa-563e-41eb-a008-ae8c6d22001e","html_url":"https://github.com/voxpupuli/puppet-gitlab_ci_runner","commit_stats":{"total_commits":213,"total_committers":38,"mean_commits":5.605263157894737,"dds":0.6619718309859155,"last_synced_commit":"6ef1767f1308d47bb7f32f2bdcb1a4b12916f189"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-gitlab_ci_runner","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-gitlab_ci_runner/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-gitlab_ci_runner/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/voxpupuli%2Fpuppet-gitlab_ci_runner/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/voxpupuli","download_url":"https://codeload.github.com/voxpupuli/puppet-gitlab_ci_runner/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399856,"owners_count":20932875,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["centos-puppet-module","debian-puppet-module","hacktoberfest","linux-puppet-module","oraclelinux-puppet-module","puppet","redhat-puppet-module","scientific-puppet-module","ubuntu-puppet-module"],"created_at":"2024-10-03T07:06:38.765Z","updated_at":"2025-04-06T06:09:59.065Z","avatar_url":"https://github.com/voxpupuli.png","language":"Ruby","funding_links":["https://opencollective.com/vox-pupuli","https://github.com/sponsors/voxpupuli"],"categories":[],"sub_categories":[],"readme":"# Gitlab-CI runner module for Puppet\n\n[![Build Status](https://github.com/voxpupuli/puppet-gitlab_ci_runner/workflows/CI/badge.svg)](https://github.com/voxpupuli/puppet-gitlab_ci_runner/actions?query=workflow%3ACI)\n[![Release](https://github.com/voxpupuli/puppet-gitlab_ci_runner/actions/workflows/release.yml/badge.svg)](https://github.com/voxpupuli/puppet-gitlab_ci_runner/actions/workflows/release.yml)\n[![Puppet Forge](https://img.shields.io/puppetforge/v/puppet/gitlab_ci_runner.svg)](https://forge.puppetlabs.com/puppet/gitlab_ci_runner)\n[![Puppet Forge - downloads](https://img.shields.io/puppetforge/dt/puppet/gitlab_ci_runner.svg)](https://forge.puppetlabs.com/puppet/gitlab_ci_runner)\n[![Puppet Forge - endorsement](https://img.shields.io/puppetforge/e/puppet/gitlab_ci_runner.svg)](https://forge.puppetlabs.com/puppet/gitlab_ci_runner)\n[![Puppet Forge - scores](https://img.shields.io/puppetforge/f/puppet/gitlab_ci_runner.svg)](https://forge.puppetlabs.com/puppet/gitlab_ci_runner)\n[![puppetmodule.info docs](http://www.puppetmodule.info/images/badge.png)](http://www.puppetmodule.info/m/puppet-gitlab_ci_runner)\n[![Apache-2 License](https://img.shields.io/github/license/voxpupuli/puppet-gitlab_ci_runner.svg)](LICENSE)\n\n#### Table of Contents\n\n- [Gitlab-CI runner module for Puppet](#gitlab-ci-runner-module-for-puppet)\n      - [Table of Contents](#table-of-contents)\n  - [Overview](#overview)\n  - [Usage](#usage)\n  - [SLES](#sles)\n  - [Upgrading from version 3](#upgrading-from-version-3)\n  - [Limitations](#limitations)\n  - [License](#license)\n\n## Overview\n\nThis module installs and configures the Gitlab CI Runner Package or nodes.\n\n## Usage\n\nHere is an example how to configure Gitlab CI runners using Hiera:\n\nSet `$manage_docker` to false (the default) if Docker is not required (e.g., with `executor: \"shell\"`) or is managed by other means.\n\nSetting `$manage_docker` to true requires the [puppetlabs/docker](https://forge.puppetlabs.com/puppetlabs/docker) module.\n\n```yaml\ngitlab_ci_runner::concurrent: 4\n\ngitlab_ci_runner::check_interval: 4\n\ngitlab_ci_runner::metrics_server: \"localhost:8888\"\n\ngitlab_ci_runner::manage_docker: true\n\ngitlab_ci_runner::config_path: \"/etc/gitlab-runner/config.toml\"\n\ngitlab_ci_runner::runners:\n  test_runner1:{}\n  test_runner2:{}\n  test_runner3:\n    url: \"https://git.alternative.org/ci\"\n    registration-token: \"abcdef1234567890\"\n    tag-list: \"aws,docker,example-tag\"\n    ca_file: \"/etc/pki/cert/foo.pem\"\n\ngitlab_ci_runner::runner_defaults:\n  url: \"https://git.example.com/ci\"\n  registration-token: \"1234567890abcdef\"\n  executor: \"docker\"\n  docker:\n    image: \"ubuntu:focal\"\n```\n\nTo unregister a specific runner you may use `ensure` param:\n\n```yaml\ngitlab_ci_runner::runners:\n  test_runner1:{}\n  test_runner2:{}\n  test_runner3:\n    url: \"https://git.alternative.org/ci\"\n    registration-token: \"abcdef1234567890\"\n    ensure: absent\n```\n\n## SLES\n\nThere are no gitlab_ci_runner repositories for SLES/zypper available!\nInstead one can use the go binary.\nThis setup requires the [puppet-archive](https://github.com/voxpupuli/puppet-archive) module.\n\nPlease set the following data to be able to use this module on SLES:\n\n```yaml\ngitlab_ci_runner::install_method: 'binary' # required for SLES\ngitlab_ci_runner::binary_source: 'https://s3.dualstack.us-east-1.amazonaws.com/gitlab-runner-downloads/latest/binaries/gitlab-runner-linux-amd64' # default value\ngitlab_ci_runner::binary_path: '/usr/local/bin/gitlab-runner' # default value\n```\n\n## Upgrading from version 3\n\nVersion 4 of this module introduces some big changes.\nPuppet 6 or above is now **required** as the module now makes use of [Deferred Functions](https://puppet.com/docs/puppet/6/deferring_functions.html) when registering a runner.\n\nPreviously the `gitlab_ci_runner::runner:config` was only used when a runner was registered.\nThe configuration was used as the arguments to the runner `register` command, which would write the configuration file after registering with the gitlab server.\nPuppet did not manage this file directly.\n\nThe module now manages the configuration file properly.\nThat means, it's now possible to update most configuration settings *after* the initial registration, and more advanced configurations are supported.\n\n:warning: When upgrading, your runners will be **re-registered**.\n\nWhen upgrading to version 4 you may need to update some of your manifests accordingly.\nFor example:\n\n```puppet\nclass { 'gitlab_ci_runner':\n  # [...]\n  runners =\u003e {\n    'my_runner' =\u003e {\n      'url'                =\u003e 'https://gitlab.com/ci',\n      'registration-token' =\u003e 'abcdef1234567890',\n      'docker-image'       =\u003e 'ubuntu:focal',\n    },\n  },\n}\n```\n\nwould need to be converted to:\n\n```puppet\nclass { 'gitlab_ci_runner':\n  # [...]\n  runners =\u003e {\n    'my_runner' =\u003e {\n      'url'                =\u003e 'https://gitlab.com',\n      'registration-token' =\u003e 'abcdef1234567890',\n      'docker'             =\u003e {\n        'image' =\u003e 'ubuntu:focal',\n      },\n    },\n  },\n}\n```\n\nConfiguration keys that are specific to registration, (such as `registration-token`, `run_untagged` etc.) are **not** written to the runner's configuration file, but are automatically extracted and used during registration only.\nChanging these after registration has no affect.\n\n## Limitations\n\nFor the current list of tested and support operating systems, please checkout the metadata.json file.\n\nIt is currently not possible to alter registration specific configuration settings after a runner is registered.\n\n## License\n\n[lib/puppet_x/gitlab/dumper.rb](lib/puppet_x/gitlab/dumper.rb) is licensed under MIT. All other code is licensed under Apache 2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-gitlab_ci_runner","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvoxpupuli%2Fpuppet-gitlab_ci_runner","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvoxpupuli%2Fpuppet-gitlab_ci_runner/lists"}