diff --git a/abusesa/manifests/init.pp b/abusesa/manifests/init.pp index 8452f11..15824da 100644 --- a/abusesa/manifests/init.pp +++ b/abusesa/manifests/init.pp @@ -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}"], - } - -} diff --git a/abusesa/manifests/search.pp b/abusesa/manifests/search.pp new file mode 100644 index 0000000..63dc847 --- /dev/null +++ b/abusesa/manifests/search.pp @@ -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}"], + } + +}