abusesa: Added analytics

This commit is contained in:
Ossi Salmi 2015-11-30 11:22:50 +00:00
parent f2c30efa13
commit a0453bfd16

View file

@ -0,0 +1,79 @@
# Install AbuseSA Analytics.
#
# === Parameters
#
# $config:
# Source URL of optional config file.
#
# $webhosts:
# List of analytics virtual hosts.
#
class abusesa::analytics(
$config=undef,
$webhosts=undef,
) {
if ! $abusesa_analytics_package {
if $::abusesa_analytics_package_latest {
$abusesa_analytics_package = $::abusesa_analytics_package_latest
} else {
fail('Must define $abusesa_analytics_package or $abusesa_analytics_package_latest')
}
}
file { '/usr/local/src/abusesa-analytics.tar.gz':
ensure => present,
mode => '0644',
owner => 'root',
group => 'root',
source => "puppet:///files/packages/${abusesa_analytics_package}",
}
util::extract::tar { '/usr/local/src/abusesa-analytics':
ensure => latest,
strip => '1',
source => '/usr/local/src/abusesa-analytics.tar.gz',
require => File['/usr/local/src/abusesa-analytics.tar.gz'],
}
python::setup::install { '/usr/local/src/abusesa-analytics':
require => Util::Extract::Tar['/usr/local/src/abusesa-analytics'],
}
$htdocs = $::operatingsystem ? {
'ubuntu' => '/usr/local/share/analytics/htdocs',
default => '/usr/share/analytics/htdocs',
}
if $config {
file { "${htdocs}/config.json":
ensure => present,
mode => '0644',
owner => 'root',
group => 'root',
source => $config,
require => Python::Setup::Install['/usr/local/src/abusesa-analytics'],
}
}
if $webhosts {
abusesa::analytics::configwebhost { $webhosts:
htdocs => $htdocs,
}
}
}
# Enable AbuseSA Analytics for virtual host.
#
define abusesa::analytics::configwebhost($htdocs) {
if ! defined(Abusesa::Configwebhost[$name]) {
abusesa::configwebhost { $name: }
}
file { "/srv/www/https/${name}/abusesa/analytics":
ensure => link,
target => $htdocs,
}
}