puppet/abusesasearch/manifests/init.pp
2013-05-31 12:27:13 +03:00

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,
}
}
}