From afade3b215bc5c10fdbf30a5d8b6d97e87302aaa Mon Sep 17 00:00:00 2001 From: Silvio Rhatto Date: Sat, 28 Jan 2012 14:09:30 -0200 Subject: Initial import --- manifests/init.pp | 72 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 manifests/init.pp (limited to 'manifests/init.pp') diff --git a/manifests/init.pp b/manifests/init.pp new file mode 100644 index 0000000..3e50670 --- /dev/null +++ b/manifests/init.pp @@ -0,0 +1,72 @@ +# Based on https://wiki.koumbit.net/QwebIrc +class qwebirc($ircserver = 'irc.myserver.com', $ircport = '6667', $realname = 'http://moo.com/', + $webirc_mode = 'None', $base_url = 'http://foo.foo.org/', $network_name = 'FooNet', + $sslport = false) { + + package { [ 'python-twisted', 'python-openssl', 'python-simplejson', 'mercurial' ]: + ensure => present, + } + + group { "qwebirc": + ensure => present, + allowdupe => false, + } + + user { "qwebirc": + ensure => present, + allowdupe => false, + gid => 'qwebirc', + require => Group['qwebirc'], + } + + file { '/etc/init.d/qwebirc': + ensure => present, + owner => root, + group => root, + mode => 0755, + source => 'puppet:///modules/qwebirc/qwebirc-init.d.sh', + require => Vcsrepo['/var/lib/qwebirc'], + } + + vcsrepo { "/var/lib/qwebirc": + ensure => present, + provider => hg, + source => 'https://bitbucket.org/qwebirc/qwebirc', + revision => '19d6068a1aa6', + owner => 'qwebirc', + group => 'qwebirc', + require => [ User['qwebirc'], Group['qwebirc'], Package['mercurial'] ], + notify => Service['qwebirc'], + } + + file { '/var/lib/qwebirc/config.py': + ensure => present, + owner => 'qwebirc', + group => 'qwebirc', + mode => 0640, + content => template('qwebirc/config.py.erb'), + require => Vcsrepo['/var/lib/qwebirc'], + notify => Service['qwebirc'], + } + + # See http://hg.qwebirc.org/qwebirc/issue/152/ssl + file { '/var/lib/qwebirc/qwebirc/ircclient.py': + ensure => present, + owner => 'qwebirc', + group => 'qwebirc', + mode => 0640, + source => 'puppet:///modules/qwebirc/ircclient-ssl.py', + require => Vcsrepo['/var/lib/qwebirc'], + notify => Service['qwebirc'], + } + + service { 'qwebirc': + enable => true, + ensure => running, + hasrestart => true, + hasstatus => true, + require => [ File['/etc/init.d/qwebirc', '/var/lib/qwebirc/config.py', + '/var/lib/qwebirc/qwebirc/ircclient.py'], + Package['python-twisted'] ], + } +} -- cgit v1.2.3