# Class: profiles::yum::base # # This class manages the 'base', extras' and 'appstream' yum # repositories for a system, based on the provided list of managed repositories. class profiles::yum::base ( Array[String] $managed_repos, String $baseurl, Enum[ 'daily', 'weekly', 'monthly' ] $snapshot = 'daily', ) { $release = $facts['os']['release']['full'] $basearch = $facts['os']['architecture'] if 'base' in $managed_repos { yumrepo { 'base': name => 'base', descr => 'base repository', target => '/etc/yum.repos.d/base.repo', baseurl => "${baseurl}/${release}/BaseOS-${snapshot}/${basearch}/os/", gpgkey => "${baseurl}/${release}/BaseOS-${snapshot}/${basearch}/os/RPM-GPG-KEY-${facts['os']['name']}", } } if 'extras' in $managed_repos { yumrepo { 'extras': name => 'extras', descr => 'extras repository', target => '/etc/yum.repos.d/extras.repo', baseurl => "${baseurl}/${release}/extras-${snapshot}/${basearch}/os/", gpgkey => "${baseurl}/${release}/extras-${snapshot}/${basearch}/os/RPM-GPG-KEY-${facts['os']['name']}", } } if 'appstream' in $managed_repos { yumrepo { 'appstream': name => 'appstream', descr => 'appstream repository', target => '/etc/yum.repos.d/appstream.repo', baseurl => "${baseurl}/${release}/AppStream-${snapshot}/${basearch}/os/", gpgkey => "${baseurl}/${release}/AppStream-${snapshot}/${basearch}/os/RPM-GPG-KEY-${facts['os']['name']}", } } if 'powertools' in $managed_repos { yumrepo { 'powertools': name => 'powertools', descr => 'powertools repository', target => '/etc/yum.repos.d/powertools.repo', baseurl => "${baseurl}/${release}/PowerTools-${snapshot}/${basearch}/os/", gpgkey => "${baseurl}/${release}/PowerTools-${snapshot}/${basearch}/os/RPM-GPG-KEY-${facts['os']['name']}", } } if 'highavailability' in $managed_repos { yumrepo { 'highavailability': name => 'highavailability', descr => 'highavailability repository', target => '/etc/yum.repos.d/highavailability.repo', baseurl => "${baseurl}/${release}/HighAvailability-${snapshot}/${basearch}/os/", gpgkey => "${baseurl}/${release}/HighAvailability-${snapshot}/${basearch}/os/RPM-GPG-KEY-${facts['os']['name']}", } } }