class roles::security_master {
+ include roles::dakmaster
- $bind = $::hostname ? {
- default => '',
- }
+ ssl::service { 'security-master.debian.org':
+ notify => Exec['service apache2 reload'],
+ key => true,
+ tlsaport => [443, 1873],
+ }
- $bind6 = $::hostname ? {
- default => '',
- }
+ rsync::site { 'security_master':
+ source => 'puppet:///modules/roles/security_master/rsyncd.conf',
+ # Needs to be at least twice the number of direct mirrors (currently 15) plus some spare
+ max_clients => 50,
+ sslname => 'security-master.debian.org',
+ }
- $logfile = '/var/log/ftp/vsftpd-security-master.debian.org.log'
-
- vsftpd::site { 'security':
- content => template('roles/security_master/vsftpd.conf.erb'),
- logfile => $logfile,
- bind => $bind,
- }
-
- if $bind6 {
- vsftpd::site { 'security-v6':
- content => template('roles/security_master/vsftpd.conf.erb'),
- logfile => $logfile,
- bind => $bind6,
- }
- }
+ # export ssh allow rules for hosts that we should be able to access
+ @@ferm::rule::simple { "dsa-ssh-from-security_master-${::fqdn}":
+ tag => 'ssh::server::from::security_master',
+ description => 'Allow ssh access from security_master',
+ port => '22',
+ saddr => $base::public_addresses,
+ }
}