hiera -> hiera role; explicitly include apache2
[mirror/dsa-puppet.git] / modules / roles / manifests / init.pp
index c9e716d..948127f 100644 (file)
@@ -7,85 +7,56 @@
 #   include roles
 #
 class roles {
-
-       if has_role('puppetmaster') {
-               include puppetmaster
-       }
-
        if has_role('muninmaster') {
                include munin::master
        }
 
        if has_role('nagiosmaster') {
-       #       include nagios::server
-               ssl::service { 'nagios.debian.org':
-                       notify  => Exec['service apache2 reload'],
-                       key => true,
-               }
-       }
-
-       # XXX: turn this into a real role
-       if getfromhash($site::nodeinfo, 'buildd') {
-               include buildd
+               include nagios::server
        }
 
-       # XXX: turn this into a real role
-       if getfromhash($site::nodeinfo, 'porterbox') {
-               include porterbox
+       if has_role('manpages-dyn') {
+               include roles::manpages_dyn
        }
 
-       if has_role('archive_master') {
-               include archive_master
+       # archive.debian.org
+       if has_role('historical_mirror') {
+               include roles::historical_mirror
        }
 
-       if has_role('bugs_mirror') {
-               include roles::bugs_mirror
+       # debug archive
+       if has_role('debug_mirror') {
+               include roles::debug_mirror
        }
 
-       if has_role('bugs_base') {
-               ssl::service { 'bugs.debian.org':
-                       notify  => Exec['service apache2 reload'],
-                       key => true,
-               }
-       }
-       if has_role('bugs_master') {
-               ssl::service { 'bugs-master.debian.org': notify  => Exec['service apache2 reload'], key => true, }
+       # ftp.debian.org and its ecosystem
+       if has_role('debian_mirror') {
+               include roles::debian_mirror
        }
-
        if has_role('ftp_master') {
                include roles::ftp_master
                include roles::dakmaster
+               include roles::signing
        }
-
-       if has_role('api.ftp-master') {
-               ssl::service { 'api.ftp-master.debian.org':
-                       notify  => Exec['service apache2 reload'],
-                       key => true,
-               }
-       }
-
-       if has_role('manpages') {
-               ssl::service { 'dyn.manpages.debian.org': notify  => Exec['service apache2 reload'], key => true, }
-       }
-
-       if has_role('security_mirror') {
-               include roles::security_mirror
-       }
-       if has_role('debug_mirror') {
-               include roles::debug_mirror
-       }
-
-       if has_role('ftp.d.o') {
-               include roles::ftp
-       }
-
        if has_role('ftp.upload.d.o') {
                include roles::ftp_upload
        }
-
        if has_role('ssh.upload.d.o') {
                include roles::ssh_upload
        }
+       if has_role('security_upload') {
+               include roles::security_upload
+       }
+       #
+       # security.debian.org
+       if has_role('security_master') {
+               include roles::security_master
+               include roles::dakmaster
+       }
+
+       if has_role('security_mirror') {
+               include roles::security_mirror
+       }
 
        if has_role('git_master') {
                include roles::git_master
@@ -96,11 +67,6 @@ class roles {
                onion::service { 'people.debian.org': port => 80, target_address => 'people.debian.org', target_port => 80, direct => true }
        }
 
-       if has_role('security_master') {
-               include roles::security_master
-               include roles::dakmaster
-       }
-
        if has_role('www_master') {
                include roles::www_master
        }
@@ -109,10 +75,6 @@ class roles {
                ssl::service { 'cgi.debian.org': notify  => Exec['service apache2 reload'], key => true, }
        }
 
-       if has_role('keyring') {
-               include roles::keyring
-       }
-
        if has_role('wiki') {
                include roles::wiki
        }
@@ -121,20 +83,6 @@ class roles {
                include roles::syncproxy
        }
 
-       if has_role('static_master') {
-               include roles::static_master
-       }
-
-       if has_role('static_mirror') {
-               include roles::static_mirror
-       } elsif has_role('static_source') {
-               include roles::static_source
-       }
-
-       if has_role('weblog_provider') {
-               include roles::weblog_provider
-       }
-
        if has_role('mailrelay') {
                include roles::mailrelay
        }
@@ -143,34 +91,18 @@ class roles {
                include roles::pubsub
        }
 
-       if has_role('dbmaster') {
-               include roles::dbmaster
-       }
-
        if has_role('dns_primary') {
-               include named::primary
-       }
-
-       if has_role('weblog_destination') {
-               include roles::weblog_destination
+               include roles::dns_primary
        }
 
-       if has_role('vote') {
-               include roles::vote
+       if has_role('dns_geo') {
+               include roles::dns_geodns
        }
 
        if has_role('security_tracker') {
                include roles::security_tracker
        }
 
-       if has_role('lists') {
-               include roles::lists
-       }
-
-       if has_role('list_search') {
-               include roles::listsearch
-       }
-
        if has_role('rtmaster') {
                include roles::rtmaster
        }
@@ -187,18 +119,6 @@ class roles {
                include roles::sso_rp
        }
 
-       if has_role('tracker') {
-               include roles::tracker
-       }
-
-       if has_role('buildd_master') {
-               include roles::buildd_master
-       }
-
-       if has_role('piuparts') {
-               include roles::piuparts
-       }
-
        if has_role('contributors') {
                include roles::contributors
        }
@@ -207,25 +127,6 @@ class roles {
                include roles::nm
        }
 
-       if has_role('rtc') {
-               include roles::rtc
-       }
-
-       if has_role('jenkins') {
-               include roles::jenkins
-       }
-
-       if has_role('keystone') {
-               include roles::keystone
-       }
-       if has_role('keystone_rabbitmq') {
-               include roles::keystone::rabbitmq
-       }
-
-       if has_role('memcached') {
-               include roles::memcached
-       }
-
        if has_role('postgres_backup_server') {
                include postgres::backup_server
        }
@@ -234,6 +135,10 @@ class roles {
                ssl::service { 'packages.debian.org': notify  => Exec['service apache2 reload'], key => true, }
        }
 
+       if has_role('historicalpackages') {
+               ssl::service { 'historical.packages.debian.org': notify  => Exec['service apache2 reload'], key => true, }
+       }
+
        if has_role('qamaster') {
                ssl::service { 'qa.debian.org': notify  => Exec['service apache2 reload'], key => true, }
        }
@@ -243,42 +148,58 @@ 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') {
-               include search_backend
+               include roles::search_backend
        }
        if has_role('search_frontend') {
-               include search_frontend
+               include roles::search_frontend
        }
 
        if has_role('dgit_browse') {
-               include dgit_browse
+               include roles::dgit_browse
        }
        if has_role('dgit_git') {
-               include dgit_git
+               include roles::dgit_git
        }
 
-       if $::hostname in [lw01, lw02, lw03, lw04] {
-               include snapshot
+       if $::hostname in [lw01, lw02, lw03, lw04, lw09, lw10] {
+               include roles::snapshot
        }
 
-       if has_role('veyepar.debian.org') {
-               ssl::service { 'veyepar.debian.org': notify  => Exec['service apache2 reload'], key => true, }
-       }
-       if has_role('sreview.debian.org') {
-               ssl::service { 'sreview.debian.net': notify  => Exec['service apache2 reload'], key => true, }
+       if has_role('snapshot_web') {
+               include roles::snapshot_web
        }
 
-       if has_role('httpredir') {
-               include roles::httpredir
+       if has_role('snapshot_shell') {
+               include roles::snapshot_shell
        }
 
        if has_role('debtags') {
                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, }
        }
@@ -300,17 +221,46 @@ class roles {
                ssl::service { 'pet-devel.debian.net': notify  => Exec['service apache2 reload'], key => true, }
        }
 
-       if has_role('ports-master') {
-               include roles::ports-master
+       if has_role('ports_master') {
+               include roles::ports_master
        }
        if has_role('ports_mirror') {
                include roles::ports_mirror
        }
 
-       if $::hostname in [klecker] {
-               onion::service { 'ftp.debian.org': port => 80, target_address => '130.89.148.12', target_port => 81, }
-       }
        if has_role('onionbalance') {
                include onion::balance
        }
+       if has_role('bgp') {
+               include roles::bgp
+       }
+       if has_role('cdimage-search') {
+               include roles::cdimage_search
+       }
+
+       if has_role('postgresql_server') {
+               include postgres::backup_source
+       }
+
+       if has_role('bacula_director') {
+               include bacula::director
+       } else {
+               package { 'bacula-console': ensure => purged; }
+               file { '/etc/bacula/bconsole.conf': ensure => absent; }
+       }
+       if has_role('bacula_storage') {
+               include bacula::storage
+       }
+
+       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
+       }
 }