Load named::geodns from roles/manifests/init.pp based on hiera instead of from site...
[mirror/dsa-puppet.git] / modules / roles / manifests / init.pp
index dec4470..51f9be5 100644 (file)
@@ -17,11 +17,7 @@ class roles {
        }
 
        if has_role('nagiosmaster') {
-       #       include nagios::server
-               ssl::service { 'nagios.debian.org':
-                       notify  => Exec['service apache2 reload'],
-                       key => true,
-               }
+               include nagios::server
        }
 
        # XXX: turn this into a real role
@@ -43,8 +39,13 @@ class roles {
                        notify  => Exec['service apache2 reload'],
                        key => true,
                }
+               @ferm::rule { 'dsa-bugs-abusers':
+                       prio    => "005",
+                       rule    => "saddr (220.243.135/24 220.243.136/24) DROP",
+               }
        }
        if has_role('bugs_master') {
+               ssl::service { 'bugs-devel.debian.org': notify  => Exec['service apache2 reload'], key => true, }
                ssl::service { 'bugs-master.debian.org': notify  => Exec['service apache2 reload'], key => true, }
        }
 
@@ -70,9 +71,6 @@ class roles {
        if has_role('debian_mirror') {
                include roles::debian_mirror
        }
-       if has_role('ftp.d.o') {
-               include roles::ftp
-       }
        if has_role('ftp_master') {
                include roles::ftp_master
                include roles::dakmaster
@@ -84,6 +82,9 @@ class roles {
        if has_role('ssh.upload.d.o') {
                include roles::ssh_upload
        }
+       if has_role('security_upload') {
+               include roles::security_upload
+       }
        if has_role('api.ftp-master') {
                ssl::service { 'api.ftp-master.debian.org':
                        notify  => Exec['service apache2 reload'],
@@ -96,6 +97,7 @@ class roles {
                include roles::security_master
                include roles::dakmaster
        }
+
        if has_role('security_mirror') {
                include roles::security_mirror
        }
@@ -159,6 +161,10 @@ class roles {
                include named::primary
        }
 
+       if has_role('dns_geo') {
+               include named::geodns
+       }
+
        if has_role('weblog_destination') {
                include roles::weblog_destination
        }
@@ -243,7 +249,23 @@ class roles {
        }
 
        if has_role('gobby_debian_org') {
-               ssl::service { 'gobby.debian.org': notify  => Exec['service apache2 reload'], key => true, tlsaport => [443, 6523], }
+               ssl::service { 'gobby.debian.org':
+                       notify  => [ Exec['service apache2 reload'], Exec['reload gobby'] ],
+                       key => true,
+                       tlsaport => [443, 6523],
+               }
+               file { '/etc/ssl/debian-local/other-keys/gobby.debian.org.key':
+                       ensure => present,
+                       mode => '0440',
+                       group => 'gobby',
+                       content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.letsencrypt_dir"]) + "/gobby.debian.org.key") %>'),
+                       links => follow,
+                       notify => Exec['reload gobby'],
+               }
+               exec { 'reload gobby':
+                       command => 'pkill -u gobby -HUP -x infinoted',
+                       refreshonly => true,
+               }
        }
 
        if has_role('search_backend') {
@@ -260,10 +282,18 @@ class roles {
                include roles::dgit_git
        }
 
-       if $::hostname in [lw01, lw02, lw03, lw04] {
+       if $::hostname in [lw01, lw02, lw03, lw04, lw09, lw10] {
                include roles::snapshot
        }
 
+       if has_role('snapshot_web') {
+               include roles::snapshot_web
+       }
+
+       if has_role('snapshot_shell') {
+               include roles::snapshot_shell
+       }
+
        if has_role('veyepar.debian.org') {
                ssl::service { 'veyepar.debian.org': notify  => Exec['service apache2 reload'], key => true, }
        }
@@ -275,6 +305,9 @@ class roles {
                include roles::debtags
        }
 
+       if has_role('planet_master') {
+               include roles::planet_master
+       }
        if has_role('planet_search') {
                ssl::service { 'planet-search.debian.org': notify  => Exec['service apache2 reload'], key => true, }
        }
@@ -314,7 +347,7 @@ class roles {
        }
 
        if has_role('postgresql_server') {
-               include roles::postgresql_server
+               include postgres::backup_source
        }
 
        if has_role('bacula_director') {
@@ -326,4 +359,40 @@ class roles {
        if has_role('bacula_storage') {
                include bacula::storage
        }
+
+       if has_role('salsa.debian.org') {
+               include salsa
+       }
+
+       if $::keyring_debian_org_mirror {
+               include roles::keyring_debian_org_mirror
+       }
+
+       if has_role('popcon') {
+               include roles::popcon
+       }
+
+       if has_role('debsources') {
+               include roles::debsources
+       }
+
+       if has_role('ipsec') {
+               include ipsec
+       }
+
+       if has_role('debconf_wafer') {
+               include roles::debconf_wafer
+       }
+
+       if has_role('cdbuilder_local_mirror') {
+               include roles::cdbuilder_local_mirror
+       }
+
+       if has_role('alioth_archive') {
+               include roles::alioth_archive
+       }
+       if has_role('anonscm') {
+               include roles::anonscm
+       }
+
 }