89b7480bfe
Closes #450 Closes #456 Closes #518
67 行
1.8 KiB
Puppet
67 行
1.8 KiB
Puppet
# Class: nginx::package::redhat
|
|
#
|
|
# This module manages NGINX package installation on RedHat based systems
|
|
#
|
|
# Parameters:
|
|
#
|
|
# There are no default parameters for this class.
|
|
#
|
|
# Actions:
|
|
#
|
|
# Requires:
|
|
#
|
|
# Sample Usage:
|
|
#
|
|
# This class file is not called directly
|
|
class nginx::package::redhat (
|
|
$manage_repo = true,
|
|
$package_ensure = 'present',
|
|
$package_name = 'nginx',
|
|
$package_source = 'nginx-stable',
|
|
) {
|
|
|
|
#Install the CentOS-specific packages on that OS, otherwise assume it's a RHEL
|
|
#clone and provide the Red Hat-specific package. This comes into play when not
|
|
#on RHEL or CentOS and $manage_repo is set manually to 'true'.
|
|
if $::operatingsystem == 'centos' {
|
|
$_os = 'centos'
|
|
} else {
|
|
$_os = 'rhel'
|
|
}
|
|
|
|
if $manage_repo {
|
|
case $package_source {
|
|
'nginx', 'nginx-stable': {
|
|
yumrepo { 'nginx-release':
|
|
baseurl => "http://nginx.org/packages/${_os}/${::operatingsystemmajrelease}/\$basearch/",
|
|
descr => 'nginx repo',
|
|
enabled => '1',
|
|
gpgcheck => '1',
|
|
priority => '1',
|
|
gpgkey => 'http://nginx.org/keys/nginx_signing.key',
|
|
before => Package[$package_name],
|
|
}
|
|
}
|
|
'nginx-mainline': {
|
|
yumrepo { 'nginx-release':
|
|
baseurl => "http://nginx.org/packages/mainline/${_os}/${::operatingsystemmajrelease}/\$basearch/",
|
|
descr => 'nginx repo',
|
|
enabled => '1',
|
|
gpgcheck => '1',
|
|
priority => '1',
|
|
gpgkey => 'http://nginx.org/keys/nginx_signing.key',
|
|
before => Package[$package_name],
|
|
}
|
|
}
|
|
default: {
|
|
fail("\$package_source must be 'nginx-stable' or 'nginx-mainline'. It was set to '${package_source}'")
|
|
}
|
|
}
|
|
}
|
|
|
|
package { 'nginx':
|
|
ensure => $package_ensure,
|
|
name => $package_name,
|
|
}
|
|
|
|
}
|