saving artifacts are breaking in some actions as the runner will switch between different git hosts. using haproxy will ensure the same backend is always hit via stick-tables and cookies - ensure runners use haproxy to reach git we now package act_runner now, lets use the rpm - change installation method to rpm instead of curl + untar - add capability to versionlock act_runner - fix paths to act_runner - remove manually installed act_runner Reviewed-on: #432
76 lines
1.7 KiB
Puppet
76 lines
1.7 KiB
Puppet
# profiles::gitea::init
|
|
class profiles::gitea::runner (
|
|
String $registration_token,
|
|
String $user = 'runner',
|
|
String $group = 'runner',
|
|
Stdlib::Absolutepath $home = '/data/runner',
|
|
Hash $config = {},
|
|
Stdlib::HTTPSUrl $instance = 'https://git.query.consul',
|
|
String $version = 'latest',
|
|
) {
|
|
|
|
group { $group:
|
|
ensure => 'present',
|
|
}
|
|
|
|
user { $user:
|
|
ensure => 'present',
|
|
home => $home,
|
|
managehome => true,
|
|
forcelocal => true,
|
|
groups => ['docker'],
|
|
gid => $group,
|
|
require => Group[$group],
|
|
}
|
|
|
|
file { "${home}/config.yaml":
|
|
ensure => file,
|
|
content => to_yaml($config),
|
|
owner => $user,
|
|
group => $group,
|
|
require => User[$user],
|
|
}
|
|
|
|
unless $version in ['latest', 'present'] {
|
|
# versionlock act
|
|
yum::versionlock{ 'act_runner':
|
|
ensure => present,
|
|
version => $version,
|
|
before => Package['act_runner'],
|
|
}
|
|
}
|
|
|
|
# install act
|
|
package { 'act_runner':
|
|
ensure => $version,
|
|
}
|
|
|
|
# remove manually installed act_runner
|
|
file { '/usr/local/bin/act_runner':
|
|
ensure => absent,
|
|
}
|
|
|
|
exec { 'register_act_runner':
|
|
command => "/usr/bin/act_runner register \
|
|
--no-interactive \
|
|
--instance ${instance} \
|
|
--token ${registration_token} \
|
|
--name ${facts['networking']['hostname']} \
|
|
--config ${home}/config.yaml",
|
|
creates => "${home}/.runner",
|
|
cwd => $home,
|
|
user => $user,
|
|
group => $group,
|
|
require => [
|
|
Package['act_runner'],
|
|
File["${home}/config.yaml"],
|
|
],
|
|
}
|
|
|
|
systemd::unit_file { 'act_runner.service':
|
|
enable => true,
|
|
active => true,
|
|
content => template('profiles/gitea/act_runner.service.erb'),
|
|
}
|
|
}
|