phpservermon/puphpet/puppet/modules/yum/manifests/repo/centos5.pp

125 lines
4.0 KiB
Puppet

# = Class: yum::repo::centos5
#
# Base Centos5 repos
#
# == Parameters:
#
# [*mirror_url*]
# A clean URL to a mirror of `rsync://msync.centos.org::CentOS`.
# The paramater is interpolated with the known directory structure to
# create a the final baseurl parameter for each yumrepo so it must be
# "clean", i.e., without a query string like `?key1=valA&key2=valB`.
# Additionally, it may not contain a trailing slash.
# Example: `http://mirror.example.com/pub/rpm/centos`
# Default: `undef`
#
class yum::repo::centos5 (
$mirror_url = undef,
) {
if $mirror_url {
validate_re(
$mirror_url,
'^(?:https?|ftp):\/\/[\da-zA-Z-][\da-zA-Z\.-]*\.[a-zA-Z]{2,6}\.?(?:\/[\w~-]*)*$',
'$mirror must be a Clean URL with no query-string, a fully-qualified hostname and no trailing slash.'
)
}
$baseurl_base = $mirror_url ? {
undef => undef,
default => "${mirror_url}/\$releasever/os/\$basearch/",
}
$baseurl_updates = $mirror_url ? {
undef => undef,
default => "${mirror_url}/\$releasever/updates/\$basearch/",
}
$baseurl_addons = $mirror_url ? {
undef => undef,
default => "${mirror_url}/\$releasever/addons/\$basearch/",
}
$baseurl_extras = $mirror_url ? {
undef => undef,
default => "${mirror_url}/\$releasever/extras/\$basearch/",
}
$baseurl_centosplus = $mirror_url ? {
undef => undef,
default => "${mirror_url}/\$releasever/centosplus/\$basearch/",
}
$baseurl_contrib = $mirror_url ? {
undef => undef,
default => "${mirror_url}/\$releasever/contrib/\$basearch/",
}
yum::managed_yumrepo { 'base':
descr => 'CentOS-$releasever - Base',
baseurl => $baseurl_base,
mirrorlist => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os',
failovermethod => 'priority',
enabled => 1,
gpgcheck => 1,
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5',
gpgkey_source => 'puppet:///modules/yum/rpm-gpg/RPM-GPG-KEY-CentOS-5',
priority => 1,
}
yum::managed_yumrepo { 'updates':
descr => 'CentOS-$releasever - Updates',
baseurl => $baseurl_updates,
mirrorlist => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates',
failovermethod => 'priority',
enabled => 1,
gpgcheck => 1,
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5',
priority => 1,
}
yum::managed_yumrepo { 'addons':
descr => 'CentOS-$releasever - Addons',
baseurl => $baseurl_addons,
mirrorlist => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=addons',
failovermethod => 'priority',
enabled => 1,
gpgcheck => 1,
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5',
priority => 1,
}
yum::managed_yumrepo { 'extras':
descr => 'CentOS-$releasever - Extras',
baseurl => $baseurl_extras,
mirrorlist => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras',
failovermethod => 'priority',
enabled => 1,
gpgcheck => 1,
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5',
priority => 1,
}
yum::managed_yumrepo { 'centosplus':
descr => 'CentOS-$releasever - Centosplus',
baseurl => $baseurl_centosplus,
mirrorlist => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus',
failovermethod => 'priority',
enabled => 1,
gpgcheck => 1,
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5',
priority => 2,
}
yum::managed_yumrepo { 'contrib':
descr => 'CentOS-$releasever - Contrib',
baseurl => $baseurl_contrib,
mirrorlist => 'http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=contrib',
failovermethod => 'priority',
gpgcheck => 1,
gpgkey => 'file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5',
priority => 10,
}
}