puppet-meetbot/manifests/site.pp

97 lines
2.6 KiB
Puppet

define meetbot::site($nick, $network, $server, $url, $channels, $use_ssl) {
file { "/etc/nginx/sites-available/${name}-meetbot":
ensure => 'present',
content => template("meetbot/nginx.erb"),
replace => 'true',
require => Package[nginx],
notify => Service[nginx]
}
file { "/etc/nginx/sites-enabled/${name}-meetbot":
ensure => link,
target => "/etc/nginx/sites-available/${name}-meetbot",
require => Package[nginx]
}
file { "/var/lib/meetbot/${name}":
ensure => directory,
owner => 'meetbot',
require => File["/var/lib/meetbot"]
}
file { "/var/lib/meetbot/${name}/conf":
ensure => directory,
owner => 'meetbot',
require => File["/var/lib/meetbot/${name}"]
}
file { "/var/lib/meetbot/${name}/data":
ensure => directory,
owner => 'meetbot',
require => File["/var/lib/meetbot/${name}"]
}
file { "/var/lib/meetbot/${name}/data/tmp":
ensure => directory,
owner => 'meetbot',
require => File["/var/lib/meetbot/${name}/data"]
}
file { "/var/lib/meetbot/${name}/backup":
ensure => directory,
owner => 'meetbot',
require => File["/var/lib/meetbot/${name}"]
}
file { "/var/lib/meetbot/${name}/logs":
ensure => directory,
owner => 'meetbot',
require => File["/var/lib/meetbot/${name}"]
}
# set to root/root so meetbot doesn't overwrite
file { "/var/lib/meetbot/${name}.conf":
ensure => present,
content => template("meetbot/supybot.conf.erb"),
owner => 'root',
group => 'root',
require => File["/var/lib/meetbot"],
notify => Service["${name}-meetbot"]
}
file { "/var/lib/meetbot/${name}/ircmeeting":
ensure => directory,
recurse => true,
source => "/tmp/meetbot/ircmeeting",
owner => 'meetbot',
require => File["/var/lib/meetbot/${name}"]
}
file { "/var/lib/meetbot/${name}/ircmeeting/meetingLocalConfig.py":
ensure => present,
content => template("meetbot/meetingLocalConfig.py.erb"),
owner => 'meetbot',
require => File["/var/lib/meetbot/${name}/ircmeeting"],
notify => Service["${name}-meetbot"]
}
# we set this file as root ownership because meetbot overwrites it on shutdown
# this means when puppet changes it and restarts meetbot the file is reset
file { "/etc/init/${name}-meetbot.conf":
ensure => 'present',
content => template("meetbot/upstart.erb"),
replace => 'true',
require => File["/var/lib/meetbot/${name}.conf"],
owner => 'root',
notify => Service["${name}-meetbot"]
}
service { "${name}-meetbot":
provider => upstart,
ensure => running,
require => File["/etc/init/${name}-meetbot.conf"]
}
}