puppet-prod/site/profiles/manifests/puppet/agent.pp
Ben Vincent c63fb0f012 feat: migrate puppet-agent to openvox
- change from puppet-agent to openvox-agent
- upgrade version from 7.34 to 7.36
2025-10-18 12:00:10 +11:00

52 lines
1.3 KiB
Puppet

# profiles::puppet::agent
# This class manages Puppet agent package and service.
class profiles::puppet::agent (
String $version = 'latest',
String $package = 'puppet-agent',
) {
# if puppet-version is anything other than latest, set a versionlock
$puppet_versionlock_ensure = $version ? {
'latest' => 'absent',
default => 'present',
}
$puppet_versionlock_version = $version ? {
'latest' => undef,
default => $version,
}
case $facts['os']['family'] {
'RedHat': {
# Ensure the puppet-agent package is installed and locked to a specific version
package { $package:
ensure => $version,
require => Yumrepo['puppet'],
}
# versionlock puppet-agent
yum::versionlock{$package:
ensure => $puppet_versionlock_ensure,
version => $puppet_versionlock_version,
}
}
'Debian': {
# Ensure the puppet-agent package is installed and locked to a specific version
package { $package:
ensure => $version,
require => Class['profiles::apt::puppet7'],
}
}
default: {}
}
# Ensure the puppet service is running
service { 'puppet':
ensure => 'running',
enable => true,
hasrestart => true,
require => Package[$package],
}
}