3 # Setup for machines used by the RTC Team
11 include profile::prosody
13 ssl::service { 'debian.org':
15 notify => Service['repro', 'prosody'],
19 ssl::service { 'sip-ws.debian.org':
20 notify => Service['repro'],
24 dnsextras::tlsa_record{ 'tlsa-xmpp':
26 certfile => '/etc/puppet/modules/ssl/files/servicecerts/www.debian.org.crt',
27 port => [5061, 5222, 5269],
31 ferm::rule { 'dsa-xmpp-client-ip4':
33 description => 'XMPP connections (client to server)',
34 rule => 'proto tcp dport (5222) ACCEPT'
36 ferm::rule { 'dsa-xmpp-client-ip6':
38 description => 'XMPP connections (client to server)',
39 rule => 'proto tcp dport (5222) ACCEPT'
41 ferm::rule { 'dsa-xmpp-server-ip4':
43 description => 'XMPP connections (server to server)',
44 rule => 'proto tcp dport (5269) ACCEPT'
46 ferm::rule { 'dsa-xmpp-server-ip6':
48 description => 'XMPP connections (server to server)',
49 rule => 'proto tcp dport (5269) ACCEPT'
52 ferm::rule { 'dsa-sip-ws-ip4':
54 description => 'SIP connections (WebSocket; for WebRTC)',
55 rule => 'proto tcp dport (443) ACCEPT'
57 ferm::rule { 'dsa-sip-ws-ip6':
59 description => 'SIP connections (WebSocket; for WebRTC)',
60 rule => 'proto tcp dport (443) ACCEPT'
62 ferm::rule { 'dsa-sip-tls-ip4':
64 description => 'SIP connections (TLS)',
65 rule => 'proto tcp dport (5061) ACCEPT'
67 ferm::rule { 'dsa-sip-tls-ip6':
69 description => 'SIP connections (TLS)',
70 rule => 'proto tcp dport (5061) ACCEPT'
72 ferm::rule { 'dsa-turn-ip4':
74 description => 'TURN connections',
75 rule => 'proto udp dport (3478) ACCEPT'
77 ferm::rule { 'dsa-turn-ip6':
79 description => 'TURN connections',
80 rule => 'proto udp dport (3478) ACCEPT'
82 ferm::rule { 'dsa-turn-tls-ip4':
84 description => 'TURN connections (TLS)',
85 rule => 'proto tcp dport (5349) ACCEPT'
87 ferm::rule { 'dsa-turn-tls-ip6':
89 description => 'TURN connections (TLS)',
90 rule => 'proto tcp dport (5349) ACCEPT'
92 ferm::rule { 'dsa-rtp-ip4':
94 description => 'RTP streams',
95 rule => 'proto udp dport (49152:65535) ACCEPT'
97 ferm::rule { 'dsa-rtp-ip6':
99 description => 'RTP streams',
100 rule => 'proto udp dport (49152:65535) ACCEPT'
103 file { '/etc/monit/monit.d/50rtc':
110 dsa_systemd::override { 'repro':
113 After=network-online.target
117 package { 'freeradius':
120 service { 'freeradius':
123 $radius_password = hkdf('/etc/puppet/secret', "rtc-${::hostname}-radius-password")
124 file { '/etc/freeradius/3.0/sites-available/rtc.debian.org':
125 content => template('roles/rtc/freeradius-rtc.erb'),
129 file { '/etc/freeradius/3.0/sites-enabled/rtc.debian.org':
131 target => '../sites-available/rtc.debian.org',
133 file { '/etc/freeradius/3.0/mods-available/passwd_rtc':
134 source => 'puppet:///modules/roles/rtc/freeradius-mod-passwd-rtc',
138 file { '/etc/freeradius/3.0/mods-enabled/passwd_rtc':
140 target => '../mods-available/passwd_rtc',
142 file { '/etc/repro/radius-servers':
143 content => inline_template('localhost/localhost <%= @radius_password %>'),
146 notify => Service['repro'],
148 file { '/etc/freeradius/3.0/sites-enabled/default':
151 file { '/etc/freeradius/3.0/sites-enabled/inner-tunnel':