Start repro only after we are online
[mirror/dsa-puppet.git] / modules / roles / manifests / rtc.pp
index 0456075..3e9799d 100644 (file)
@@ -1,9 +1,14 @@
 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':
@@ -88,4 +93,52 @@ class roles::rtc {
        file { '/etc/monit/monit.d/50rtc':
                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,
+       }
 }