Manually merge abusesa::search and solr from parameterize
This commit is contained in:
parent
a5a7b8f15c
commit
695f353f3b
3 changed files with 99 additions and 73 deletions
|
@ -93,22 +93,35 @@ class abusesa {
|
|||
|
||||
# Install AbuseSA Search.
|
||||
#
|
||||
class abusesa::search {
|
||||
|
||||
include solr
|
||||
# === 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
|
||||
if $::abusesa_search_package_latest {
|
||||
$abusesa_search_package = $::abusesa_search_package_latest
|
||||
} else {
|
||||
fail("Must define \$abusesa_search_package or \$abusesa_search_package_latest")
|
||||
}
|
||||
}
|
||||
|
||||
if !$abusesa_search_solrurl {
|
||||
$abusesa_search_solrurl = "https://${::homename}/solr/generic/"
|
||||
}
|
||||
|
||||
file { "/usr/local/src/abusesa-search.tar.gz":
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
|
@ -136,10 +149,6 @@ class abusesa::search {
|
|||
}
|
||||
}
|
||||
|
||||
package { "python-lxml":
|
||||
ensure => installed,
|
||||
}
|
||||
|
||||
file { "/srv/solr/cores/generic":
|
||||
ensure => directory,
|
||||
mode => "0660",
|
||||
|
@ -206,18 +215,23 @@ class abusesa::search {
|
|||
require => Python::Setup::Install["/usr/local/src/abusesa-search"],
|
||||
}
|
||||
|
||||
define configwebhost($htdocs) {
|
||||
file { "/srv/www/https/${name}/search":
|
||||
ensure => link,
|
||||
target => $htdocs,
|
||||
require => File["/srv/www/https/${name}"],
|
||||
}
|
||||
}
|
||||
|
||||
if $abusesa_search_webhosts {
|
||||
configwebhost { $abusesa_search_webhosts:
|
||||
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}"],
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,19 +1,34 @@
|
|||
# Install Apache Solr.
|
||||
#
|
||||
class solr {
|
||||
# === Parameters
|
||||
#
|
||||
# $cores:
|
||||
# List of cores to enable.
|
||||
#
|
||||
# $datadir:
|
||||
# Solr data directory. Defaults to "/srv/solr".
|
||||
#
|
||||
# $webhosts:
|
||||
# List of Solr virtual hosts.
|
||||
#
|
||||
class solr(
|
||||
$cores,
|
||||
$datadir="/srv/solr",
|
||||
$webhosts=undef
|
||||
) {
|
||||
|
||||
if ! ($::apache::sslserver::user and $::apache::sslserver::group) {
|
||||
fail("Must declare apache before solr")
|
||||
}
|
||||
|
||||
if ! $solr_package {
|
||||
if $solr_package_latest {
|
||||
$solr_package = $solr_package_latest
|
||||
if $::solr_package_latest {
|
||||
$solr_package = $::solr_package_latest
|
||||
} else {
|
||||
fail("Must define \$solr_package or \$solr_package_latest")
|
||||
}
|
||||
}
|
||||
|
||||
if !$solr_core {
|
||||
fail("Must define \$solr_core")
|
||||
}
|
||||
|
||||
file { "/usr/local/src/solr.tgz":
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
|
@ -32,29 +47,21 @@ class solr {
|
|||
include user::system
|
||||
realize(User["solr"], Group["solr"])
|
||||
|
||||
if $solr_datadir {
|
||||
file { $solr_datadir:
|
||||
ensure => directory,
|
||||
mode => "0770",
|
||||
owner => "solr",
|
||||
group => "solr",
|
||||
require => User["solr"],
|
||||
}
|
||||
|
||||
if $datadir != "/srv/solr" {
|
||||
file { "/srv/solr":
|
||||
ensure => link,
|
||||
target => $solr_datadir,
|
||||
require => File[$solr_datadir],
|
||||
target => $datadir,
|
||||
require => File[$datadir],
|
||||
}
|
||||
} else {
|
||||
file { "/srv/solr":
|
||||
}
|
||||
|
||||
file { $datadir:
|
||||
ensure => directory,
|
||||
mode => "0770",
|
||||
owner => "solr",
|
||||
group => "solr",
|
||||
require => User["solr"],
|
||||
}
|
||||
}
|
||||
|
||||
file { [ "/srv/solr/cores",
|
||||
"/srv/solr/cores/lib",
|
||||
|
@ -153,7 +160,7 @@ class solr {
|
|||
ensure => present,
|
||||
mode => "0640",
|
||||
owner => "root",
|
||||
group => $apache::sslserver::group,
|
||||
group => $::apache::sslserver::group,
|
||||
require => File["/etc/solr"],
|
||||
}
|
||||
|
||||
|
@ -176,15 +183,7 @@ class solr {
|
|||
require => File[$htdocs],
|
||||
}
|
||||
|
||||
define configwebhost($htdocs) {
|
||||
file { "/srv/www/https/${name}/solr":
|
||||
ensure => link,
|
||||
target => $htdocs,
|
||||
require => File["/srv/www/https/${name}"],
|
||||
}
|
||||
}
|
||||
|
||||
if $solr_webhosts {
|
||||
if $webhosts {
|
||||
include apache::mod::proxy
|
||||
include apache::mod::proxy_http
|
||||
include apache::mod::rewrite
|
||||
|
@ -194,22 +193,22 @@ class solr {
|
|||
source => "puppet:///modules/solr/solr-httpd.conf",
|
||||
}
|
||||
|
||||
configwebhost { $solr_webhosts:
|
||||
solr::configwebhost { $webhosts:
|
||||
htdocs => $htdocs,
|
||||
}
|
||||
}
|
||||
|
||||
if ! $solr_requests_package {
|
||||
if $solr_requests_package_latest {
|
||||
$solr_requests_package = $solr_requests_package_latest
|
||||
if $::solr_requests_package_latest {
|
||||
$solr_requests_package = $::solr_requests_package_latest
|
||||
} else {
|
||||
fail("Must define \$solr_requests_package or \$solr_requests_package_latest")
|
||||
}
|
||||
}
|
||||
|
||||
if ! $solr_pysolr_package {
|
||||
if $solr_pysolr_package_latest {
|
||||
$solr_pysolr_package = $solr_pysolr_package_latest
|
||||
if $::solr_pysolr_package_latest {
|
||||
$solr_pysolr_package = $::solr_pysolr_package_latest
|
||||
} else {
|
||||
fail("Must define \$solr_pysolr_package or \$solr_pysolr_package_latest")
|
||||
}
|
||||
|
@ -225,3 +224,16 @@ class solr {
|
|||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Enable solr for virtual host.
|
||||
#
|
||||
define solr::configwebhost($htdocs) {
|
||||
|
||||
file { "/srv/www/https/${name}/solr":
|
||||
ensure => link,
|
||||
target => $htdocs,
|
||||
require => File["/srv/www/https/${name}"],
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<solr persistent="false" sharedLib="lib">
|
||||
<cores adminPath="/admin/cores" host="${host:}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
|
||||
<% @solr_core.each do |core| -%>
|
||||
<% @cores.each do |core| -%>
|
||||
<core name="<%= core %>" instanceDir="<%= core %>">
|
||||
<property name="dataDir" value="/srv/solr/index/<%= core %>" />
|
||||
</core>
|
||||
|
|
Loading…
Add table
Reference in a new issue