puppet/abusesa/manifests/analytics/ui.pp
2016-07-08 12:28:31 +03:00

66 lines
1.4 KiB
Puppet

# Install AbuseSA Analytics UI.
#
# === Parameters
#
# $config:
# Source URL of optional config file.
#
# $webhosts:
# List of analytics virtual hosts.
#
class abusesa::analytics::ui(
$config=undef,
$webhosts=undef,
) {
if ! $abusesa_analytics_ui_package {
if $::abusesa_analytics_ui_package_latest {
$abusesa_analytics_ui_package = $::abusesa_analytics_ui_package_latest
} else {
fail('Must define $abusesa_analytics_ui_package or $abusesa_analytics_ui_package_latest')
}
}
python::pip::install { 'abusesa-analytics-ui.tar.gz':
source => "puppet:///files/packages/${abusesa_analytics_ui_package}",
}
$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::Pip::Install['abusesa-analytics-ui.tar.gz'],
}
}
if $webhosts {
abusesa::analytics::ui::configwebhost { $webhosts:
htdocs => $htdocs,
}
}
}
# Enable AbuseSA Analytics for virtual host.
#
define abusesa::analytics::ui::configwebhost($htdocs) {
if ! defined(Abusesa::Configwebhost[$name]) {
abusesa::configwebhost { $name: }
}
file { "/srv/www/https/${name}/abusesa/analytics":
ensure => link,
target => $htdocs,
}
}