49 lines
1.3 KiB
Puppet
49 lines
1.3 KiB
Puppet
# Class: profiles::yum::epel
|
|
#
|
|
# This class manages the EPEL yum repository for the system.
|
|
#
|
|
# Parameters:
|
|
# -----------
|
|
# - $baseurl: The base URL for the EPEL yum repository. This should be the root
|
|
# URL of your EPEL mirror server.
|
|
#
|
|
# Actions:
|
|
# --------
|
|
# - Checks the OS release version.
|
|
#
|
|
# - If the release version is 7, 8, or 9, it sets up the 'epel' yum repository
|
|
#
|
|
# - If the release version is not supported, it raises an error.
|
|
#
|
|
# Example usage:
|
|
# --------------
|
|
# To use this class with the default parameters:
|
|
# include profiles::yum::epel
|
|
#
|
|
# To specify a custom base URL:
|
|
# class { 'profiles::yum::epel':
|
|
# baseurl => 'http://mylocalmirror.com/yum',
|
|
# }
|
|
class profiles::yum::epel (
|
|
Array[String] $managed_repos,
|
|
String $baseurl,
|
|
Enum[
|
|
'daily',
|
|
'weekly',
|
|
'monthly'
|
|
] $snapshot = 'daily',
|
|
) {
|
|
$release = $facts['os']['release']['major']
|
|
$basearch = $facts['os']['architecture']
|
|
|
|
if 'epel' in $managed_repos {
|
|
yumrepo { 'epel':
|
|
name => 'epel',
|
|
descr => 'epel repository',
|
|
target => '/etc/yum.repos.d/epel.repo',
|
|
baseurl => "${baseurl}/${release}/Everything-${snapshot}/${basearch}/os/",
|
|
gpgkey => "${baseurl}/${release}/Everything-${snapshot}/${basearch}/os/RPM-GPG-KEY-EPEL-${release}",
|
|
}
|
|
}
|
|
}
|