puppet/vsroom/manifests/init.pp
2011-04-17 19:23:20 +03:00

81 lines
2.2 KiB
Puppet

# 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,
}
}
file { "/var/lib/vsroom/.htpasswd":
ensure => present,
mode => 0640,
owner => root,
group => $apache::sslserver::group,
require => File["/var/lib/vsroom"],
}
}