Merge remote-tracking branch 'gfa/gfa/prosody'
[mirror/dsa-puppet.git] / modules / profile / manifests / prosody.pp
1 # Please contact the RTC team about this service at debian-rtc-team@alioth-lists.debian.net
2 #
3
4 class profile::prosody {
5
6   class { 'prosody':
7     user              => 'prosody',
8     group             => 'prosody',
9     use_libevent      => false,
10     daemonize         => true,
11     s2s_secure_auth   => false,
12     package_name      => 'prosody-modules',
13     ssl_custom_config => false,
14     log_sinks         => [],
15     log_advanced      => {
16       'error' => 'syslog',
17     },
18     authentication    => 'ha1',
19     custom_options    => {
20       'auth_ha1_file'     => '/var/local/rtc-passwords.prosody',
21       'auth_ha1_use_ha1b' => true,
22       'auth_ha1_realm'    => 'rtc.debian.org',
23     },
24     # we override whatever the module decides as a base
25     modules_base      => [
26       'roster', 'saslauth', 'tls', 'dialback', 'disco', 'posix', 'private',
27       'vcard', 'version', 'uptime', 'time', 'ping', 'pep', 'register',
28     ],
29     # and add the modules we want on top
30     modules           => [
31       'admin_adhoc', 'blocking',  'carbons', 'carbons_adhoc',
32       'cloud_notify', 'csi', 'filter_chatstates', 'http',
33       'http_upload', 'mam', 'smacks',  'smaks', 'throttle_presence',
34     ],
35   }
36
37   -> prosody::virtualhost {
38     'debian.org':
39       ensure     => present,
40       ssl_key    => '/etc/ssl/private/debian.org.key',
41       ssl_cert   => '/etc/ssl/debian/certs/debian.org.crt-chained',
42       ssl_copy   => false,
43       components => {
44         'conference.debian.org' => {
45           'type' => 'muc',
46         }
47       }
48   }
49
50   -> posix_acl { '/etc/prosody/prosody.cfg.lua':
51     action     => exact,
52     recursive  => false,
53     provider   => posixacl,
54     permission => [
55       'user::rw',
56       'group::r',
57       'group:debvoip:rw',
58       'group:prosody:r',
59       'mask::r',
60       'other::',
61     ],
62   }
63
64   -> posix_acl { '/etc/prosody/conf.avail/debian.org.cfg.lua':
65     action     => exact,
66     recursive  => false,
67     provider   => posixacl,
68     permission => [
69       'user::rw',
70       'group::r',
71       'group:debvoip:rw',
72       'group:prosody:r',
73       'mask::r',
74       'other::',
75     ],
76   }
77
78 }