Mercurial > repos > other > Puppet
view modules/epel/manifests/init.pp @ 387:66c075c5f54a
Update to newer Python module
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 03 Jan 2022 17:13:06 +0000 |
parents | c42fb28cff86 |
children |
line wrap: on
line source
# @summary Configure the proper EPEL repositories and import GPG keys # # @param epel_managed # Determines if the main EPEL repository is managed. # @param epel_source_managed # Determines if the `epel-source` repository is managed. # @param epel_debuginfo_managed # Determines if the `epel-debuginfo` repository is managed. # @param epel_testing_managed # Determines if the `epel-testing` repository is managed. # @param epel_testing_source_managed # Determines if the `epel-testing-source` repository is managed. # @param epel_testing_debuginfo_managed # Determines if the `epel-testing-debuginfo` repository is managed. # @param epel_gpg_managed # Detemines if the module manages the rpm-gpg key for EPEL. # # @example Basic Usage # include epel # # @see https://fedoraproject.org/wiki/EPEL class epel ( $epel_mirrorlist = $epel::params::epel_mirrorlist, $epel_baseurl = $epel::params::epel_baseurl, $epel_failovermethod = $epel::params::epel_failovermethod, $epel_proxy = $epel::params::epel_proxy, $epel_enabled = $epel::params::epel_enabled, $epel_gpgcheck = $epel::params::epel_gpgcheck, $epel_repo_gpgcheck = $epel::params::epel_repo_gpgcheck, $epel_metalink = $epel::params::epel_metalink, Boolean $epel_managed = true, $epel_exclude = undef, $epel_includepkgs = undef, $epel_sslclientkey = undef, $epel_sslclientcert = undef, Optional[String[1]] $epel_username = undef, Optional[String[1]] $epel_password = undef, $epel_testing_mirrorlist = $epel::params::epel_testing_mirrorlist, $epel_testing_baseurl = $epel::params::epel_testing_baseurl, $epel_testing_failovermethod = $epel::params::epel_testing_failovermethod, $epel_testing_proxy = $epel::params::epel_testing_proxy, $epel_testing_enabled = $epel::params::epel_testing_enabled, $epel_testing_gpgcheck = $epel::params::epel_testing_gpgcheck, $epel_testing_repo_gpgcheck = $epel::params::epel_testing_repo_gpgcheck, $epel_testing_metalink = $epel::params::epel_testing_metalink, Boolean $epel_testing_managed = true, $epel_testing_exclude = undef, $epel_testing_includepkgs = undef, $epel_testing_sslclientkey = undef, $epel_testing_sslclientcert = undef, Optional[String[1]] $epel_testing_username = undef, Optional[String[1]] $epel_testing_password = undef, $epel_source_mirrorlist = $epel::params::epel_source_mirrorlist, $epel_source_baseurl = $epel::params::epel_source_baseurl, $epel_source_failovermethod = $epel::params::epel_source_failovermethod, $epel_source_proxy = $epel::params::epel_source_proxy, $epel_source_enabled = $epel::params::epel_source_enabled, $epel_source_gpgcheck = $epel::params::epel_source_gpgcheck, $epel_source_repo_gpgcheck = $epel::params::epel_source_repo_gpgcheck, $epel_source_metalink = $epel::params::epel_source_metalink, Boolean $epel_source_managed = true, $epel_source_exclude = undef, $epel_source_includepkgs = undef, $epel_source_sslclientkey = undef, $epel_source_sslclientcert = undef, Optional[String[1]] $epel_source_username = undef, Optional[String[1]] $epel_source_password = undef, $epel_debuginfo_mirrorlist = $epel::params::epel_debuginfo_mirrorlist, $epel_debuginfo_baseurl = $epel::params::epel_debuginfo_baseurl, $epel_debuginfo_failovermethod = $epel::params::epel_debuginfo_failovermethod, $epel_debuginfo_proxy = $epel::params::epel_debuginfo_proxy, $epel_debuginfo_enabled = $epel::params::epel_debuginfo_enabled, $epel_debuginfo_gpgcheck = $epel::params::epel_debuginfo_gpgcheck, $epel_debuginfo_repo_gpgcheck = $epel::params::epel_debuginfo_repo_gpgcheck, $epel_debuginfo_metalink = $epel::params::epel_debuginfo_metalink, Boolean $epel_debuginfo_managed = true, $epel_debuginfo_exclude = undef, $epel_debuginfo_includepkgs = undef, $epel_debuginfo_sslclientkey = undef, $epel_debuginfo_sslclientcert = undef, Optional[String[1]] $epel_debuginfo_username = undef, Optional[String[1]] $epel_debuginfo_password = undef, $epel_testing_source_mirrorlist = $epel::params::epel_testing_source_mirrorlist, $epel_testing_source_baseurl = $epel::params::epel_testing_source_baseurl, $epel_testing_source_failovermethod = $epel::params::epel_testing_source_failovermethod, $epel_testing_source_proxy = $epel::params::epel_testing_source_proxy, $epel_testing_source_enabled = $epel::params::epel_testing_source_enabled, $epel_testing_source_gpgcheck = $epel::params::epel_testing_source_gpgcheck, $epel_testing_source_repo_gpgcheck = $epel::params::epel_testing_source_repo_gpgcheck, $epel_testing_source_metalink = $epel::params::epel_testing_source_metalink, Boolean $epel_testing_source_managed = true, $epel_testing_source_exclude = undef, $epel_testing_source_includepkgs = undef, $epel_testing_source_sslclientkey = undef, $epel_testing_source_sslclientcert = undef, Optional[String[1]] $epel_testing_source_username = undef, Optional[String[1]] $epel_testing_source_password = undef, $epel_testing_debuginfo_mirrorlist = $epel::params::epel_testing_debuginfo_mirrorlist, $epel_testing_debuginfo_baseurl = $epel::params::epel_testing_debuginfo_baseurl, $epel_testing_debuginfo_failovermethod = $epel::params::epel_testing_debuginfo_failovermethod, $epel_testing_debuginfo_proxy = $epel::params::epel_testing_debuginfo_proxy, $epel_testing_debuginfo_enabled = $epel::params::epel_testing_debuginfo_enabled, $epel_testing_debuginfo_gpgcheck = $epel::params::epel_testing_debuginfo_gpgcheck, $epel_testing_debuginfo_repo_gpgcheck = $epel::params::epel_testing_debuginfo_repo_gpgcheck, $epel_testing_debuginfo_metalink = $epel::params::epel_testing_debuginfo_metalink, Boolean $epel_testing_debuginfo_managed = true, $epel_testing_debuginfo_exclude = undef, $epel_testing_debuginfo_includepkgs = undef, $epel_testing_debuginfo_sslclientkey = undef, $epel_testing_debuginfo_sslclientcert = undef, Optional[String[1]] $epel_testing_debuginfo_username = undef, Optional[String[1]] $epel_testing_debuginfo_password = undef, Boolean $epel_gpg_managed = true, $os_maj_release = $epel::params::os_maj_release, ) inherits epel::params { if $facts['os']['family'] == 'RedHat' and $facts['os']['name'] != 'Fedora' { if $epel_testing_managed { yumrepo { 'epel-testing': # lint:ignore:selector_inside_resource mirrorlist => $epel_testing_baseurl ? { 'absent' => $epel_testing_mirrorlist, default => 'absent', }, # lint:endignore baseurl => $epel_testing_baseurl, failovermethod => $epel_testing_failovermethod, proxy => $epel_testing_proxy, enabled => $epel_testing_enabled, gpgcheck => $epel_testing_gpgcheck, repo_gpgcheck => $epel_testing_repo_gpgcheck, gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}", metalink => $epel_testing_metalink, descr => "Extra Packages for Enterprise Linux ${os_maj_release} - Testing - \$basearch", exclude => $epel_testing_exclude, includepkgs => $epel_testing_includepkgs, sslclientkey => $epel_testing_sslclientkey, sslclientcert => $epel_testing_sslclientcert, username => $epel_testing_username, password => $epel_testing_password, } if $epel_gpg_managed { Epel::Rpm_gpg_key["EPEL-${os_maj_release}"] -> Yumrepo['epel-testing'] } } if $epel_testing_debuginfo_managed { yumrepo { 'epel-testing-debuginfo': # lint:ignore:selector_inside_resource mirrorlist => $epel_testing_debuginfo_baseurl ? { 'absent' => $epel_testing_debuginfo_mirrorlist, default => 'absent', }, # lint:endignore baseurl => $epel_testing_debuginfo_baseurl, failovermethod => $epel_testing_debuginfo_failovermethod, proxy => $epel_testing_debuginfo_proxy, enabled => $epel_testing_debuginfo_enabled, gpgcheck => $epel_testing_debuginfo_gpgcheck, repo_gpgcheck => $epel_testing_debuginfo_repo_gpgcheck, gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}", metalink => $epel_testing_debuginfo_metalink, descr => "Extra Packages for Enterprise Linux ${os_maj_release} - Testing - \$basearch - Debug", exclude => $epel_testing_debuginfo_exclude, includepkgs => $epel_testing_debuginfo_includepkgs, sslclientkey => $epel_testing_debuginfo_sslclientkey, sslclientcert => $epel_testing_debuginfo_sslclientcert, username => $epel_testing_debuginfo_username, password => $epel_testing_debuginfo_password, } if $epel_gpg_managed { Epel::Rpm_gpg_key["EPEL-${os_maj_release}"] -> Yumrepo['epel-testing-debuginfo'] } } if $epel_testing_source_managed { yumrepo { 'epel-testing-source': # lint:ignore:selector_inside_resource mirrorlist => $epel_testing_source_baseurl ? { 'absent' => $epel_testing_source_mirrorlist, default => 'absent', }, # lint:endignore baseurl => $epel_testing_source_baseurl, failovermethod => $epel_testing_source_failovermethod, proxy => $epel_testing_source_proxy, enabled => $epel_testing_source_enabled, gpgcheck => $epel_testing_source_gpgcheck, repo_gpgcheck => $epel_testing_source_repo_gpgcheck, gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}", metalink => $epel_testing_source_metalink, descr => "Extra Packages for Enterprise Linux ${os_maj_release} - Testing - \$basearch - Source", exclude => $epel_testing_source_exclude, includepkgs => $epel_testing_source_includepkgs, sslclientkey => $epel_testing_source_sslclientkey, sslclientcert => $epel_testing_source_sslclientcert, username => $epel_testing_source_username, password => $epel_testing_source_password, } if $epel_gpg_managed { Epel::Rpm_gpg_key["EPEL-${os_maj_release}"] -> Yumrepo['epel-testing-source'] } } if $epel_managed { yumrepo { 'epel': # lint:ignore:selector_inside_resource mirrorlist => $epel_baseurl ? { 'absent' => $epel_mirrorlist, default => 'absent', }, # lint:endignore baseurl => $epel_baseurl, failovermethod => $epel_failovermethod, proxy => $epel_proxy, enabled => $epel_enabled, gpgcheck => $epel_gpgcheck, repo_gpgcheck => $epel_repo_gpgcheck, gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}", metalink => $epel_metalink, descr => "Extra Packages for Enterprise Linux ${os_maj_release} - \$basearch", exclude => $epel_exclude, includepkgs => $epel_includepkgs, sslclientkey => $epel_sslclientkey, sslclientcert => $epel_sslclientcert, username => $epel_username, password => $epel_password, } if $epel_gpg_managed { Epel::Rpm_gpg_key["EPEL-${os_maj_release}"] -> Yumrepo['epel'] } } if $epel_debuginfo_managed { yumrepo { 'epel-debuginfo': # lint:ignore:selector_inside_resource mirrorlist => $epel_debuginfo_baseurl ? { 'absent' => $epel_debuginfo_mirrorlist, default => 'absent', }, # lint:endignore baseurl => $epel_debuginfo_baseurl, failovermethod => $epel_debuginfo_failovermethod, proxy => $epel_debuginfo_proxy, enabled => $epel_debuginfo_enabled, gpgcheck => $epel_debuginfo_gpgcheck, repo_gpgcheck => $epel_debuginfo_repo_gpgcheck, gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}", descr => "Extra Packages for Enterprise Linux ${os_maj_release} - \$basearch - Debug", metalink => $epel_debuginfo_metalink, exclude => $epel_debuginfo_exclude, includepkgs => $epel_debuginfo_includepkgs, sslclientkey => $epel_debuginfo_sslclientkey, sslclientcert => $epel_debuginfo_sslclientcert, username => $epel_debuginfo_username, password => $epel_debuginfo_password, } if $epel_gpg_managed { Epel::Rpm_gpg_key["EPEL-${os_maj_release}"] -> Yumrepo['epel-debuginfo'] } } if $epel_source_managed { yumrepo { 'epel-source': # lint:ignore:selector_inside_resource mirrorlist => $epel_source_baseurl ? { 'absent' => $epel_source_mirrorlist, default => 'absent', }, # lint:endignore baseurl => $epel_source_baseurl, failovermethod => $epel_source_failovermethod, proxy => $epel_source_proxy, enabled => $epel_source_enabled, gpgcheck => $epel_source_gpgcheck, repo_gpgcheck => $epel_source_repo_gpgcheck, gpgkey => "file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}", descr => "Extra Packages for Enterprise Linux ${os_maj_release} - \$basearch - Source", metalink => $epel_source_metalink, exclude => $epel_source_exclude, includepkgs => $epel_source_includepkgs, sslclientkey => $epel_source_sslclientkey, sslclientcert => $epel_source_sslclientcert, username => $epel_source_username, password => $epel_source_password, } if $epel_gpg_managed { Epel::Rpm_gpg_key["EPEL-${os_maj_release}"] -> Yumrepo['epel-source'] } } if $epel_gpg_managed { file { "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}": ensure => file, owner => 'root', group => 'root', mode => '0644', content => file("epel/RPM-GPG-KEY-EPEL-${os_maj_release}"), } epel::rpm_gpg_key { "EPEL-${os_maj_release}": path => "/etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-${os_maj_release}", } } } else { notice ("Your operating system ${facts['os']['name']} will not have the EPEL repository applied") } }