X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Frtc.pp;h=3e9799d50e37d95a4b254b6b5e0650cadef52fc9;hb=11666986754b1c1ff8dae5b5cd47a070dc757e71;hp=c5e9da3d796de1496a014be6911ada5788c4a257;hpb=289edda356da398ff1edb2487b3c6198eb774c00;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/rtc.pp b/modules/roles/manifests/rtc.pp index c5e9da3d7..3e9799d50 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': @@ -109,7 +91,54 @@ class roles::rtc { } file { '/etc/monit/monit.d/50rtc': - source => 'puppet:///modules/roles/rtc/monit', - mode => '0440' + ensure => absent, + } + + service { 'repro': + ensure => running, + } + systemd::override { 'repro': + content => @("EOF"), + [Unit] + After=network-online.target + | EOF + } + + 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, } }