72 lines
1.9 KiB
Puppet
72 lines
1.9 KiB
Puppet
# Class: profiles::yum::global
|
|
#
|
|
# This class manages global YUM configurations and optionally includes the
|
|
# base and EPEL yum repository profiles based on the content of the
|
|
# $managed_repos parameter, which is an array of repository names.
|
|
class profiles::yum::global (
|
|
Array[String] $managed_repos,
|
|
Boolean $purge = true,
|
|
){
|
|
class { 'yum':
|
|
keep_kernel_devel => true,
|
|
clean_old_kernels => true,
|
|
config_options => {
|
|
gpgcheck => true,
|
|
},
|
|
}
|
|
|
|
resources { 'yumrepo':
|
|
purge => $purge,
|
|
}
|
|
|
|
# Generate the content for the .managed file
|
|
$managed_file_content = $managed_repos.map |$repo_name| { "${repo_name}.repo" }.join("\n")
|
|
|
|
# Create the .managed file
|
|
file { '/etc/yum.repos.d/.managed':
|
|
ensure => file,
|
|
content => $managed_file_content,
|
|
}
|
|
|
|
# Setup base repos
|
|
class { 'profiles::yum::base':
|
|
managed_repos => $managed_repos,
|
|
require => Class['profiles::pki::vaultca'],
|
|
}
|
|
|
|
# Setup epel if included in managed_repos
|
|
class { 'profiles::yum::epel':
|
|
managed_repos => $managed_repos,
|
|
require => Class['profiles::pki::vaultca'],
|
|
}
|
|
|
|
# Setup puppet7 if included in managed_repos
|
|
class { 'profiles::yum::puppet7':
|
|
managed_repos => $managed_repos,
|
|
require => Class['profiles::pki::vaultca'],
|
|
}
|
|
|
|
# Setup unkin repo if included in managed_repos
|
|
class { 'profiles::yum::unkin':
|
|
managed_repos => $managed_repos,
|
|
require => Class['profiles::pki::vaultca'],
|
|
}
|
|
|
|
# Setup ovirt repo if included in managed_repos
|
|
class { 'profiles::yum::ovirt':
|
|
managed_repos => $managed_repos,
|
|
require => Class['profiles::pki::vaultca'],
|
|
}
|
|
|
|
# makecache if changes made to repos
|
|
exec {'dnf_makecache':
|
|
command => 'dnf makecache -q',
|
|
path => ['/usr/bin', '/bin'],
|
|
refreshonly => true,
|
|
}
|
|
|
|
# setup dnf-autoupdate
|
|
include profiles::yum::autoupdater
|
|
|
|
}
|