diff --git a/.vscode/settings.json b/.vscode/settings.json index c208253..fccf9be 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,8 @@ { "cSpell.words": [ - "autoupdate" + "autoupdate", + "basearch", + "epel", + "mirrorlist" ] } \ No newline at end of file diff --git a/manifests/main/epel.pp b/manifests/main/epel.pp new file mode 100644 index 0000000..91c67ee --- /dev/null +++ b/manifests/main/epel.pp @@ -0,0 +1,30 @@ +## resources_cd::main::epel.pp +# Module name: resources_cd +# Author: Arne Teuke (arne_teuke@confdroid.com) +# @summary Class manages yum repo for epel. +############################################################################## +class resources_cd::main::epel ( + +) inherits resources_cd::params { + if $facts['os']['name'] == 'Rocky' and $facts['os']['release']['major'] == '9' { + yumrepo { 'crb': + enabled => '1', + } + + exec { 'install EPEL RPM': + command => "dnf install -y ${epel_from_url}", + path => '/usr/bin', + unless => 'rpm -q epel-release-9-9.el9.noarch', + require => Yumrepo['crb'], + } + + yumrepo { + 'epel': + descr => "Extra Packages for Enterprise Linux 9 - \$basearch", + mirrorlist => 'https://mirrors.fedoraproject.org/metalink?repo=epel-9&arch=$basearch&infra=$infra&content=$contentdir', + enabled => '1', + gpgcheck => '0', + require => Exec['install EPEL RPM'], + } + } +} diff --git a/manifests/main/install.pp b/manifests/main/install.pp index b1190f9..7ddb1d3 100644 --- a/manifests/main/install.pp +++ b/manifests/main/install.pp @@ -9,10 +9,4 @@ class resources_cd::main::install ( package { $reqpackages: ensure => $pkg_ensure, } - - if $rs_autoupdate == true { - package { 'yum-cron': - ensure => present, - } - } } diff --git a/manifests/main/service.pp b/manifests/main/service.pp deleted file mode 100644 index 92db30c..0000000 --- a/manifests/main/service.pp +++ /dev/null @@ -1,23 +0,0 @@ -## resources_cd::main::service.pp -# Module name: resources_cd -# Author: Arne Teuke (arne_teuke@confdroid.com) -# @summary Class manages service settings in resources_cd -############################################################################## -class resources_cd::main::service ( - -) inherits resources_cd::params { - if $rs_autoupdate == true { - service { $rs_cron_service: - ensure => running, - hasstatus => true, - hasrestart => true, - enable => true, - } - } - if $rs_autoupdate == false { - service { $rs_cron_service: - ensure => stopped, - enable => false, - } - } -} diff --git a/manifests/main/yumrepo.pp b/manifests/main/yumrepo.pp new file mode 100644 index 0000000..0ed768a --- /dev/null +++ b/manifests/main/yumrepo.pp @@ -0,0 +1,10 @@ +## resources_cd::main::yumrepo.pp +# Module name: resources_cd +# Author: Arne Teuke (arne_teuke@confdroid.com) +# @summary Class manages yum repos for Rocky. +############################################################################## +class resources_cd::main::yumrepo ( + +) inherits resources_cd::params { +# +} diff --git a/manifests/params.pp b/manifests/params.pp index 4fc2018..a3ec697 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -4,7 +4,7 @@ # @summary Class contains all parameters for the resources_cd module. # @param [array] reqpackages which packages to install # @param [string] pkg_ensure version to install, 'present', 'latest', 'v1.0' -# @param [boolean] rs_autoupdate whether to enable auto-updates on yum +# @param [boolean] rs_enable_epel whether to enable epel ############################################################################## class resources_cd::params ( @@ -12,17 +12,10 @@ class resources_cd::params ( 'Rocky' => ['yum', 'yum-utils'], }, String $pkg_ensure = 'present', - -# autoupdate - Boolean $rs_autoupdate = $facts['os']['name'] ? { - 'Rocky' => true, - } + Boolean $rs_enable_epel = false, ) { -# service - $rs_cron_service = 'yum-cron' - - + $epel_from_url = 'https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm' # includes must be last include resources_cd::main::config }