Initial version of vsroom module

This commit is contained in:
Ossi Salmi 2011-04-06 11:25:19 +03:00 committed by Timo Mkinen
parent 7788d804c6
commit 7627783dfb
2 changed files with 85 additions and 0 deletions

12
vsroom/Makefile Normal file
View file

@ -0,0 +1,12 @@
VSROOM = tip
VSROOMURL = https://bitbucket.org/clarifiednetworks/vsroom/get/$(VSROOM).tar.gz
OUT = /srv/puppet/files/common/packages
all: tarball
tarball: vsroom.tar.gz
.PHONY: vsroom.tar.gz
vsroom.tar.gz:
@umask 022 && mkdir -p $(OUT)/vsroom && \
cd $(OUT)/vsroom && wget -nv -N $(VSROOMURL) && \
cd $(OUT) && ln -fs vsroom/$(VSROOM).tar.gz vsroom.tar.gz

73
vsroom/manifests/init.pp Normal file
View file

@ -0,0 +1,73 @@
# Install vsroom.
#
class vsroom {
require abusehelper
file { "/usr/local/src/vsroom.tar.gz":
ensure => present,
mode => 0644,
owner => root,
group => root,
source => "puppet:///files/packages/vsroom.tar.gz",
links => follow,
}
util::extract::tar { "/usr/local/src/vsroom":
strip => 1,
source => "/usr/local/src/vsroom.tar.gz",
require => File["/usr/local/src/vsroom.tar.gz"],
before => Python::Setup::Install["/usr/local/src/vsroom"],
}
python::setup::install { "/usr/local/src/vsroom":
python => $operatingsystem ? {
centos => "python2.6",
default => "python",
},
require => $operatingsystem ? {
centos => Package["python26"],
default => undef,
},
}
file { "/usr/local/bin/vsroomctl":
ensure => present,
mode => 0755,
owner => root,
group => root,
source => "/usr/local/src/vsroom/contrib/vsroomctl/vsroomctl",
require => Util::Extract::Tar["/usr/local/src/vsroom"],
}
file { "/usr/local/bin/vsroompasswd":
ensure => present,
mode => 0755,
owner => root,
group => root,
source => "/usr/local/src/vsroom/contrib/vsroompasswd/vsroompasswd",
require => Util::Extract::Tar["/usr/local/src/vsroom"],
}
include user::system
realize(User["vsroom"], Group["vsroom"])
if $vsroom_datadir {
file { "${vsroom_datadir}":
ensure => directory,
mode => 0755,
owner => root,
group => root,
}
file { "/var/lib/vsroom":
ensure => link,
target => "${vsroom_datadir}",
require => File["${vsroom_datadir}"],
}
} else {
file { "/var/lib/vsroom":
ensure => directory,
mode => 0755,
owner => root,
group => root,
}
}
}