Manual merge of abusehelper and abusesa from parameterize branch

This commit is contained in:
Ossi Salmi 2015-03-16 17:12:34 +02:00
parent f517230310
commit 09ae1aa84b
10 changed files with 501 additions and 354 deletions

View file

@ -1,91 +1,88 @@
# Install AbuseSA.
#
# === Global variables
# === Parameters
#
# $abusesa_datadir:
# AbuseSA home directory. Defaults to /var/lib/abusesa.
# $datadir:
# AbuseSA home directory. Defaults to /var/lib/abusesa.
#
# $abusesa_botnets:
# Array of botnet paths to start at boot.
# $botnets:
# Array of botnet paths to start at boot.
#
class abusesa {
# $botuser:
# User to run bots as. Defaults to abusesa.
#
class abusesa(
$datadir='/var/lib/abusesa',
$botnets=undef,
$botuser='abusesa',
) {
if ! $abusesa_package {
if $::abusesa_package_latest {
$abusesa_package = $::abusesa_package_latest
} else {
fail('Must define $abusesa_package or $abusesa_package_latest')
}
}
include user::system
realize(User["abusesa"], Group["abusesa"])
if $abusesa_datadir {
file { $abusesa_datadir:
ensure => directory,
mode => "2770",
owner => "abusesa",
group => "abusesa",
require => User["abusesa"],
}
file { "/var/lib/abusesa":
ensure => link,
target => $abusesa_datadir,
require => File[$abusesa_datadir],
}
if ! $abusesa_package {
if $::abusesa_package_latest {
$abusesa_package = $::abusesa_package_latest
} else {
file { "/var/lib/abusesa":
ensure => directory,
mode => "2770",
owner => "abusesa",
group => "abusesa",
require => User["abusesa"],
}
fail('Must define $abusesa_package or $abusesa_package_latest')
}
}
file { "/var/lib/abusesa/.profile":
ensure => present,
mode => "0600",
owner => "abusesa",
group => "abusesa",
content => "umask 007\n",
require => File["/var/lib/abusesa"],
}
include user::system
realize(User['abusesa'], Group['abusesa'])
file { "/usr/local/src/abusesa.tar.gz":
ensure => present,
mode => "0644",
owner => "root",
group => $::operatingsystem ? {
"openbsd" => "wheel",
default => "root",
},
source => "puppet:///files/packages/${abusesa_package}",
}
util::extract::tar { "/usr/local/src/abusesa":
ensure => latest,
strip => 1,
source => "/usr/local/src/abusesa.tar.gz",
require => File["/usr/local/src/abusesa.tar.gz"],
before => Python::Setup::Install["/usr/local/src/abusesa"],
if $datadir != '/var/lib/abusesa' {
file { '/var/lib/abusesa':
ensure => link,
target => $datadir,
}
}
if $::operatingsystem in ["CentOS","RedHat"] and versioncmp($::operatingsystemrelease, "6") < 0 {
include python::python26
python::setup::install { "/usr/local/src/abusesa":
python => "python2.6",
require => Package["python26"],
}
} else {
python::setup::install { "/usr/local/src/abusesa": }
}
file { $datadir:
ensure => directory,
mode => '2770',
owner => 'abusesa',
group => 'abusesa',
}
if $abusesa_botnets {
class { "abusehelper::init":
botnets => $abusesa_botnets,
botuser => "abusesa",
}
file { '/var/lib/abusesa/.profile':
ensure => present,
mode => '0600',
owner => 'abusesa',
group => 'abusesa',
content => "umask 007\n",
}
file { '/usr/local/src/abusesa.tar.gz':
ensure => present,
mode => '0644',
owner => 'root',
group => $::operatingsystem ? {
'openbsd' => 'wheel',
default => 'root',
},
source => "puppet:///files/packages/${abusesa_package}",
}
util::extract::tar { '/usr/local/src/abusesa':
ensure => latest,
strip => '1',
source => '/usr/local/src/abusesa.tar.gz',
require => File['/usr/local/src/abusesa.tar.gz'],
before => Python::Setup::Install['/usr/local/src/abusesa'],
}
if $::operatingsystem in ['CentOS','RedHat'] and versioncmp($::operatingsystemrelease, '6') < 0 {
include python::python26
python::setup::install { '/usr/local/src/abusesa':
python => 'python2.6',
require => Package['python26'],
}
} else {
python::setup::install { '/usr/local/src/abusesa': }
}
if $botnets {
class { 'abusehelper::init':
botnets => $botnets,
botuser => $botuser,
}
}
}