X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Frtc.pp;h=3dfa8b5dcb99ffb5bf4de5b15765264072a3c354;hb=0b90b9722d512bc8e6bc0a90995b3ace1b1b68ed;hp=def41c81c01ab6a9aeff5391dc86c294ec42eb87;hpb=6b4c3f89c833301dbf9e74c1f58ba1b5aa8cf189;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/rtc.pp b/modules/roles/manifests/rtc.pp index def41c81c..3dfa8b5dc 100644 --- a/modules/roles/manifests/rtc.pp +++ b/modules/roles/manifests/rtc.pp @@ -1,39 +1,21 @@ class roles::rtc { - ssl::service { 'www.debian.org': + ssl::service { 'debian.org': + tlsaport => [], + notify => Service['repro'], + key => true, } ssl::service { 'sip-ws.debian.org': + notify => Service['repro'], + key => true, } - concat { '/etc/repro/www.debian.org-chained.crt': - } - concat::fragment { '/etc/ssl/debian/certs/www.debian.org.crt': - target => '/etc/repro/www.debian.org-chained.crt', - source => 'file:///etc/ssl/debian/certs/www.debian.org.crt', - order => 00, - require => File['/etc/ssl/debian/certs/www.debian.org.crt'], - } - concat::fragment { '/etc/ssl/debian/certs/www.debian.org.crt-chain': - target => '/etc/repro/www.debian.org-chained.crt', - source => 'file:///etc/ssl/debian/certs/www.debian.org.crt-chain', - order => 99, - require => File['/etc/ssl/debian/certs/www.debian.org.crt-chain'], - } - - concat { '/etc/repro/sip-ws.debian.org-chained.crt': - } - concat::fragment { '/etc/ssl/debian/certs/sip-ws.debian.org.crt': - target => '/etc/repro/sip-ws.debian.org-chained.crt', - source => 'file:///etc/ssl/debian/certs/sip-ws.debian.org.crt', - order => 00, - require => File['/etc/ssl/debian/certs/sip-ws.debian.org.crt'], - } - concat::fragment { '/etc/ssl/debian/certs/sip-ws.debian.org.crt-chain': - target => '/etc/repro/sip-ws.debian.org-chained.crt', - source => 'file:///etc/ssl/debian/certs/sip-ws.debian.org.crt-chain', - order => 99, - require => File['/etc/ssl/debian/certs/sip-ws.debian.org.crt-chain'], + dnsextras::tlsa_record{ 'tlsa-xmpp': + zone => 'debian.org', + certfile => "/etc/puppet/modules/ssl/files/servicecerts/www.debian.org.crt", + port => [5061, 5222, 5269], + hostname => $::fqdn, } @ferm::rule { 'dsa-xmpp-client-ip4': @@ -107,4 +89,50 @@ class roles::rtc { description => 'RTP streams', rule => 'proto udp dport (49152:65535) ACCEPT' } + + file { '/etc/monit/monit.d/50rtc': + ensure => absent, + } + + service { 'repro': + ensure => running, + } + + package { 'freeradius': + ensure => installed, + } + service { 'freeradius': + ensure => running, + } + $radius_password = hkdf('/etc/puppet/secret', "rtc-${::hostname}-radius-password") + file { '/etc/freeradius/3.0/sites-available/rtc.debian.org': + content => template('roles/rtc/freeradius-rtc.erb'), + mode => '0440', + group => freerad, + } + file { '/etc/freeradius/3.0/sites-enabled/rtc.debian.org': + ensure => link, + target => '../sites-available/rtc.debian.org', + } + file { '/etc/freeradius/3.0/mods-available/passwd_rtc': + source => 'puppet:///modules/roles/rtc/freeradius-mod-passwd-rtc', + mode => '0440', + group => freerad, + } + file { '/etc/freeradius/3.0/mods-enabled/passwd_rtc': + ensure => link, + target => '../mods-available/passwd_rtc', + } + file { '/etc/repro/radius-servers': + content => inline_template('localhost/localhost <%= @radius_password %>'), + mode => '0440', + group => repro, + notify => Service['repro'], + } + file { '/etc/freeradius/3.0/sites-enabled/default': + ensure => absent, + } + file { '/etc/freeradius/3.0/sites-enabled/inner-tunnel': + ensure => absent, + } }