diff --git a/abusesa/Makefile b/abusesa/Makefile new file mode 100644 index 0000000..588606e --- /dev/null +++ b/abusesa/Makefile @@ -0,0 +1,17 @@ +include $(CURDIR)/../Makefile.inc + +BRANCH = default +SOURCE = https://bitbucket.org/clarifiednetworks/abusesa/get/$(BRANCH).tar.gz +TARGET = abusesa-$(BRANCH)-$(TIMESTAMP).tar.gz + +all: tarball manifest +tarball: $(PACKAGES)/$(TARGET) +manifest: $(MANIFESTS)/abusesa.pp + +$(PACKAGES)/$(TARGET): + @umask 022; echo $@; \ + test -f $@ || curl --digest -u $(USER) -o $@ $(SOURCE) + +$(MANIFESTS)/abusesa.pp: $(PACKAGES)/$(TARGET) + @umask 022; echo $@; \ + echo '$$abusesa_package_latest = "$(TARGET)"' > $@ diff --git a/abusesa/manifests/init.pp b/abusesa/manifests/init.pp new file mode 100644 index 0000000..da0f383 --- /dev/null +++ b/abusesa/manifests/init.pp @@ -0,0 +1,48 @@ +# Install AbuseSA. +# +class abusesa { + + case $::operatingsystem { + "centos","redhat": { + case $::operatingsystemrelease { + /^5/: { + package { "python26": + ensure => installed, + } + Python::Setup::Install["/usr/local/src/abusesa"] { + python => "python2.6", + require => Package["python26"], + } + } + } + } + } + + if !$abusesa_package { + if $abusesa_package_latest { + $abusesa_package = $abusesa_package_latest + } else { + fail("Must define \$abusesa_package or \$abusesa_package_latest") + } + } + + 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"], + } + python::setup::install { "/usr/local/src/abusesa": } + +}