66 lines
1.4 KiB
Puppet
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,
|
|
}
|
|
|
|
}
|