try to rolify dns
[mirror/dsa-puppet.git] / modules / roles / manifests / init.pp
index 331aa11..21559a8 100644 (file)
@@ -1,6 +1,8 @@
 class roles {
 
-       if getfromhash($site::nodeinfo, 'puppetmaster') {
+       $roles = hiera('roles')
+
+       if $::fqdn in $roles['puppetmaster'] {
                include puppetmaster
        }
 
@@ -8,16 +10,19 @@ class roles {
                include munin::master
        }
 
-       #if getfromhash($site::nodeinfo, 'nagiosmaster') {
+       if getfromhash($site::nodeinfo, 'nagiosmaster') {
        #       include nagios::server
-       #}
+               ssl::service { 'nagios.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
 
        if getfromhash($site::nodeinfo, 'buildd') {
                include buildd
-       } else {
-               class { 'buildd':
-                       ensure => absent
-               }
+       }
+
+       if getfromhash($site::nodeinfo, 'porterbox') {
+               include porterbox
        }
 
        if getfromhash($site::nodeinfo, 'bugs_mirror') {
@@ -37,10 +42,6 @@ class roles {
                include roles::www_mirror
        }
 
-       if getfromhash($site::nodeinfo, 'apache2_backports_mirror') {
-               include roles::backports_mirror
-       }
-
        if getfromhash($site::nodeinfo, 'ftp.d.o') {
                include roles::ftp
        }
@@ -49,11 +50,6 @@ class roles {
                include roles::ftp_upload
        }
 
-       if getfromhash($site::nodeinfo, 'backports_master') {
-               include roles::backports_master
-               include roles::dakmaster
-       }
-
        if getfromhash($site::nodeinfo, 'security_master') {
                include roles::security_master
                include roles::dakmaster
@@ -67,8 +63,12 @@ class roles {
                include roles::keyring
        }
 
-       if getfromhash($site::nodeinfo, 'apache2_ftp-upcoming_mirror') {
-               include roles::ftp-upcoming_mirror
+       if getfromhash($site::nodeinfo, 'wiki') {
+               include roles::wiki
+       }
+
+       if getfromhash($site::nodeinfo, 'syncproxy') {
+               include roles::syncproxy
        }
 
        if getfromhash($site::nodeinfo, 'static_master') {
@@ -80,4 +80,96 @@ class roles {
        } elsif getfromhash($site::nodeinfo, 'static_source') {
                include roles::static_source
        }
+
+       if getfromhash($site::nodeinfo, 'weblog_provider') {
+               include roles::weblog_provider
+       }
+
+       if getfromhash($site::nodeinfo, 'mailrelay') {
+               include roles::mailrelay
+       }
+
+       if getfromhash($site::nodeinfo, 'pubsub') {
+               include roles::pubsub
+       }
+
+       if getfromhash($site::nodeinfo, 'dbmaster') {
+               ssl::service { 'db.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if getfromhash($site::nodeinfo, 'dns_primary') {
+               include named::primary
+       }
+       if getfromhash($site::nodeinfo, 'dns_secondary') {
+               include named::authoritative
+       }
+
+       if $::hostname in [ravel] {
+               include roles::weblog_destination
+       }
+
+       if $::hostname in [vento] {
+               ssl::service { 'vote.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [soler] {
+               ssl::service { 'security-tracker.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [bendel] {
+               ssl::service { 'lists.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [reger] {
+               ssl::service { 'rt.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [diabelli] {
+               ssl::service { 'sso.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [ullmann] {
+               ssl::service { 'udd.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+       
+       if $::hostname in [wuiet] {
+               ssl::service { 'buildd.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [pejacevic] {
+               ssl::service { 'piuparts.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [nono] {
+               ssl::service { 'nm.debian.org':
+                       notify => Service['apache2'],
+               }
+               ssl::service { 'contributors.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
+
+       if $::hostname in [franck] {
+               ssl::service { 'release.debian.org':
+                       notify => Service['apache2'],
+               }
+       }
 }