33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
# File 'manifests/init.pp', line 33
class bolt (
String[1] $version = 'installed',
Stdlib::HTTPSUrl $base_url = 'https://yum.puppet.com/',
String[1] $release_package = "puppet-tools-release-el-${facts['os']['release']['major']}.noarch.rpm",
String[1] $gpgkey = 'RPM-GPG-KEY-puppet-20250406',
Boolean $use_release_package = true,
Stdlib::HTTPSUrl $yumrepo_base_url = "${base_url}puppet-tools/el/${facts['os']['release']['major']}/\$basearch",
Boolean $manage_repo = true,
) {
unless $facts['os']['family'] == 'RedHat' {
fail('class bolt only works on RedHat OS family')
}
$ensure = $version ? {
'absent' => 'absent',
default => 'present',
}
if $manage_repo {
if $use_release_package {
package { 'puppet-tools-release':
ensure => $ensure,
source => "${base_url}${release_package}",
before => Package['puppet-bolt'],
}
} else {
yumrepo { 'puppet-tools':
ensure => $ensure,
baseurl => $yumrepo_base_url,
descr => "Puppet Tools Repository el ${facts['os']['release']['major']} - \$basearch",
enabled => '1',
gpgcheck => '1',
gpgkey => "${base_url}${gpgkey}",
before => Package['puppet-bolt'],
}
}
}
package { 'puppet-bolt':
ensure => $version,
}
}
|