From c63fb0f01247db5b9b31431ff814912a80b09b82 Mon Sep 17 00:00:00 2001 From: Ben Vincent Date: Sat, 18 Oct 2025 12:00:10 +1100 Subject: [PATCH] feat: migrate puppet-agent to openvox - change from puppet-agent to openvox-agent - upgrade version from 7.34 to 7.36 --- hieradata/os/AlmaLinux/all_releases.yaml | 15 ++++++++------- hieradata/os/Debian/Debian11.yaml | 2 +- hieradata/os/Debian/Debian12.yaml | 2 +- site/profiles/manifests/puppet/agent.pp | 21 +++++++++++---------- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/hieradata/os/AlmaLinux/all_releases.yaml b/hieradata/os/AlmaLinux/all_releases.yaml index fc20a28..d6fc447 100644 --- a/hieradata/os/AlmaLinux/all_releases.yaml +++ b/hieradata/os/AlmaLinux/all_releases.yaml @@ -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::package: 'openvox-agent' 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 diff --git a/hieradata/os/Debian/Debian11.yaml b/hieradata/os/Debian/Debian11.yaml index 594461c..5aa30c0 100644 --- a/hieradata/os/Debian/Debian11.yaml +++ b/hieradata/os/Debian/Debian11.yaml @@ -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' diff --git a/hieradata/os/Debian/Debian12.yaml b/hieradata/os/Debian/Debian12.yaml index f6b5f7d..8e19138 100644 --- a/hieradata/os/Debian/Debian12.yaml +++ b/hieradata/os/Debian/Debian12.yaml @@ -12,4 +12,4 @@ profiles::apt::components: - non-free - non-free-firmware -profiles::puppet::agent::puppet_version: 'latest' +profiles::puppet::agent::version: 'latest' diff --git a/site/profiles/manifests/puppet/agent.pp b/site/profiles/manifests/puppet/agent.pp index 76164c1..2ee5228 100644 --- a/site/profiles/manifests/puppet/agent.pp +++ b/site/profiles/manifests/puppet/agent.pp @@ -1,37 +1,38 @@ # profiles::puppet::agent # This class manages Puppet agent package and service. class profiles::puppet::agent ( - String $puppet_version = 'latest', + String $version = 'latest', + String $package = 'puppet-agent', ) { # if puppet-version is anything other than latest, set a versionlock - $puppet_versionlock_ensure = $puppet_version ? { + $puppet_versionlock_ensure = $version ? { 'latest' => 'absent', default => 'present', } - $puppet_versionlock_version = $puppet_version ? { + $puppet_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, + package { $package: + ensure => $version, require => Yumrepo['puppet'], } # versionlock puppet-agent - yum::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 { 'puppet-agent': - ensure => $puppet_version, + package { $package: + ensure => $version, require => Class['profiles::apt::puppet7'], } } @@ -43,7 +44,7 @@ class profiles::puppet::agent ( ensure => 'running', enable => true, hasrestart => true, - require => Package['puppet-agent'], + require => Package[$package], } }