106 lines
3.3 KiB
Puppet
106 lines
3.3 KiB
Puppet
# Install AbuseSA Search.
|
|
#
|
|
class abusesasearch {
|
|
|
|
if !$abusesasearch_package {
|
|
if $abusesasearch_package_latest {
|
|
$abusesasearch_package = $abusesasearch_package_latest
|
|
} else {
|
|
fail("Must define \$abusesasearch_package or \$abusesasearch_package_latest")
|
|
}
|
|
}
|
|
|
|
file { "/usr/local/src/abusesa-search.tar.gz":
|
|
ensure => present,
|
|
mode => "0644",
|
|
owner => "root",
|
|
group => "root",
|
|
source => "puppet:///files/packages/${abusesasearch_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": }
|
|
python::setup::install { "/usr/local/src/abusesa-search/sources/solrbot": }
|
|
|
|
package { [ "python-beautifulsoup",
|
|
"python-pysolr",
|
|
"python-lxml", ]:
|
|
ensure => installed,
|
|
}
|
|
|
|
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"],
|
|
],
|
|
}
|
|
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.1-analysis-clarified.jar",
|
|
require => Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
require => [
|
|
File["/srv/solr/cores/lib"],
|
|
Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
],
|
|
}
|
|
file { "/srv/solr/cores/lib/commons-net-3.1.jar":
|
|
ensure => present,
|
|
mode => "0660",
|
|
owner => "solr",
|
|
group => "solr",
|
|
source => "/usr/local/src/abusesa-search/sources/analysis-clarified/lib/commons-net-3.1.jar",
|
|
require => [
|
|
File["/srv/solr/cores/lib"],
|
|
Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
],
|
|
}
|
|
file { "/srv/solr/cores/lib/java-ipv6-0.8.jar":
|
|
ensure => present,
|
|
mode => "0660",
|
|
owner => "solr",
|
|
group => "solr",
|
|
source => "/usr/local/src/abusesa-search/sources/analysis-clarified/lib/java-ipv6-0.8.jar",
|
|
require => [
|
|
File["/srv/solr/cores/lib"],
|
|
Util::Extract::Tar["/usr/local/src/abusesa-search"],
|
|
],
|
|
}
|
|
|
|
$htdocs = $::operatingsystem ? {
|
|
"ubuntu" => "/usr/local/share/abusesa-search/htdocs",
|
|
default => "/usr/share/abusesa-search/htdocs",
|
|
}
|
|
|
|
define configwebhost($htdocs) {
|
|
file { "/srv/www/https/${name}/ui":
|
|
ensure => link,
|
|
target => $htdocs,
|
|
require => File["/srv/www/https/${name}"],
|
|
}
|
|
}
|
|
|
|
if $abusesasearch_webhosts {
|
|
configwebhost { $abusesasearch_webhosts:
|
|
htdocs => $htdocs,
|
|
}
|
|
}
|
|
|
|
}
|