puppet/abusehelper/manifests/init.pp

86 lines
2.5 KiB
Puppet

# Install abusehelper from svn.
#
class abusehelper {
case $operatingsystem {
ubuntu: {
package { [ "python-pyme", "python-tz" ]:
ensure => installed,
}
}
centos: {
case $operatingsystemrelease {
/^5/: {
package { "python26":
ensure => installed,
}
Python::Setup::Install["/usr/local/src/abusehelper",
"/usr/local/src/idiokit"] {
python => "python2.6",
require => Package["python26"],
}
}
}
}
}
file { "/usr/local/src/abusehelper.tar.gz":
ensure => present,
mode => 0644,
owner => root,
group => root,
source => "puppet:///files/packages/abusehelper.tar.gz",
links => follow,
}
util::extract::tar { "/usr/local/src/abusehelper":
strip => 1,
source => "/usr/local/src/abusehelper.tar.gz",
require => File["/usr/local/src/abusehelper.tar.gz"],
before => Python::Setup::Install["/usr/local/src/abusehelper"],
}
file { "/usr/local/src/idiokit.tar.gz":
ensure => present,
mode => 0644,
owner => root,
group => root,
source => "puppet:///files/packages/idiokit.tar.gz",
links => follow,
}
util::extract::tar { "/usr/local/src/idiokit":
strip => 1,
source => "/usr/local/src/idiokit.tar.gz",
require => File["/usr/local/src/idiokit.tar.gz"],
before => Python::Setup::Install["/usr/local/src/idiokit"],
}
python::setup::install { [ "/usr/local/src/abusehelper",
"/usr/local/src/idiokit", ]:
}
include user::system
realize(User["abusehel"], Group["abusehel"])
if $abusehelper_datadir {
file { "${abusehelper_datadir}":
ensure => directory,
mode => 0750,
owner => root,
group => abusehel,
require => User["abusehel"],
}
file { "/var/lib/ah2":
ensure => link,
target => "${abusehelper_datadir}",
require => File["${abusehelper_datadir}"],
}
} else {
file { "/var/lib/ah2":
ensure => directory,
mode => 0750,
owner => root,
group => abusehel,
require => User["abusehel"],
}
}
}