Manual merge of abusehelper and abusesa from parameterize branch
This commit is contained in:
parent
f517230310
commit
09ae1aa84b
10 changed files with 501 additions and 354 deletions
|
@ -1,15 +1,15 @@
|
|||
Facter.add(:botnets) do
|
||||
setcode do
|
||||
botnets = []
|
||||
if File.executable?("/usr/bin/botnet")
|
||||
listcmd = "su -s /bin/sh - nobody -c '/usr/bin/botnet list'"
|
||||
output = Facter::Util::Resolution.exec(listcmd)
|
||||
output.each_line do |line|
|
||||
if m = line.match(/^\[\d+\]\s+(.*\.py)/)
|
||||
botnets << File.basename(File.dirname(m[1]))
|
||||
end
|
||||
end
|
||||
setcode do
|
||||
botnets = []
|
||||
if File.executable?('/usr/bin/botnet')
|
||||
listcmd = "su -s /bin/sh - nobody -c '/usr/bin/botnet list'"
|
||||
output = Facter::Util::Resolution.exec(listcmd)
|
||||
output.each_line do |line|
|
||||
if m = line.match(/^\[\d+\]\s+(.*\.py)/)
|
||||
botnets << File.basename(File.dirname(m[1]))
|
||||
end
|
||||
botnets.sort.join(',')
|
||||
end
|
||||
end
|
||||
botnets.sort.join(',')
|
||||
end
|
||||
end
|
||||
|
|
|
@ -1,171 +1,173 @@
|
|||
# Install abusehelper.
|
||||
#
|
||||
# === Global variables
|
||||
# === Parameters
|
||||
#
|
||||
# $abusehelper_datadir:
|
||||
# Abusehelper home directory. Defaults to /var/lib/ah2.
|
||||
# $datadir:
|
||||
# Abusehelper home directory. Defaults to /var/lib/ah2.
|
||||
#
|
||||
# $abusehelper_botnets:
|
||||
# Array of botnet paths to start at boot.
|
||||
# $botnets:
|
||||
# Array of botnet paths to start at boot.
|
||||
#
|
||||
class abusehelper {
|
||||
# $botuser:
|
||||
# User to run bots as. Defaults to abusehel.
|
||||
#
|
||||
class abusehelper(
|
||||
$datadir='/var/lib/ah2',
|
||||
$botnets=undef,
|
||||
$botuser='abusehel'
|
||||
) {
|
||||
|
||||
case $::operatingsystem {
|
||||
"ubuntu": {
|
||||
package { [ "python-pyme", "python-tz" ]:
|
||||
ensure => installed,
|
||||
}
|
||||
}
|
||||
case $::operatingsystem {
|
||||
'ubuntu': {
|
||||
package { [ 'python-pyme', 'python-tz' ]:
|
||||
ensure => installed,
|
||||
}
|
||||
}
|
||||
default: { }
|
||||
}
|
||||
|
||||
if !$abusehelper_package {
|
||||
if $abusehelper_package_latest {
|
||||
$abusehelper_package = $abusehelper_package_latest
|
||||
} else {
|
||||
fail("Must define \$abusehelper_package or \$abusehelper_package_latest")
|
||||
}
|
||||
}
|
||||
|
||||
if !$idiokit_package {
|
||||
if $idiokit_package_latest {
|
||||
$idiokit_package = $idiokit_package_latest
|
||||
} else {
|
||||
fail("Must define \$idiokit_package or \$idiokit_package_latest")
|
||||
}
|
||||
}
|
||||
|
||||
file { "/usr/local/src/abusehelper.tar.gz":
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => $::operatingsystem ? {
|
||||
"openbsd" => "wheel",
|
||||
default => "root",
|
||||
},
|
||||
source => "puppet:///files/packages/${abusehelper_package}",
|
||||
}
|
||||
util::extract::tar { "/usr/local/src/abusehelper":
|
||||
ensure => latest,
|
||||
strip => 1,
|
||||
source => "/usr/local/src/abusehelper.tar.gz",
|
||||
require => File["/usr/local/src/abusehelper.tar.gz"],
|
||||
before => Python::Setup::Install["/usr/local/src/abusehelper"],
|
||||
}
|
||||
file { "/usr/local/src/idiokit.tar.gz":
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => $::operatingsystem ? {
|
||||
"openbsd" => "wheel",
|
||||
default => "root",
|
||||
},
|
||||
source => "puppet:///files/packages/${idiokit_package}",
|
||||
}
|
||||
util::extract::tar { "/usr/local/src/idiokit":
|
||||
ensure => latest,
|
||||
strip => 1,
|
||||
source => "/usr/local/src/idiokit.tar.gz",
|
||||
require => File["/usr/local/src/idiokit.tar.gz"],
|
||||
before => Python::Setup::Install["/usr/local/src/idiokit"],
|
||||
}
|
||||
|
||||
if $::operatingsystem in ["CentOS","RedHat"] and versioncmp($::operatingsystemrelease, "6") < 0 {
|
||||
include python::python26
|
||||
python::setup::install { [ "/usr/local/src/abusehelper",
|
||||
"/usr/local/src/idiokit", ]:
|
||||
python => "python2.6",
|
||||
require => Package["python26"],
|
||||
}
|
||||
if ! $abusehelper_package {
|
||||
if $::abusehelper_package_latest {
|
||||
$abusehelper_package = $::abusehelper_package_latest
|
||||
} else {
|
||||
python::setup::install { [ "/usr/local/src/abusehelper",
|
||||
"/usr/local/src/idiokit", ]:
|
||||
}
|
||||
fail('Must define $abusehelper_package or $abusehelper_package_latest')
|
||||
}
|
||||
}
|
||||
|
||||
include user::system
|
||||
realize(User["abusehel"], Group["abusehel"])
|
||||
|
||||
if $abusehelper_datadir {
|
||||
file { $abusehelper_datadir:
|
||||
ensure => directory,
|
||||
mode => "2770",
|
||||
owner => "abusehel",
|
||||
group => "abusehel",
|
||||
require => User["abusehel"],
|
||||
}
|
||||
|
||||
file { "/var/lib/ah2":
|
||||
ensure => link,
|
||||
target => $abusehelper_datadir,
|
||||
require => File[$abusehelper_datadir],
|
||||
}
|
||||
if ! $idiokit_package {
|
||||
if $::idiokit_package_latest {
|
||||
$idiokit_package = $::idiokit_package_latest
|
||||
} else {
|
||||
file { "/var/lib/ah2":
|
||||
ensure => directory,
|
||||
mode => "2770",
|
||||
owner => "abusehel",
|
||||
group => "abusehel",
|
||||
require => User["abusehel"],
|
||||
}
|
||||
fail('Must define $idiokit_package or $idiokit_package_latest')
|
||||
}
|
||||
}
|
||||
|
||||
file { "/var/lib/ah2/.profile":
|
||||
ensure => present,
|
||||
mode => "0600",
|
||||
owner => "abusehel",
|
||||
group => "abusehel",
|
||||
content => "umask 007\n",
|
||||
require => File["/var/lib/ah2"],
|
||||
}
|
||||
file { '/usr/local/src/abusehelper.tar.gz':
|
||||
ensure => present,
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => $::operatingsystem ? {
|
||||
'openbsd' => 'wheel',
|
||||
default => 'root',
|
||||
},
|
||||
source => "puppet:///files/packages/${abusehelper_package}",
|
||||
}
|
||||
util::extract::tar { '/usr/local/src/abusehelper':
|
||||
ensure => latest,
|
||||
strip => '1',
|
||||
source => '/usr/local/src/abusehelper.tar.gz',
|
||||
require => File['/usr/local/src/abusehelper.tar.gz'],
|
||||
before => Python::Setup::Install['/usr/local/src/abusehelper'],
|
||||
}
|
||||
|
||||
if $abusehelper_botnets {
|
||||
class { "abusehelper::init":
|
||||
botnets => $abusehelper_botnets,
|
||||
}
|
||||
file { '/usr/local/src/idiokit.tar.gz':
|
||||
ensure => present,
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => $::operatingsystem ? {
|
||||
'openbsd' => 'wheel',
|
||||
default => 'root',
|
||||
},
|
||||
source => "puppet:///files/packages/${idiokit_package}",
|
||||
}
|
||||
util::extract::tar { '/usr/local/src/idiokit':
|
||||
ensure => latest,
|
||||
strip => '1',
|
||||
source => '/usr/local/src/idiokit.tar.gz',
|
||||
require => File['/usr/local/src/idiokit.tar.gz'],
|
||||
before => Python::Setup::Install['/usr/local/src/idiokit'],
|
||||
}
|
||||
|
||||
if $::operatingsystem in ['CentOS','RedHat'] and versioncmp($::operatingsystemrelease, '6') < 0 {
|
||||
include python::python26
|
||||
python::setup::install { [
|
||||
'/usr/local/src/abusehelper',
|
||||
'/usr/local/src/idiokit',
|
||||
]:
|
||||
python => 'python2.6',
|
||||
require => Package['python26'],
|
||||
}
|
||||
} else {
|
||||
python::setup::install { [
|
||||
'/usr/local/src/abusehelper',
|
||||
'/usr/local/src/idiokit',
|
||||
]: }
|
||||
}
|
||||
|
||||
include user::system
|
||||
realize(User['abusehel'], Group['abusehel'])
|
||||
|
||||
if $datadir != '/var/lib/ah2' {
|
||||
file { '/var/lib/ah2':
|
||||
ensure => link,
|
||||
target => $datadir,
|
||||
}
|
||||
}
|
||||
|
||||
file { $datadir:
|
||||
ensure => directory,
|
||||
mode => '2770',
|
||||
owner => 'abusehel',
|
||||
group => 'abusehel',
|
||||
}
|
||||
|
||||
file { '/var/lib/ah2/.profile':
|
||||
ensure => present,
|
||||
mode => '0600',
|
||||
owner => 'abusehel',
|
||||
group => 'abusehel',
|
||||
content => "umask 007\n",
|
||||
}
|
||||
|
||||
if $botnets {
|
||||
class { 'abusehelper::init':
|
||||
botnets => $botnets,
|
||||
botuser => $botuser,
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Install abusehelper init script.
|
||||
#
|
||||
class abusehelper::init($botnets, $botuser="abusehel") {
|
||||
class abusehelper::init($botnets, $botuser) {
|
||||
|
||||
file { "/etc/sysconfig/botnet":
|
||||
ensure => present,
|
||||
name => $::operatingsystem ? {
|
||||
"debian" => "/etc/default/botnet",
|
||||
"ubuntu" => "/etc/default/botnet",
|
||||
default => "/etc/sysconfig/botnet",
|
||||
},
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => "root",
|
||||
content => template("abusehelper/botnet.sysconfig.erb"),
|
||||
before => Service["botnet"],
|
||||
}
|
||||
file { '/etc/sysconfig/botnet':
|
||||
ensure => present,
|
||||
name => $::operatingsystem ? {
|
||||
'debian' => '/etc/default/botnet',
|
||||
'ubuntu' => '/etc/default/botnet',
|
||||
default => '/etc/sysconfig/botnet',
|
||||
},
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
content => template('abusehelper/botnet.sysconfig.erb'),
|
||||
before => Service['botnet'],
|
||||
}
|
||||
|
||||
file { "/etc/init.d/botnet":
|
||||
ensure => present,
|
||||
mode => "0755",
|
||||
owner => "root",
|
||||
group => "root",
|
||||
source => "puppet:///modules/abusehelper/botnet.init",
|
||||
notify => Exec["add-service-botnet"],
|
||||
}
|
||||
exec { "add-service-botnet":
|
||||
path => "/bin:/usr/bin:/sbin:/usr/sbin",
|
||||
command => $::operatingsystem ? {
|
||||
"debian" => "update-rc.d botnet defaults",
|
||||
"ubuntu" => "update-rc.d botnet defaults",
|
||||
default => "chkconfig --add botnet",
|
||||
},
|
||||
refreshonly => true,
|
||||
before => Service["botnet"],
|
||||
}
|
||||
file { '/etc/init.d/botnet':
|
||||
ensure => present,
|
||||
mode => '0755',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
source => 'puppet:///modules/abusehelper/botnet.init',
|
||||
notify => Exec['add-service-botnet'],
|
||||
}
|
||||
exec { 'add-service-botnet':
|
||||
path => '/bin:/usr/bin:/sbin:/usr/sbin',
|
||||
command => $::operatingsystem ? {
|
||||
'debian' => 'update-rc.d botnet defaults',
|
||||
'ubuntu' => 'update-rc.d botnet defaults',
|
||||
default => 'chkconfig --add botnet',
|
||||
},
|
||||
refreshonly => true,
|
||||
before => Service['botnet'],
|
||||
}
|
||||
|
||||
service { "botnet":
|
||||
enable => true,
|
||||
}
|
||||
service { 'botnet':
|
||||
enable => true,
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -5,16 +5,23 @@ BRANCH = default
|
|||
SOURCE = https://bitbucket.org/clarifiednetworks/abusesa/get/$(BRANCH).tar.gz
|
||||
TARGET = abusesa-$(BRANCH)-$(TIMESTAMP).tar.gz
|
||||
|
||||
LIVESOURCE = https://bitbucket.org/codenomicon/abusesa-live/get/$(BRANCH).tar.gz
|
||||
LIVETARGET = abusesa-live-$(BRANCH)-$(TIMESTAMP).tar.gz
|
||||
|
||||
PASSIVEDNSSOURCE = https://bitbucket.org/clarifiednetworks/abusesa-passivedns/get/$(BRANCH).tar.gz
|
||||
PASSIVEDNSTARGET = abusesa-passivedns-$(BRANCH)-$(TIMESTAMP).tar.gz
|
||||
|
||||
SEARCHSOURCE = https://bitbucket.org/clarifiednetworks/abusesa-search/get/$(BRANCH).tar.gz
|
||||
SEARCHSOURCE = https://bitbucket.org/codenomicon/abusesa-search/get/$(BRANCH).tar.gz
|
||||
SEARCHTARGET = abusesa-search-$(BRANCH)-$(TIMESTAMP).tar.gz
|
||||
|
||||
all: tarball manifest
|
||||
tarball: $(PACKAGES)/$(TARGET)
|
||||
manifest: $(MANIFESTS)/abusesa.pp
|
||||
|
||||
live: livetarball livemanifest
|
||||
livetarball: $(PACKAGES)/$(LIVETARGET)
|
||||
livemanifest: $(MANIFESTS)/abusesa_live.pp
|
||||
|
||||
passivedns: passivednstarball passivednsmanifest
|
||||
passivednstarball: $(PACKAGES)/$(PASSIVEDNSTARGET)
|
||||
passivednsmanifest: $(MANIFESTS)/abusesa_passivedns.pp
|
||||
|
@ -31,6 +38,14 @@ $(MANIFESTS)/abusesa.pp: $(PACKAGES)/$(TARGET)
|
|||
@umask 022; echo $@; \
|
||||
echo "\$$abusesa_package_latest = '$(TARGET)'"> $@
|
||||
|
||||
$(PACKAGES)/$(LIVETARGET):
|
||||
@umask 022; echo $@; \
|
||||
test -f $@ || curl -f --digest -u $(USER) -o $@ $(LIVESOURCE)
|
||||
|
||||
$(MANIFESTS)/abusesa_live.pp: $(PACKAGES)/$(LIVETARGET)
|
||||
@umask 022; echo $@; \
|
||||
echo "\$$abusesa_live_package_latest = '$(LIVETARGET)'" > $@
|
||||
|
||||
$(PACKAGES)/$(PASSIVEDNSTARGET):
|
||||
@umask 022; echo $@; \
|
||||
test -f $@ || curl -f --digest -u $(USER) -o $@ $(PASSIVEDNSSOURCE)
|
||||
|
|
3
abusesa/files/vsroom-httpd.conf
Normal file
3
abusesa/files/vsroom-httpd.conf
Normal file
|
@ -0,0 +1,3 @@
|
|||
<Directory "/srv/www/https/*/vsroom">
|
||||
AllowOverride All
|
||||
</Directory>
|
|
@ -1,91 +1,88 @@
|
|||
# Install AbuseSA.
|
||||
#
|
||||
# === Global variables
|
||||
# === Parameters
|
||||
#
|
||||
# $abusesa_datadir:
|
||||
# AbuseSA home directory. Defaults to /var/lib/abusesa.
|
||||
# $datadir:
|
||||
# AbuseSA home directory. Defaults to /var/lib/abusesa.
|
||||
#
|
||||
# $abusesa_botnets:
|
||||
# Array of botnet paths to start at boot.
|
||||
# $botnets:
|
||||
# Array of botnet paths to start at boot.
|
||||
#
|
||||
class abusesa {
|
||||
# $botuser:
|
||||
# User to run bots as. Defaults to abusesa.
|
||||
#
|
||||
class abusesa(
|
||||
$datadir='/var/lib/abusesa',
|
||||
$botnets=undef,
|
||||
$botuser='abusesa',
|
||||
) {
|
||||
|
||||
if ! $abusesa_package {
|
||||
if $::abusesa_package_latest {
|
||||
$abusesa_package = $::abusesa_package_latest
|
||||
} else {
|
||||
fail('Must define $abusesa_package or $abusesa_package_latest')
|
||||
}
|
||||
}
|
||||
|
||||
include user::system
|
||||
realize(User["abusesa"], Group["abusesa"])
|
||||
|
||||
if $abusesa_datadir {
|
||||
file { $abusesa_datadir:
|
||||
ensure => directory,
|
||||
mode => "2770",
|
||||
owner => "abusesa",
|
||||
group => "abusesa",
|
||||
require => User["abusesa"],
|
||||
}
|
||||
file { "/var/lib/abusesa":
|
||||
ensure => link,
|
||||
target => $abusesa_datadir,
|
||||
require => File[$abusesa_datadir],
|
||||
}
|
||||
if ! $abusesa_package {
|
||||
if $::abusesa_package_latest {
|
||||
$abusesa_package = $::abusesa_package_latest
|
||||
} else {
|
||||
file { "/var/lib/abusesa":
|
||||
ensure => directory,
|
||||
mode => "2770",
|
||||
owner => "abusesa",
|
||||
group => "abusesa",
|
||||
require => User["abusesa"],
|
||||
}
|
||||
fail('Must define $abusesa_package or $abusesa_package_latest')
|
||||
}
|
||||
}
|
||||
|
||||
file { "/var/lib/abusesa/.profile":
|
||||
ensure => present,
|
||||
mode => "0600",
|
||||
owner => "abusesa",
|
||||
group => "abusesa",
|
||||
content => "umask 007\n",
|
||||
require => File["/var/lib/abusesa"],
|
||||
}
|
||||
include user::system
|
||||
realize(User['abusesa'], Group['abusesa'])
|
||||
|
||||
file { "/usr/local/src/abusesa.tar.gz":
|
||||
ensure => present,
|
||||
mode => "0644",
|
||||
owner => "root",
|
||||
group => $::operatingsystem ? {
|
||||
"openbsd" => "wheel",
|
||||
default => "root",
|
||||
},
|
||||
source => "puppet:///files/packages/${abusesa_package}",
|
||||
}
|
||||
util::extract::tar { "/usr/local/src/abusesa":
|
||||
ensure => latest,
|
||||
strip => 1,
|
||||
source => "/usr/local/src/abusesa.tar.gz",
|
||||
require => File["/usr/local/src/abusesa.tar.gz"],
|
||||
before => Python::Setup::Install["/usr/local/src/abusesa"],
|
||||
if $datadir != '/var/lib/abusesa' {
|
||||
file { '/var/lib/abusesa':
|
||||
ensure => link,
|
||||
target => $datadir,
|
||||
}
|
||||
}
|
||||
|
||||
if $::operatingsystem in ["CentOS","RedHat"] and versioncmp($::operatingsystemrelease, "6") < 0 {
|
||||
include python::python26
|
||||
python::setup::install { "/usr/local/src/abusesa":
|
||||
python => "python2.6",
|
||||
require => Package["python26"],
|
||||
}
|
||||
} else {
|
||||
python::setup::install { "/usr/local/src/abusesa": }
|
||||
}
|
||||
file { $datadir:
|
||||
ensure => directory,
|
||||
mode => '2770',
|
||||
owner => 'abusesa',
|
||||
group => 'abusesa',
|
||||
}
|
||||
|
||||
if $abusesa_botnets {
|
||||
class { "abusehelper::init":
|
||||
botnets => $abusesa_botnets,
|
||||
botuser => "abusesa",
|
||||
}
|
||||
file { '/var/lib/abusesa/.profile':
|
||||
ensure => present,
|
||||
mode => '0600',
|
||||
owner => 'abusesa',
|
||||
group => 'abusesa',
|
||||
content => "umask 007\n",
|
||||
}
|
||||
|
||||
file { '/usr/local/src/abusesa.tar.gz':
|
||||
ensure => present,
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => $::operatingsystem ? {
|
||||
'openbsd' => 'wheel',
|
||||
default => 'root',
|
||||
},
|
||||
source => "puppet:///files/packages/${abusesa_package}",
|
||||
}
|
||||
util::extract::tar { '/usr/local/src/abusesa':
|
||||
ensure => latest,
|
||||
strip => '1',
|
||||
source => '/usr/local/src/abusesa.tar.gz',
|
||||
require => File['/usr/local/src/abusesa.tar.gz'],
|
||||
before => Python::Setup::Install['/usr/local/src/abusesa'],
|
||||
}
|
||||
|
||||
if $::operatingsystem in ['CentOS','RedHat'] and versioncmp($::operatingsystemrelease, '6') < 0 {
|
||||
include python::python26
|
||||
python::setup::install { '/usr/local/src/abusesa':
|
||||
python => 'python2.6',
|
||||
require => Package['python26'],
|
||||
}
|
||||
} else {
|
||||
python::setup::install { '/usr/local/src/abusesa': }
|
||||
}
|
||||
|
||||
if $botnets {
|
||||
class { 'abusehelper::init':
|
||||
botnets => $botnets,
|
||||
botuser => $botuser,
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
117
abusesa/manifests/live.pp
Normal file
117
abusesa/manifests/live.pp
Normal file
|
@ -0,0 +1,117 @@
|
|||
# Install AbuseSA Live.
|
||||
#
|
||||
# === Parameters
|
||||
#
|
||||
# $authurl:
|
||||
# Authentication path. Defaults to '/collab/?action=authcredentials'.
|
||||
#
|
||||
# $boshurl:
|
||||
# XMPP BOSH path. Defaults to '/bosh/'.
|
||||
#
|
||||
# $config:
|
||||
# Source URL of custom config file.
|
||||
#
|
||||
# $webhosts:
|
||||
# List of live virtual hosts.
|
||||
#
|
||||
class abusesa::live(
|
||||
$authurl='/collab/?action=authcredentials',
|
||||
$boshurl='/bosh/',
|
||||
$config=undef,
|
||||
$webhosts=undef,
|
||||
) {
|
||||
|
||||
if ! $abusesa_live_package {
|
||||
if $::abusesa_live_package_latest {
|
||||
$abusesa_live_package = $::abusesa_live_package_latest
|
||||
} else {
|
||||
fail('Must define $abusesa_live_package or $abusesa_live_package_latest')
|
||||
}
|
||||
}
|
||||
|
||||
file { '/usr/local/src/abusesa-live.tar.gz':
|
||||
ensure => present,
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
source => "puppet:///files/packages/${abusesa_live_package}",
|
||||
}
|
||||
util::extract::tar { '/usr/local/src/abusesa-live':
|
||||
ensure => latest,
|
||||
strip => '1',
|
||||
source => '/usr/local/src/abusesa-live.tar.gz',
|
||||
require => File['/usr/local/src/abusesa-live.tar.gz'],
|
||||
}
|
||||
python::setup::install { '/usr/local/src/abusesa-live':
|
||||
require => Util::Extract::Tar['/usr/local/src/abusesa-live'],
|
||||
}
|
||||
|
||||
$htdocs = $::operatingsystem ? {
|
||||
'ubuntu' => '/usr/local/share/abusesa-live/htdocs',
|
||||
default => '/usr/share/abusesa-live/htdocs',
|
||||
}
|
||||
|
||||
if $config {
|
||||
$config_content = undef
|
||||
} else {
|
||||
$config_content = template('abusesa/live/config.json.erb')
|
||||
}
|
||||
|
||||
file { "${htdocs}/config.json":
|
||||
ensure => present,
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
source => $config,
|
||||
content => $config_content,
|
||||
require => Python::Setup::Install['/usr/local/src/abusesa-live'],
|
||||
}
|
||||
|
||||
if $webhosts {
|
||||
apache::configfile { 'vsroom.conf':
|
||||
http => false,
|
||||
source => 'puppet:///modules/abusesa/vsroom-httpd.conf',
|
||||
}
|
||||
|
||||
abusesa::live::configwebhost { $webhosts:
|
||||
htdocs => $htdocs,
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# Enable AbuseSA Live for virtual host.
|
||||
#
|
||||
define abusesa::live::configwebhost($htdocs) {
|
||||
|
||||
if ! defined(File["/srv/www/https/${name}/abusesa"]) {
|
||||
file { "/srv/www/https/${name}/abusesa":
|
||||
ensure => directory,
|
||||
mode => '0755',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
}
|
||||
}
|
||||
|
||||
file { "/srv/www/https/${name}/abusesa/live":
|
||||
ensure => link,
|
||||
target => $htdocs,
|
||||
}
|
||||
|
||||
file { "/srv/www/https/${name}/vsroom":
|
||||
ensure => directory,
|
||||
force => true,
|
||||
mode => '0755',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
}
|
||||
file { "/srv/www/https/${name}/vsroom/.htaccess":
|
||||
ensure => present,
|
||||
mode => '0644',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
content => "Redirect permanent /vsroom/ /abusesa/live/\n",
|
||||
}
|
||||
|
||||
}
|
|
@ -27,18 +27,16 @@ class abusesa::passivedns(
|
|||
|
||||
if $datadir != '/var/lib/passivedns' {
|
||||
file { '/var/lib/passivedns':
|
||||
ensure => link,
|
||||
target => $datadir,
|
||||
require => File[$datadir],
|
||||
ensure => link,
|
||||
target => $datadir,
|
||||
}
|
||||
}
|
||||
|
||||
file { $datadir:
|
||||
ensure => directory,
|
||||
mode => '2770',
|
||||
owner => 'passdns',
|
||||
group => 'passdns',
|
||||
require => User['passdns'],
|
||||
ensure => directory,
|
||||
mode => '2770',
|
||||
owner => 'passdns',
|
||||
group => 'passdns',
|
||||
}
|
||||
|
||||
file { '/var/lib/passivedns/.profile':
|
||||
|
@ -61,7 +59,7 @@ class abusesa::passivedns(
|
|||
}
|
||||
util::extract::tar { '/usr/local/src/abusesa-passivedns':
|
||||
ensure => latest,
|
||||
strip => 1,
|
||||
strip => '1',
|
||||
source => '/usr/local/src/abusesa-passivedns.tar.gz',
|
||||
require => File['/usr/local/src/abusesa-passivedns.tar.gz'],
|
||||
before => Python::Setup::Install['/usr/local/src/abusesa-passivedns'],
|
||||
|
|
|
@ -2,135 +2,132 @@
|
|||
#
|
||||
# === Parameters
|
||||
#
|
||||
# $plugin:
|
||||
# Analysis plugin file.
|
||||
# $plugin:
|
||||
# Analysis plugin file.
|
||||
#
|
||||
# $solrurl:
|
||||
# URL to sorl.
|
||||
# $solrurl:
|
||||
# URL to sorl.
|
||||
#
|
||||
# $logourl:
|
||||
# Path to logo image.
|
||||
# $logourl:
|
||||
# Path to logo image.
|
||||
#
|
||||
# $cssfile:
|
||||
# Path to css file.
|
||||
# $cssfile:
|
||||
# Path to css file.
|
||||
#
|
||||
# $webhosts:
|
||||
# List of search virtual hosts.
|
||||
# $webhosts:
|
||||
# List of search virtual hosts.
|
||||
#
|
||||
class abusesa::search(
|
||||
$plugin="solr-4.10.2-analysis-codenomicon.jar",
|
||||
$solrurl="https://${::homename}/solr/generic/",
|
||||
$logourl="img/Codenomicon_logo_small.png",
|
||||
$cssfile="css/code.css",
|
||||
$webhosts=undef,
|
||||
$plugin='solr-4.10.2-analysis-codenomicon.jar',
|
||||
$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')
|
||||
}
|
||||
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}",
|
||||
}
|
||||
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"],
|
||||
}
|
||||
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': }
|
||||
|
||||
package { "python-BeautifulSoup":
|
||||
ensure => installed,
|
||||
name => $::operatingsystem ? {
|
||||
"debian" => "python-beautifulsoup",
|
||||
"ubuntu" => "python-beautifulsoup",
|
||||
default => "python-BeautifulSoup",
|
||||
}
|
||||
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-codenomicon.jar":
|
||||
ensure => present,
|
||||
mode => "0660",
|
||||
owner => "solr",
|
||||
group => "solr",
|
||||
source => "/usr/local/src/abusesa-search/bin/${plugin}",
|
||||
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"],
|
||||
}
|
||||
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 => 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 { '/srv/solr/cores/generic/conf/_rest_managed.json':
|
||||
ensure => present,
|
||||
mode => '0660',
|
||||
owner => 'solr',
|
||||
group => 'solr',
|
||||
before => Service['solr'],
|
||||
}
|
||||
|
||||
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"],
|
||||
}
|
||||
file { '/srv/solr/cores/lib/solr-analysis-codenomicon.jar':
|
||||
ensure => present,
|
||||
mode => '0660',
|
||||
owner => 'solr',
|
||||
group => 'solr',
|
||||
source => "/usr/local/src/abusesa-search/bin/${plugin}",
|
||||
require => 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 => 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 => Util::Extract::Tar['/usr/local/src/abusesa-search'],
|
||||
notify => Service['solr'],
|
||||
}
|
||||
|
||||
if $webhosts {
|
||||
abusesa::search::configwebhost { $webhosts:
|
||||
htdocs => $htdocs,
|
||||
}
|
||||
$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/search/Config.js.erb'),
|
||||
require => Python::Setup::Install['/usr/local/src/abusesa-search'],
|
||||
}
|
||||
|
||||
if $webhosts {
|
||||
abusesa::search::configwebhost { $webhosts:
|
||||
htdocs => $htdocs,
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -139,10 +136,18 @@ class abusesa::search(
|
|||
#
|
||||
define abusesa::search::configwebhost($htdocs) {
|
||||
|
||||
file { "/srv/www/https/${name}/search":
|
||||
ensure => link,
|
||||
target => $htdocs,
|
||||
require => File["/srv/www/https/${name}"],
|
||||
if ! defined(File["/srv/www/https/${name}/abusesa"]) {
|
||||
file { "/srv/www/https/${name}/abusesa":
|
||||
ensure => directory,
|
||||
mode => '0755',
|
||||
owner => 'root',
|
||||
group => 'root',
|
||||
}
|
||||
}
|
||||
|
||||
file { "/srv/www/https/${name}/abusesa/search":
|
||||
ensure => link,
|
||||
target => $htdocs,
|
||||
}
|
||||
|
||||
}
|
||||
|
|
4
abusesa/templates/live/config.json.erb
Normal file
4
abusesa/templates/live/config.json.erb
Normal file
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"authUrl": "<%= @authurl %>",
|
||||
"boshUrl": "<%= @boshurl %>"
|
||||
}
|
6
abusesa/templates/search/Config.js.erb
Normal file
6
abusesa/templates/search/Config.js.erb
Normal file
|
@ -0,0 +1,6 @@
|
|||
var config = {
|
||||
servlet: "select",
|
||||
solrUrl: "<%= @solrurl %>",
|
||||
logoUrl: "<%= @logourl %>",
|
||||
cssFile: "<%= @cssfile %>"
|
||||
};
|
Loading…
Add table
Reference in a new issue