abusesa: Split abusesa::search into separate manifest

This commit is contained in:
Ossi Salmi 2014-11-25 10:39:43 +02:00
parent 9bf76b0595
commit fc104ca94b
2 changed files with 144 additions and 146 deletions

View file

@ -89,149 +89,3 @@ class abusesa {
}
}
# Install AbuseSA Search.
#
# === Parameters
#
# $solrurl:
# URL to sorl.
#
# $logourl:
# Path to logo image.
#
# $cssfile:
# Path to css file.
#
# $webhosts:
# List of search virtual hosts.
#
class abusesa::search(
$solrurl="https://${::homename}/solr/generic/",
$logourl="img/Codenomicon_logo_small.png",
$cssfile="css/code.css",
$webhosts=undef
) {
if ! $abusesa_search_package {
if $::abusesa_search_package_latest {
$abusesa_search_package = $::abusesa_search_package_latest
} else {
fail("Must define \$abusesa_search_package or \$abusesa_search_package_latest")
}
}
file { "/usr/local/src/abusesa-search.tar.gz":
ensure => present,
mode => "0644",
owner => "root",
group => "root",
source => "puppet:///files/packages/${abusesa_search_package}",
}
util::extract::tar { "/usr/local/src/abusesa-search":
ensure => latest,
strip => 1,
source => "/usr/local/src/abusesa-search.tar.gz",
require => File["/usr/local/src/abusesa-search.tar.gz"],
before => Python::Setup::Install["/usr/local/src/abusesa-search"],
}
python::setup::install { "/usr/local/src/abusesa-search": }
package { "python-BeautifulSoup":
ensure => installed,
name => $::operatingsystem ? {
"debian" => "python-beautifulsoup",
"ubuntu" => "python-beautifulsoup",
default => "python-BeautifulSoup",
}
}
file { "/srv/solr/cores/generic":
ensure => directory,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/config/solr/cores/generic",
recurse => true,
purge => true,
force => true,
require => [
File["/srv/solr/cores"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
file { "/srv/solr/cores/lib/solr-analysis-clarified.jar":
ensure => present,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/bin/solr-4.9.0-analysis-clarified.jar",
require => [
File["/srv/solr/cores/lib"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
file { "/srv/solr/cores/lib/commons-net-3.1.jar":
ensure => present,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/search/analysis-codenomicon/lib/commons-net-3.1.jar",
require => [
File["/srv/solr/cores/lib"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
file { "/srv/solr/cores/lib/java-ipv6-0.8.jar":
ensure => present,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/search/analysis-codenomicon/lib/java-ipv6-0.8.jar",
require => [
File["/srv/solr/cores/lib"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
$htdocs = $::operatingsystem ? {
"ubuntu" => "/usr/local/share/abusesa-search/htdocs",
default => "/usr/share/abusesa-search/htdocs",
}
file { "${htdocs}/js/Config.js":
ensure => present,
mode => "0644",
owner => "root",
group => "root",
content => template("abusesa/Config.js.erb"),
require => Python::Setup::Install["/usr/local/src/abusesa-search"],
}
if $webhosts {
abusesa::search::configwebhost { $webhosts:
htdocs => $htdocs,
}
}
}
# Enable AbuseSA Search for virtual host.
#
define abusesa::search::configwebhost($htdocs) {
file { "/srv/www/https/${name}/search":
ensure => link,
target => $htdocs,
require => File["/srv/www/https/${name}"],
}
}

144
abusesa/manifests/search.pp Normal file
View file

@ -0,0 +1,144 @@
# Install AbuseSA Search.
#
# === Parameters
#
# $solrurl:
# URL to sorl.
#
# $logourl:
# Path to logo image.
#
# $cssfile:
# Path to css file.
#
# $webhosts:
# List of search virtual hosts.
#
class abusesa::search(
$solrurl="https://${::homename}/solr/generic/",
$logourl="img/Codenomicon_logo_small.png",
$cssfile="css/code.css",
$webhosts=undef
) {
if ! $abusesa_search_package {
if $::abusesa_search_package_latest {
$abusesa_search_package = $::abusesa_search_package_latest
} else {
fail("Must define \$abusesa_search_package or \$abusesa_search_package_latest")
}
}
file { "/usr/local/src/abusesa-search.tar.gz":
ensure => present,
mode => "0644",
owner => "root",
group => "root",
source => "puppet:///files/packages/${abusesa_search_package}",
}
util::extract::tar { "/usr/local/src/abusesa-search":
ensure => latest,
strip => 1,
source => "/usr/local/src/abusesa-search.tar.gz",
require => File["/usr/local/src/abusesa-search.tar.gz"],
before => Python::Setup::Install["/usr/local/src/abusesa-search"],
}
python::setup::install { "/usr/local/src/abusesa-search": }
package { "python-BeautifulSoup":
ensure => installed,
name => $::operatingsystem ? {
"debian" => "python-beautifulsoup",
"ubuntu" => "python-beautifulsoup",
default => "python-BeautifulSoup",
}
}
file { "/srv/solr/cores/generic":
ensure => directory,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/config/solr/cores/generic",
recurse => true,
purge => true,
force => true,
require => [
File["/srv/solr/cores"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
file { "/srv/solr/cores/lib/solr-analysis-clarified.jar":
ensure => present,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/bin/solr-4.9.0-analysis-clarified.jar",
require => [
File["/srv/solr/cores/lib"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
file { "/srv/solr/cores/lib/commons-net-3.1.jar":
ensure => present,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/search/analysis-codenomicon/lib/commons-net-3.1.jar",
require => [
File["/srv/solr/cores/lib"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
file { "/srv/solr/cores/lib/java-ipv6-0.8.jar":
ensure => present,
mode => "0660",
owner => "solr",
group => "solr",
source => "/usr/local/src/abusesa-search/search/analysis-codenomicon/lib/java-ipv6-0.8.jar",
require => [
File["/srv/solr/cores/lib"],
Util::Extract::Tar["/usr/local/src/abusesa-search"],
],
notify => Service["solr"],
}
$htdocs = $::operatingsystem ? {
"ubuntu" => "/usr/local/share/abusesa-search/htdocs",
default => "/usr/share/abusesa-search/htdocs",
}
file { "${htdocs}/js/Config.js":
ensure => present,
mode => "0644",
owner => "root",
group => "root",
content => template("abusesa/Config.js.erb"),
require => Python::Setup::Install["/usr/local/src/abusesa-search"],
}
if $webhosts {
abusesa::search::configwebhost { $webhosts:
htdocs => $htdocs,
}
}
}
# Enable AbuseSA Search for virtual host.
#
define abusesa::search::configwebhost($htdocs) {
file { "/srv/www/https/${name}/search":
ensure => link,
target => $htdocs,
require => File["/srv/www/https/${name}"],
}
}