[root@puppetmaster manifests]# vim config.pp
class
yum::config{
include
yum::params #引用
class
yum::params
include
yum::config_file,yum::config_key,yum::config_repo
}
class
yum::config_file{
file {
'/etc/yum.conf'
: #创建file资源管理yum主配置文件yum.conf
ensure => present, #要求文件处于存在状态
owner =>
'root'
, #属主为root
group =>
'root'
, #属组为root
mode =>
'0644'
, #文件权限为
644
source =>
'puppet:///modules/yum/etc/yum.conf'
, #要求从puppetmaster服务器指定目录去下载
require => Class[
'yum::install'
], #要求在配置之前先安装yum软件包
}
file {
'/etc/yum.repos.d/rhel-base.repo'
: #设置光盘repo的一些属性
ensure => present,
owner =>
'root'
,
group =>
'root'
,
mode =>
'0644'
,
require => Class[
'yum::config_repo'
], #要求设置之前yumrepo资源rhel-base必须存在
}
file {
'/etc/yum.repos.d/rhel-puppet.repo'
: #设置puppet repo的一些属性
ensure => present,
owner =>
'root'
,
group =>
'root'
,
mode =>
'0644'
,
require => Class[
'yum::config_repo'
], #要求设置之前yumrepo资源puppet必须存在
}
}
class
yum::config_key{ #设置pki证书的一些属性及下载位置
file { $yum::params::yum_redhat_pki_name:
ensure => present,
owner =>
'root'
,
group =>
'root'
,
mode =>
'0644'
,
source => $yum::params::yum_redhat_pki_download,
}
}
class
yum::config_repo{
yumrepo { rhel-base: #创建yumrepo资源rhel-base
descr => $yum::params::yum_redhat_descr, #设置描述信息
baseurl => $yum::params::yum_redhat_baseurl, #设置yum源下载地址
enabled =>
1
, #激活yum源
gpgcheck =>
1
, #设置要求通过pki校验
gpgkey => $yum::params::yum_redhat_pki, #设置pki文件的下载位置
require => Class[
'yum::config_key'
], #要求这个文件必须存在
priority =>
1
, #设置repo的优先级为
1
(数字越小优先级越高)
}
yumrepo { rhel-puppet:
descr => $yum::params::yum_puppet_descr,
baseurl => $yum::params::yum_puppet_baseurl,
enabled =>
1
,
gpgcheck =>
0
,
priority =>
2
,
}
}