X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Frtc.pp;h=2a6adcd03eb21adc27a561e6e681f57187db9497;hb=236efe8e28f32419ddc5b4445780bd17775adaf3;hp=754367043d9f6cce19d482fcea731aa27eb783b3;hpb=7979d10744f00844e4dcaaefe1a4fa5debf57b3e;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/rtc.pp b/modules/roles/manifests/rtc.pp index 754367043..2a6adcd03 100644 --- a/modules/roles/manifests/rtc.pp +++ b/modules/roles/manifests/rtc.pp @@ -1,9 +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, + } + + 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': @@ -81,4 +93,52 @@ class roles::rtc { file { '/etc/monit/monit.d/50rtc': ensure => absent, } + + service { 'repro': + ensure => running, + } + dsa_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, + } }