# 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}", } } }