56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
# File 'manifests/init.pp', line 56
class gitlab_ci_runner (
String $xz_package_name, # Defaults in module hieradata
Hash $runners = {},
Hash $runner_defaults = {},
Optional[Integer] $concurrent = undef,
Optional[Gitlab_ci_runner::Log_level] $log_level = undef,
Optional[Gitlab_ci_runner::Log_format] $log_format = undef,
Optional[Integer] $check_interval = undef,
Optional[String] $sentry_dsn = undef,
Optional[Pattern[/.*:.+/]] $listen_address = undef,
Optional[Gitlab_ci_runner::Session_server] $session_server = undef,
Boolean $manage_docker = false,
Boolean $manage_repo = true,
String $package_ensure = installed,
String $package_name = 'gitlab-runner',
Stdlib::HTTPUrl $repo_base_url = 'https://packages.gitlab.com',
Optional[Gitlab_ci_runner::Keyserver] $repo_keyserver = undef,
String $config_path = '/etc/gitlab-runner/config.toml',
Optional[Stdlib::HTTPUrl] $http_proxy = undef,
) {
if $manage_docker {
# workaround for cirunner issue #1617
# https://gitlab.com/gitlab-org/gitlab-ci-multi-runner/issues/1617
ensure_packages($xz_package_name)
$docker_images = {
ubuntu_focal => {
image => 'ubuntu',
image_tag => 'focal',
},
}
include docker
class { 'docker::images':
images => $docker_images,
}
}
if $manage_repo {
contain gitlab_ci_runner::repo
}
contain gitlab_ci_runner::install
contain gitlab_ci_runner::config
contain gitlab_ci_runner::service
Class['gitlab_ci_runner::install']
-> Class['gitlab_ci_runner::config']
~> Class['gitlab_ci_runner::service']
$runners.each |$runner_name,$config| {
$_config = merge($runner_defaults, $config)
$title = $_config['name'] ? {
undef => $runner_name,
default => $_config['name'],
}
gitlab_ci_runner::runner { $title:
ensure => $_config['ensure'],
config => $_config - ['ensure', 'name'],
http_proxy => $http_proxy,
require => Class['gitlab_ci_runner::config'],
notify => Class['gitlab_ci_runner::service'],
}
}
}
|