feat: deep merge yum repos to manage
- fixed merging of yum repos - changed puppet7 to use local copy of repo
This commit is contained in:
parent
6b92910457
commit
e02921be75
@ -18,7 +18,7 @@ lookup_options:
|
|||||||
profiles::pki::vault::ip_sans:
|
profiles::pki::vault::ip_sans:
|
||||||
merge:
|
merge:
|
||||||
strategy: deep
|
strategy: deep
|
||||||
profiles::yum::managed_repos:
|
profiles::yum::global::managed_repos:
|
||||||
merge:
|
merge:
|
||||||
strategy: deep
|
strategy: deep
|
||||||
|
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# hieradata/os/AlmaLinux/AlmaLinux8.yaml
|
# hieradata/os/AlmaLinux/AlmaLinux8.yaml
|
||||||
---
|
---
|
||||||
profiles::yum::managed_repos:
|
profiles::yum::global::managed_repos:
|
||||||
- 'base'
|
- 'base'
|
||||||
- 'appstream'
|
- 'appstream'
|
||||||
- 'epel'
|
- 'epel'
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
# hieradata/os/AlmaLinux/AlmaLinux9.yaml
|
# hieradata/os/AlmaLinux/AlmaLinux9.yaml
|
||||||
---
|
---
|
||||||
profiles::yum::managed_repos:
|
profiles::yum::global::managed_repos:
|
||||||
- 'base'
|
- 'base'
|
||||||
- 'appstream'
|
- 'appstream'
|
||||||
- 'epel'
|
- 'epel'
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
---
|
---
|
||||||
profiles::yum::managed_repos:
|
profiles::yum::global::managed_repos:
|
||||||
- 'virt-advanced-virtualization'
|
- 'virt-advanced-virtualization'
|
||||||
- 'storage-ceph-pacific'
|
- 'storage-ceph-pacific'
|
||||||
- 'cloud-openstack-xena'
|
- 'cloud-openstack-xena'
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
profiles::firewall::firewalld::ensure_package: 'installed'
|
profiles::firewall::firewalld::ensure_package: 'installed'
|
||||||
profiles::firewall::firewalld::ensure_service: 'running'
|
profiles::firewall::firewalld::ensure_service: 'running'
|
||||||
profiles::yum::managed_repos:
|
profiles::yum::global::managed_repos:
|
||||||
- 'virt-advanced-virtualization'
|
- 'virt-advanced-virtualization'
|
||||||
- 'storage-ceph-pacific'
|
- 'storage-ceph-pacific'
|
||||||
- 'cloud-openstack-xena'
|
- 'cloud-openstack-xena'
|
||||||
|
|||||||
@ -119,7 +119,7 @@ profiles::reposync::repos_list:
|
|||||||
osname: 'puppet7'
|
osname: 'puppet7'
|
||||||
release: 'el'
|
release: 'el'
|
||||||
baseurl: 'https://yum.puppet.com/puppet7/el/8/x86_64/'
|
baseurl: 'https://yum.puppet.com/puppet7/el/8/x86_64/'
|
||||||
gpgkey: 'https://yum.puppet.com/RPM-GPG-KEY-puppet'
|
gpgkey: 'https://yum.puppet.com/RPM-GPG-KEY-puppet-20250406'
|
||||||
postgresql_rhel8_common:
|
postgresql_rhel8_common:
|
||||||
repository: 'common'
|
repository: 'common'
|
||||||
description: 'PostgreSQL Common RHEL 8'
|
description: 'PostgreSQL Common RHEL 8'
|
||||||
|
|||||||
@ -6,7 +6,8 @@ class profiles::puppet::agent (
|
|||||||
|
|
||||||
# Ensure the puppet-agent package is installed and locked to a specific version
|
# Ensure the puppet-agent package is installed and locked to a specific version
|
||||||
package { 'puppet-agent':
|
package { 'puppet-agent':
|
||||||
ensure => $puppet_version,
|
ensure => $puppet_version,
|
||||||
|
require => Class['profiles::yum::puppet7'],
|
||||||
}
|
}
|
||||||
|
|
||||||
# if puppet-version is anything other than latest, set a versionlock
|
# if puppet-version is anything other than latest, set a versionlock
|
||||||
|
|||||||
@ -41,7 +41,7 @@
|
|||||||
# - 'appstream'
|
# - 'appstream'
|
||||||
#
|
#
|
||||||
class profiles::yum::global (
|
class profiles::yum::global (
|
||||||
Array[String] $managed_repos = lookup('profiles::yum::managed_repos'),
|
Array[String] $managed_repos,
|
||||||
Boolean $purge = true,
|
Boolean $purge = true,
|
||||||
){
|
){
|
||||||
class { 'yum':
|
class { 'yum':
|
||||||
|
|||||||
@ -30,29 +30,19 @@
|
|||||||
# }
|
# }
|
||||||
class profiles::yum::puppet7 (
|
class profiles::yum::puppet7 (
|
||||||
Array[String] $managed_repos,
|
Array[String] $managed_repos,
|
||||||
String $baseurl = 'http://yum.puppet.com',
|
String $baseurl = 'http://repos.main.unkin.net/puppet7',
|
||||||
) {
|
) {
|
||||||
$releasever = $facts['os']['release']['major']
|
$releasever = $facts['os']['release']['major']
|
||||||
$basearch = $facts['os']['architecture']
|
$basearch = $facts['os']['architecture']
|
||||||
|
|
||||||
if 'puppet7' in $managed_repos {
|
if 'puppet7' in $managed_repos {
|
||||||
if ($releasever in [7,8,9]) {
|
|
||||||
$source = "${baseurl}/puppet7-release-el-${releasever}.noarch.rpm"
|
|
||||||
|
|
||||||
yum::install { 'puppet-release-el':
|
|
||||||
ensure => present,
|
|
||||||
source => $source,
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
err("Unsupported OS release ${releasever}")
|
|
||||||
}
|
|
||||||
|
|
||||||
yumrepo { 'puppet7':
|
yumrepo { 'puppet7':
|
||||||
name => 'puppet7',
|
name => 'puppet7',
|
||||||
descr => 'puppet7 repository',
|
descr => 'puppet7 repository',
|
||||||
target => '/etc/yum.repos.d/puppet7.repo',
|
target => '/etc/yum.repos.d/puppet7.repo',
|
||||||
baseurl => "${baseurl}/puppet/el/${releasever}/${basearch}/",
|
baseurl => "${baseurl}/el/${releasever}-daily/${basearch}/os/",
|
||||||
gpgkey => "${baseurl}/RPM-GPG-KEY-puppet",
|
gpgkey => 'https://yum.puppet.com/RPM-GPG-KEY-puppet-20250406',
|
||||||
|
#gpgkey => "${baseurl}/el/${releasever}-daily/${basearch}/os/RPM-GPG-KEY-puppet",
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user