Manual merge of abusehelper and abusesa from parameterize branch
This commit is contained in:
parent
f517230310
commit
09ae1aa84b
10 changed files with 501 additions and 354 deletions
|
@ -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,
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue