module-nginx/manifests/package/debian.pp
James Fryman 7ea6b570c3 Merge branch 'disable-yum-repo-management' of github.com:rytis/puppet-nginx into rytis-disable-yum-repo-management
Conflicts:
	manifests/init.pp
	manifests/package.pp
	manifests/params.pp
2013-10-07 14:46:42 -05:00

70 lines
1.7 KiB
Puppet

# Class: nginx::package::debian
#
# This module manages NGINX package installation on debian 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::debian(
$manage_repo = true,
$package_name = 'nginx',
$package_source = 'nginx',
$package_ensure = 'present'
) {
$distro = downcase($::operatingsystem)
package { $package_name:
ensure => $package_ensure,
require => Anchor['nginx::apt_repo'],
}
anchor { 'nginx::apt_repo' : }
include '::apt'
if $manage_repo {
case $package_source {
'nginx': {
apt::source { 'nginx':
location => "http://nginx.org/packages/${distro}",
repos => 'nginx',
key => '7BD9BF62',
key_source => 'http://nginx.org/keys/nginx_signing.key',
}
}
'passenger': {
ensure_resource('package', 'apt-transport-https', {'ensure' => 'present' })
apt::source { 'nginx':
location => 'https://oss-binaries.phusionpassenger.com/apt/passenger',
repos => "main",
key => '561F9B9CAC40B2F7',
key_source => 'https://oss-binaries.phusionpassenger.com/auto-software-signing-gpg-key.txt',
}
package { 'passenger':
ensure => 'present',
require => Anchor['nginx::apt_repo'],
}
}
default: {}
}
}
exec { 'apt_get_update_for_nginx':
command => '/usr/bin/apt-get update',
timeout => 240,
returns => [ 0, 100 ],
refreshonly => true,
subscribe => Apt::Source['nginx'],
before => Anchor['nginx::apt_repo'],
}
}