feat: migrate puppet-agent to openvox

- change from puppet-agent to openvox-agent
- upgrade version from 7.34 to 7.36
This commit is contained in:
Ben Vincent 2025-10-18 12:00:10 +11:00
parent e724326d43
commit 6ef7cbd1c2
5 changed files with 43 additions and 32 deletions

View File

@ -3,7 +3,8 @@
profiles::firewall::firewalld::ensure_package: 'absent'
profiles::firewall::firewalld::ensure_service: 'stopped'
profiles::firewall::firewalld::enable_service: false
profiles::puppet::agent::puppet_version: '7.34.0'
profiles::puppet::agent::version: '7.37.2'
profiles::puppet::agent::openvox_enable: true
hiera_include:
- profiles::almalinux::base
@ -53,12 +54,12 @@ profiles::yum::global::repos:
baseurl: https://packagerepo.service.consul/epel/%{facts.os.release.major}/everything-daily/%{facts.os.architecture}/os/
gpgkey: https://packagerepo.service.consul/epel/%{facts.os.release.major}/everything-daily/%{facts.os.architecture}/os/RPM-GPG-KEY-EPEL-%{facts.os.release.major}
mirrorlist: absent
puppet:
name: puppet
descr: puppet repository
target: /etc/yum.repos.d/puppet.repo
baseurl: https://packagerepo.service.consul/puppet7/el/%{facts.os.release.major}-daily/%{facts.os.architecture}/os/
gpgkey: https://packagerepo.service.consul/puppet7/el/%{facts.os.release.major}-daily/%{facts.os.architecture}/os/RPM-GPG-KEY-puppet-20250406
openvox:
name: openvox
descr: openvox repository
target: /etc/yum.repos.d/openvox.repo
baseurl: https://packagerepo.service.consul/openvox7/el/%{facts.os.release.major}-daily/%{facts.os.architecture}/os/
gpgkey: https://packagerepo.service.consul/openvox7/el/%{facts.os.release.major}-daily/%{facts.os.architecture}/os/GPG-KEY-openvox.pub
mirrorlist: absent
unkinben:
name: unkinben

View File

@ -11,4 +11,4 @@ profiles::apt::components:
- main
- non-free
profiles::puppet::agent::puppet_version: '7.25.0-1bullseye'
profiles::puppet::agent::version: '7.25.0-1bullseye'

View File

@ -12,4 +12,4 @@ profiles::apt::components:
- non-free
- non-free-firmware
profiles::puppet::agent::puppet_version: 'latest'
profiles::puppet::agent::version: 'latest'

View File

@ -1,37 +1,48 @@
# profiles::puppet::agent
# This class manages Puppet agent package and service.
class profiles::puppet::agent (
String $puppet_version = 'latest',
String $version = 'latest',
Boolean $openvox_enable = false,
) {
# if puppet-version is anything other than latest, set a versionlock
$puppet_versionlock_ensure = $puppet_version ? {
if $openvox_enable {
$use_package = 'openvox-agent'
$use_yumrepo = 'openvox'
$use_service = 'openvox'
}else{
$use_package = 'puppet-agent'
$use_yumrepo = 'puppet'
$use_service = 'puppet'
}
# if agent-version is anything other than latest, set a versionlock
$agent_versionlock_ensure = $version ? {
'latest' => 'absent',
default => 'present',
}
$puppet_versionlock_version = $puppet_version ? {
$agent_versionlock_version = $version ? {
'latest' => undef,
default => $puppet_version,
default => $version,
}
case $facts['os']['family'] {
'RedHat': {
# Ensure the puppet-agent package is installed and locked to a specific version
package { 'puppet-agent':
ensure => $puppet_version,
require => Yumrepo['puppet'],
# Ensure the agent package is installed and locked to a specific version
package { $use_package:
ensure => $version,
require => Yumrepo[$use_yumrepo],
}
# versionlock puppet-agent
yum::versionlock{'puppet-agent':
ensure => $puppet_versionlock_ensure,
version => $puppet_versionlock_version,
yum::versionlock{$use_package:
ensure => $agent_versionlock_ensure,
version => $agent_versionlock_version,
}
}
'Debian': {
# Ensure the puppet-agent package is installed and locked to a specific version
package { 'puppet-agent':
ensure => $puppet_version,
package { $use_package:
ensure => $version,
require => Class['profiles::apt::puppet7'],
}
}
@ -39,12 +50,11 @@ class profiles::puppet::agent (
}
# Ensure the puppet service is running
service { 'puppet':
service { $use_service:
ensure => 'running',
enable => true,
hasrestart => true,
require => Package['puppet-agent'],
require => Package[$use_package],
}
}

View File

@ -31,12 +31,12 @@ class profiles::puppet::client (
notify => Service['puppet'],
}
package { 'toml_puppetagent_gem':
ensure => installed,
name => 'toml',
provider => 'puppet_gem',
notify => Service['puppet'],
}
#package { 'toml_puppetagent_gem':
# ensure => installed,
# name => 'toml',
# provider => 'puppet_gem',
# notify => Service['puppet'],
#}
}
}