Version information
This version is compatible with:
- Puppet Enterprise 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x
- Puppet >= 6.1.0 < 8.0.0
- , , , , ,
Tasks:
- register_runner
- unregister_runner
Start using this module
Add this module to your Puppetfile:
mod 'puppet-gitlab_ci_runner', '4.3.0'
Learn more about managing modules with a PuppetfileDocumentation
Gitlab-CI runner module for Puppet
Table of Contents
- Overview
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Upgrading from version 3
- License
Overview
This module installs and configures the Gitlab CI Runner Package or nodes.
Usage
Here is an example how to configure Gitlab CI runners using Hiera:
To use the Gitlab CI runners it is required to have the puppetlabs/docker module.
$manage_docker
can be set to false if docker is managed externally.
gitlab_ci_runner::concurrent: 4
gitlab_ci_runner::check_interval: 4
gitlab_ci_runner::metrics_server: "localhost:8888"
gitlab_ci_runner::manage_docker: true
gitlab_ci_runner::config_path: "/etc/gitlab-runner/config.toml"
gitlab_ci_runner::runners:
test_runner1:{}
test_runner2:{}
test_runner3:
url: "https://git.alternative.org/ci"
registration-token: "abcdef1234567890"
tag-list: "aws,docker,example-tag"
gitlab_ci_runner::runner_defaults:
url: "https://git.example.com/ci"
registration-token: "1234567890abcdef"
executor: "docker"
docker:
image: "ubuntu:focal"
builds_dir: "/tmp"
cache_dir: "/tmp"
To unregister a specific runner you may use ensure
param:
gitlab_ci_runner::runners:
test_runner1:{}
test_runner2:{}
test_runner3:
url: "https://git.alternative.org/ci"
registration-token: "abcdef1234567890"
ensure: absent
Upgrading from version 3
Version 4 of this module introduces some big changes. Puppet 6 or above is now required as the module now makes use of Deferred Functions when registering a runner.
Previously the gitlab_ci_runner::runner:config
was only used when a runner was registered.
The configuration was used as the arguments to the runner register
command, which would write the configuration file after registering with the gitlab server.
Puppet did not manage this file directly.
The module now manages the configuration file properly. That means, it's now possible to update most configuration settings after the initial registration, and more advanced configurations are supported.
:warning: When upgrading, your runners will be re-registered.
When upgrading to version 4 you may need to update some of your manifests accordingly. For example:
class { 'gitlab_ci_runner':
# [...]
runners: {
'my_runner' => {
'url' => 'https://gitlab.com',
'registration-token' => 'abcdef1234567890',
'docker-image' => 'ubuntu:focal',
},
},
}
would need to be converted to:
class { 'gitlab_ci_runner':
# [...]
runners: {
'my_runner' => {
'url' => 'https://gitlab.com',
'registration-token' => 'abcdef1234567890',
'docker' => {
'image' => 'ubuntu:focal',
},
},
},
}
Configuration 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.
Changing these after registration has no affect.
Limitations
The Gitlab CI runner installation is at the moment only tested on:
- CentOS 7/8
- Debian 9/10
- Ubuntu 18.04/20.04
It is currently not possible to alter registration specific configuration settings after a runner is registered.
License
lib/puppet_x/gitlab/dumper.rb is licensed under MIT. All other code is licensed under Apache 2.0.
Reference
Table of Contents
Classes
Public Classes
gitlab_ci_runner
: This module installs and configures Gitlab CI Runners.
Private Classes
gitlab_ci_runner::config
: Manages the configuration of Gitlab runnergitlab_ci_runner::install
: Manages the package of Gitlab runnergitlab_ci_runner::repo
: Manages the repository for Gitlab runnergitlab_ci_runner::service
: Manages the service of Gitlab runner
Defined types
gitlab_ci_runner::runner
: This configures a Gitlab CI runner.
Functions
gitlab_ci_runner::register
: A function that registers a Gitlab runner on a Gitlab instance. Be careful, this will be triggered on noop runs as well!gitlab_ci_runner::register_to_file
: A function that registers a Gitlab runner on a Gitlab instance, if it doesn't already exist, and saves the retrieved authentication token tgitlab_ci_runner::to_toml
: Convert a data structure and output to TOML.gitlab_ci_runner::unregister
: A function that unregisters a Gitlab runner from a Gitlab instance. Be careful, this will be triggered on noop runs as well!gitlab_ci_runner::unregister_from_file
: A function that unregisters a Gitlab runner from a Gitlab instance, if the local token is there. This is meant to be used in conjunction with
Data types
Gitlab_ci_runner::Keyserver
: Type to match repo_keyserver Regex from: https://github.com/puppetlabs/puppetlabs-apt/blob/main/manifests/key.ppGitlab_ci_runner::Log_format
: Gitlab Runner log format configurationGitlab_ci_runner::Log_level
: Gitlab Runner log level configurationGitlab_ci_runner::Register
: A struct of all possible additionl options for gitlab_ci_runner::registerGitlab_ci_runner::Register_parameters
: A enum containing a possible keys used for Gitlab runner registrationsGitlab_ci_runner::Session_server
: Gitlab Runner session_server configuration
Tasks
register_runner
: Registers a runner on a Gitlab instance.unregister_runner
: Unregisters a runner from a Gitlab instance.
Classes
gitlab_ci_runner
This module installs and configures Gitlab CI Runners.
Examples
Simple runner registration
class { 'gitlab_ci_runner':
runners => {
example_runner => {
'registration-token' => 'gitlab-token',
'url' => 'https://gitlab.com',
'tag-list' => 'docker,aws',
},
},
}
Parameters
The following parameters are available in the gitlab_ci_runner
class:
runners
runner_defaults
xz_package_name
concurrent
log_level
log_format
check_interval
sentry_dsn
listen_address
session_server
manage_docker
manage_repo
package_ensure
package_name
repo_base_url
repo_keyserver
config_path
config_owner
config_group
config_mode
manage_config_dir
config_dir_mode
http_proxy
ca_file
runners
Data type: Hash
Hashkeys are used as $title in runners.pp. The subkeys have to be named as the parameter names from ´gitlab-runner register´ command cause they're later joined to one entire string using 2 hyphen to look like shell command parameters. See ´https://docs.gitlab.com/runner/register/#one-line-registration-command´ for details.
Default value: {}
runner_defaults
Data type: Hash
A hash with defaults which will be later merged with $runners.
Default value: {}
xz_package_name
Data type: String
The name of the 'xz' package. Needed for local docker installations.
concurrent
Data type: Optional[Integer]
Limits how many jobs globally can be run concurrently. The most upper limit of jobs using all defined runners. 0 does not mean unlimited!
Default value: undef
log_level
Data type: Optional[Gitlab_ci_runner::Log_level]
Log level (options: debug, info, warn, error, fatal, panic). Note that this setting has lower priority than level set by command line argument --debug, -l or --log-level
Default value: undef
log_format
Data type: Optional[Gitlab_ci_runner::Log_format]
Log format (options: runner, text, json). Note that this setting has lower priority than format set by command line argument --log-format
Default value: undef
check_interval
Data type: Optional[Integer]
defines the interval length, in seconds, between new jobs check. The default value is 3; if set to 0 or lower, the default value will be used.
Default value: undef
sentry_dsn
Data type: Optional[String]
Enable tracking of all system level errors to sentry.
Default value: undef
listen_address
Data type: Optional[Pattern[/.*:.+/]]
Address (:) on which the Prometheus metrics HTTP server should be listening.
Default value: undef
session_server
Data type: Optional[Gitlab_ci_runner::Session_server]
Session server lets users interact with jobs, for example, in the interactive web terminal.
Default value: undef
manage_docker
Data type: Boolean
If docker should be installs (uses the puppetlabs-docker).
Default value: false
manage_repo
Data type: Boolean
If the repository should be managed.
Default value: true
package_ensure
Data type: String
The package 'ensure' state.
Default value: installed
package_name
Data type: String
The name of the package.
Default value: 'gitlab-runner'
repo_base_url
Data type: Stdlib::HTTPUrl
The base repository url.
Default value: 'https://packages.gitlab.com'
repo_keyserver
Data type: Optional[Gitlab_ci_runner::Keyserver]
The keyserver which should be used to get the repository key.
Default value: undef
config_path
Data type: String
The path to the config file of Gitlab runner.
Default value: '/etc/gitlab-runner/config.toml'
config_owner
Data type: String[1]
The user owning the config file. (and config directory if managed).
Default value: 'root'
config_group
Data type: String[1]
The group ownership assigned to the config file (and config directory if managed).
Default value: 'root'
config_mode
Data type: Stdlib::Filemode
The file permissions applied to the config file.
Default value: '0444'
manage_config_dir
Data type: Boolean
Manage the parent directory of the config file.
Default value: false
config_dir_mode
Data type: Optional[Stdlib::Filemode]
The file permissions applied to the config directory.
Default value: undef
http_proxy
Data type: Optional[Stdlib::HTTPUrl]
An HTTP proxy to use whilst registering runners.
This setting is only used when registering or unregistering runners and will be used for all runners in the runners
parameter.
If you have some runners that need to use a proxy and others that don't, leave runners
and http_proxy
unset and declare gitlab_ci_runnner::runner
resources separately.
If you do need to use an http proxy, you'll probably also want to configure other aspects of your runners to use it, (eg. setting http_proxy
environment variables, pre-clone-script
, pre-build-script
etc.)
Exactly how you might need to configure your runners varies between runner executors and specific use-cases.
This module makes no attempt to automatically alter your runner configurations based on the value of this parameter.
More information on what you might need to configure can be found here
Default value: undef
ca_file
Data type: Optional[Stdlib::Unixpath]
A file containing public keys of trusted certificate authorities in PEM format.
This setting is only used when registering or unregistering runners and will be used for all runners in the runners
parameter.
It can be used when the certificate of the gitlab server is signed using a CA
and when upon registering a runner the following error is shown:
certificate verify failed (self signed certificate in certificate chain)
Using the CA file solves https://github.com/voxpupuli/puppet-gitlab_ci_runner/issues/124.
Default value: undef
Defined types
gitlab_ci_runner::runner
This configures a Gitlab CI runner.
Examples
Add a simple runner
gitlab_ci_runner::runner { 'testrunner':
config => {
'url' => 'https://gitlab.com',
'token' => '123456789abcdefgh', # Note this is different from the registration token used by `gitlab-runner register`
'executor' => 'shell',
},
}
Add a autoscaling runner with DigitalOcean as IaaS
gitlab_ci_runner::runner { 'autoscale-runner':
config => {
url => 'https://gitlab.com',
token => 'RUNNER_TOKEN', # Note this is different from the registration token used by `gitlab-runner register`
name => 'autoscale-runner',
executor => 'docker+machine',
limit => 10,
docker => {
image => 'ruby:2.6',
},
machine => {
OffPeakPeriods => [
'* * 0-9,18-23 * * mon-fri *',
'* * * * * sat,sun *',
],
OffPeakIdleCount => 1,
OffPeakIdleTime => 1200,
IdleCount => 5,
IdleTime => 600,
MaxBuilds => 100,
MachineName => 'auto-scale-%s',
MachineDriver => 'digitalocean',
MachineOptions => [
'digitalocean-image=coreos-stable',
'digitalocean-ssh-user=core',
'digitalocean-access-token=DO_ACCESS_TOKEN',
'digitalocean-region=nyc2',
'digitalocean-size=4gb',
'digitalocean-private-networking',
'engine-registry-mirror=http://10.11.12.13:12345',
],
},
cache => {
'Type' => 's3',
s3 => {
ServerAddress => 's3-eu-west-1.amazonaws.com',
AccessKey => 'AMAZON_S3_ACCESS_KEY',
SecretKey => 'AMAZON_S3_SECRET_KEY',
BucketName => 'runner',
Insecure => false,
},
},
},
}
Parameters
The following parameters are available in the gitlab_ci_runner::runner
defined type:
config
Data type: Hash
Hash with configuration options. See https://docs.gitlab.com/runner/configuration/advanced-configuration.html for all possible options. If you omit the 'name' configuration, we will automatically use the $title of this define class.
ensure
Data type: Enum['present', 'absent']
If the runner should be 'present' or 'absent'. Will add/remove the configuration from config.toml Will also register/unregister the runner.
Default value: 'present'
ca_file
Data type: Optional[Stdlib::Unixpath]
A path to a file containing public keys of trusted certificate authorities in PEM format. Used during runner registration/unregistration only.
Default value: undef
http_proxy
Data type: Optional[Stdlib::HTTPUrl]
Default value: undef
Functions
gitlab_ci_runner::register
Type: Ruby 4.x API
A function that registers a Gitlab runner on a Gitlab instance. Be careful, this will be triggered on noop runs as well!
Examples
Using it as a replacement for the Bolt 'register_runner' task
puppet apply -e "notice(gitlab_ci_runner::register('https://gitlab.com', 'registration-token'))"
gitlab_ci_runner::register(Stdlib::HTTPUrl $url, String[1] $token, Optional[Gitlab_ci_runner::Register] $additional_options, Optional[Optional[Stdlib::Unixpath]] $ca_file)
A function that registers a Gitlab runner on a Gitlab instance. Be careful, this will be triggered on noop runs as well!
Returns: Struct[{ id => Integer[1], token => String[1], }]
Returns a hash with the runner id and authentcation token
Examples
Using it as a replacement for the Bolt 'register_runner' task
puppet apply -e "notice(gitlab_ci_runner::register('https://gitlab.com', 'registration-token'))"
url
Data type: Stdlib::HTTPUrl
The url to your Gitlab instance. Please only provide the host part (e.g https://gitlab.com)
token
Data type: String[1]
Registration token.
additional_options
Data type: Optional[Gitlab_ci_runner::Register]
A hash with all additional configuration options for that runner
ca_file
Data type: Optional[Optional[Stdlib::Unixpath]]
An absolute path to a trusted certificate authority file.
gitlab_ci_runner::register_to_file
Type: Ruby 4.x API
A function that registers a Gitlab runner on a Gitlab instance, if it doesn't already exist, and saves the retrieved authentication token to a file. This is helpful for Deferred functions.
Examples
Using it as a Deferred function
gitlab_ci_runner::runner { 'testrunner':
config => {
'url' => 'https://gitlab.com',
'token' => Deferred('gitlab_ci_runner::register_runner_to_file', [$config['url'], $config['registration-token'], 'testrunner'])
'executor' => 'shell',
},
}
gitlab_ci_runner::register_to_file(String[1] $url, String[1] $regtoken, String[1] $runner_name, Optional[Hash] $additional_options, Optional[Optional[String[1]]] $proxy, Optional[Optional[String[1]]] $ca_file)
A function that registers a Gitlab runner on a Gitlab instance, if it doesn't already exist, and saves the retrieved authentication token to a file. This is helpful for Deferred functions.
Returns: String[1]
Returns the authentication token
Examples
Using it as a Deferred function
gitlab_ci_runner::runner { 'testrunner':
config => {
'url' => 'https://gitlab.com',
'token' => Deferred('gitlab_ci_runner::register_runner_to_file', [$config['url'], $config['registration-token'], 'testrunner'])
'executor' => 'shell',
},
}
url
Data type: String[1]
The url to your Gitlab instance. Please only provide the host part (e.g https://gitlab.com)
regtoken
Data type: String[1]
Registration token.
runner_name
Data type: String[1]
The name of the runner. Use as identifier for the retrieved auth token.
additional_options
Data type: Optional[Hash]
A hash with all additional configuration options for that runner
proxy
Data type: Optional[Optional[String[1]]]
The HTTP proxy to use when registering
ca_file
Data type: Optional[Optional[String[1]]]
An absolute path to a trusted certificate authority file.
gitlab_ci_runner::to_toml
Type: Ruby 4.x API
Convert a data structure and output to TOML.
Examples
How to output TOML to a file
file { '/tmp/config.toml':
ensure => file,
content => to_toml($myhash),
}
gitlab_ci_runner::to_toml(Hash $data)
The gitlab_ci_runner::to_toml function.
Returns: String
Converted data as TOML string
Examples
How to output TOML to a file
file { '/tmp/config.toml':
ensure => file,
content => to_toml($myhash),
}
data
Data type: Hash
Data structure which needs to be converted into TOML
gitlab_ci_runner::unregister
Type: Ruby 4.x API
A function that unregisters a Gitlab runner from a Gitlab instance. Be careful, this will be triggered on noop runs as well!
Examples
Using it as a replacement for the Bolt 'unregister_runner' task
puppet apply -e "notice(gitlab_ci_runner::unregister('https://gitlab.com', 'runner-auth-token'))"
gitlab_ci_runner::unregister(Stdlib::HTTPUrl $url, String[1] $token, Optional[Optional[Stdlib::Unixpath]] $ca_file)
A function that unregisters a Gitlab runner from a Gitlab instance. Be careful, this will be triggered on noop runs as well!
Returns: Struct[{ status => Enum['success'], }]
Returns a hash with the runner id and authentcation token
Examples
Using it as a replacement for the Bolt 'unregister_runner' task
puppet apply -e "notice(gitlab_ci_runner::unregister('https://gitlab.com', 'runner-auth-token'))"
url
Data type: Stdlib::HTTPUrl
The url to your Gitlab instance. Please only provide the host part (e.g https://gitlab.com)
token
Data type: String[1]
Runners authentication token.
ca_file
Data type: Optional[Optional[Stdlib::Unixpath]]
An absolute path to a trusted certificate authority file.
gitlab_ci_runner::unregister_from_file
Type: Ruby 4.x API
A function that unregisters a Gitlab runner from a Gitlab instance, if the local token is there. This is meant to be used in conjunction with the gitlab_ci_runner::register_to_file function.
Examples
Using it as a Deferred function with a file resource
file { '/etc/gitlab-runner/auth-token-testrunner':
file => absent,
content => Deferred('gitlab_ci_runner::unregister_from_file', ['http://gitlab.example.org'])
}
gitlab_ci_runner::unregister_from_file(String[1] $url, String[1] $runner_name, Optional[Optional[String[1]]] $proxy, Optional[Optional[String[1]]] $ca_file)
A function that unregisters a Gitlab runner from a Gitlab instance, if the local token is there. This is meant to be used in conjunction with the gitlab_ci_runner::register_to_file function.
Returns: Any
Examples
Using it as a Deferred function with a file resource
file { '/etc/gitlab-runner/auth-token-testrunner':
file => absent,
content => Deferred('gitlab_ci_runner::unregister_from_file', ['http://gitlab.example.org'])
}
url
Data type: String[1]
The url to your Gitlab instance. Please only provide the host part (e.g https://gitlab.com)
runner_name
Data type: String[1]
The name of the runner. Use as identifier for the retrived auth token.
proxy
Data type: Optional[Optional[String[1]]]
HTTP proxy to use when unregistering
ca_file
Data type: Optional[Optional[String[1]]]
An absolute path to a trusted certificate authority file.
Data types
Gitlab_ci_runner::Keyserver
Type to match repo_keyserver Regex from: https://github.com/puppetlabs/puppetlabs-apt/blob/main/manifests/key.pp
Alias of
Pattern[/\A((hkp|hkps|http|https):\/\/)?([a-z\d])([a-z\d-]{0,61}\.)+[a-z\d]+(:\d{2,5})?(\/[a-zA-Z\d\-_.]+)*\/?$/]
Gitlab_ci_runner::Log_format
Gitlab Runner log format configuration
Alias of
Enum['runner', 'text', 'json']
Gitlab_ci_runner::Log_level
Gitlab Runner log level configuration
Alias of
Enum['debug', 'info', 'warn', 'error', 'fatal', 'panic']
Gitlab_ci_runner::Register
A struct of all possible additionl options for gitlab_ci_runner::register
Alias of
Struct[{
Optional[description] => String[1],
Optional[info] => Hash[String[1],String[1]],
Optional[active] => Boolean,
Optional[locked] => Boolean,
Optional[run_untagged] => Boolean,
Optional[tag_list] => Array[String[1]],
Optional[access_level] => Enum['not_protected', 'ref_protected'],
Optional[maximum_timeout] => Integer,
}]
Gitlab_ci_runner::Register_parameters
A enum containing a possible keys used for Gitlab runner registrations
Alias of
Enum['description', 'info', 'active', 'locked', 'run_untagged', 'run-untagged', 'tag_list', 'tag-list', 'access_level', 'access-level', 'maximum_timeout', 'maximum-timeout']
Gitlab_ci_runner::Session_server
Gitlab Runner session_server configuration
Alias of
Struct[{
listen_address => String[1],
advertise_address => String[1],
session_timeout => Optional[Integer],
}]
Tasks
register_runner
Registers a runner on a Gitlab instance.
Supports noop? false
Parameters
url
Data type: String[1]
The url to your Gitlab instance. Please only provide the host part (e.g https://gitlab.com)
token
Data type: String[1]
Registration token.
description
Data type: Optional[String[1]]
Runners description.
info
Data type: Optional[Hash]
Runners metadata.
active
Data type: Optional[Boolean]
Whether the Runner is active.
locked
Data type: Optional[Boolean]
Whether the Runner should be locked for current project.
run_untagged
Data type: Optional[Boolean]
Whether the Runner should handle untagged jobs.
tag_list
Data type: Optional[Array[String[1]]]
List of Runners tags.
access_level
Data type: Optional[Enum['not_protected', 'ref_protected']]
The access_level of the runner.
maximum_timeout
Data type: Optional[Integer[1]]
Maximum timeout set when this Runner will handle the job.
unregister_runner
Unregisters a runner from a Gitlab instance.
Supports noop? false
Parameters
url
Data type: String[1]
The url to your Gitlab instance. Please provide the host part only! (e.g https://gitlab.com)
token
Data type: String[1]
Runners authentication token.
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Tasks in this module release
Changelog
All notable changes to this project will be documented in this file. Each new release typically also includes the latest modulesync defaults. These should not affect the functionality of the module.
v4.3.0 (2022-01-19)
Implemented enhancements:
Merged pull requests:
- toml gem: apply upstream changes #139 (bastelfreak)
v4.2.0 (2021-12-06)
Closed issues:
- Certificate verify failed on update to v4.0.0 #124
Merged pull requests:
- Add
ca_file
parameter for use during registration #135 (alexjfisher)
v4.1.0 (2021-11-04)
Implemented enhancements:
Merged pull requests:
- Add puppet-lint-param-docs #121 (bastelfreak)
v4.0.0 (2021-08-26)
Version 4.0.0 is a new major release of this module. It has many improvements but also significant breaking changes that you should read about and test before deploying into a production environment. Specifically Puppet 6 is required, your code will probably need updating and existing runners will reregister.
The README has further details.
Huge thanks to all our contributors and especially to Matthias Baur for his excellent contributions to this release.
Breaking changes:
- Drop RHEL/CentOS 6 and Amazon Linux Support #118
- Deprecate support for Debian 8 and Ubuntu 16.04 (and add support for Ubuntu 20.04) #114 (alexjfisher)
- Add support for registration by leveraging a "Deferred" function #107 (baurmatt)
- Move to concat for config.toml #75 (baurmatt)
Implemented enhancements:
- Support Puppet 7 #116 (alexjfisher)
- Add runner registration proxy support #109 (alexjfisher)
- Allow
hkp://
style URLs forrepo_keyserver
URL #102 (hp197)
Fixed bugs:
- Fix runner unregistering #111 (alexjfisher)
- Fix unregistering runner with
ensure => absent
#110 (alexjfisher)
Closed issues:
- Get acceptance tests setup and running #20
Merged pull requests:
- Allow up-to-date dependencies #117 (smortex)
- Update README with upgrade information #115 (alexjfisher)
- Update module dependencies #112 (alexjfisher)
- Fix typos in README.md #94 (nikitasg)
v3.0.0 (2020-09-15)
Breaking changes:
Implemented enhancements:
- Allow management of check_interval config setting #91 (tuxmea)
- Add support for CentOS 8, Debian 10 #87 (dhoppe)
Merged pull requests:
- Fix CI problems #89 (carljohnstone)
- Switch from Ubuntu Trusty to Ubuntu Focal #88 (carljohnstone)
- Use voxpupuli-acceptance #83 (ekohl)
v2.1.0 (2020-04-07)
Implemented enhancements:
Closed issues:
- Release new version #58
v2.0.0 (2020-02-06)
Breaking changes:
- Completely refactor gitlab_ci_runner::runner #74 (baurmatt)
- drop Ubuntu support #60 (bastelfreak)
- modulesync 2.7.0 and drop puppet 4 #39 (bastelfreak)
Implemented enhancements:
- Module should manage build_dir and cache_dir #33
- Add bolt task to register/unregister a runner #73 (baurmatt)
- Add Amazon Linux support (RedHat OS Family) #70 (bFekete)
- Add listen_address parameter #65 (baurmatt)
- Add custom repo #48 (lupintrd)
- Add support for current releases #41 (dhoppe)
- Fix xz dependency on RedHat systems #40 (smortex)
Fixed bugs:
- Multiple tags in tag-list are ignored only last is respected #37
- The package
xz-utils
isxz
on CentOS #25 - Fix bugs which got introduced by to runner.pp refactoring #76 (baurmatt)
- Fix runner name in unregister command #57 (dcasella)
- Use '=' to avoid errors while joining cmd options+values #31 (ajcollett)
Closed issues:
- registration_token containing undescore gets modified #61
- /etc/gitlab-runner/config.toml must exist #35
- Metrics server and Session listen address' #26
Merged pull requests:
- Extract resources out of init.pp #72 (baurmatt)
- Allow puppetlabs/stdlib 6.x #71 (dhoppe)
- Switch to puppet-strings for documentation #64 (baurmatt)
- Use grep with --fixed-strings to avoid issues with some characters in the runner's names #63 (Farfaday)
- Extend documentation in README with example tags #59 (jacksgt)
- add limitations about the runner configurations #56 (thde)
- ensure config exists #53 (thde)
- Added suport for configuring sentry_dsn #44 (schewara)
- Allow ensure => "present" for runners #36 (evhan)
- allow build_dir and cache_dir to be managed #34 (slmagus)
v1.0.0 (2018-11-21)
This is the first release of puppet/gitlab_ci_runner
. The functionality in this module was previously part of puppet/gitlab
Fixed bugs:
- Fix (un-)registering runner with similar names #22 (elkangaroo)
Closed issues:
- Import cirunner code from voxpupuli/puppet-gitlab module #12
- remove
apt
from dependencies #4 - Update license in metadata.json and add LiCENSE file #3
- Update ruby version in Dockerfile #2
Merged pull requests:
- modulesync 2.1.0 and allow puppet 6.x #23 (bastelfreak)
- allow puppetlabs/stdlib 5.x #19 (bastelfreak)
- initial import of puppet code #13 (LongLiveCHIEF)
- remove apt from metadata.json dependencies #10 (LongLiveCHIEF)
- Update ruby version in dockerfile #8 (LongLiveCHIEF)
- fix module name in metadata.json #6 (LongLiveCHIEF)
- update licensing information #5 (LongLiveCHIEF)
- modulesync setup #1 (LongLiveCHIEF)
* This Changelog was automatically generated by github_changelog_generator
Dependencies
- puppetlabs/concat (>= 6.3.0 < 8.0.0)
- puppetlabs/stdlib (>= 4.25.0 < 9.0.0)
- puppetlabs/apt (>= 6.3.0 < 9.0.0)
Copyright 2018 Vox Pupuli Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.