X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Finit.pp;h=c0b46e2d8e0c15c6537837eed3b9b19e63932a1e;hb=deeab74647d436893c5bf0833e8f2314643d7c17;hp=137cd75e4da7b839b08172ae00a21e4f35cd4967;hpb=001757dbe641c691acea373e5579a8f7f2e47fe5;p=dsa-puppet.git diff --git a/modules/roles/manifests/init.pp b/modules/roles/manifests/init.pp index 137cd75e..c0b46e2d 100644 --- a/modules/roles/manifests/init.pp +++ b/modules/roles/manifests/init.pp @@ -1,50 +1,269 @@ +# = Class: roles +# +# Lookup role and include relevant classes for roles +# +# == Sample Usage: +# +# include roles +# class roles { - if getfromhash($site::nodeinfo, 'puppetmaster') { + if has_role('puppetmaster') { include puppetmaster } - if getfromhash($site::nodeinfo, 'muninmaster') { + if has_role('muninmaster') { include munin::master } - if getfromhash($site::nodeinfo, 'nagiosmaster') { - include nagios::server + if has_role('nagiosmaster') { + # include nagios::server + ssl::service { 'nagios.debian.org': + notify => Service['apache2'], + } } + # XXX: turn this into a real role if getfromhash($site::nodeinfo, 'buildd') { include buildd } - if $::hostname in [chopin,franck,morricone,bizet] { + # XXX: turn this into a real role + if getfromhash($site::nodeinfo, 'porterbox') { + include porterbox + } + + if has_role('bugs_mirror') { + include roles::bugs_mirror + } + + if has_role('bugs_base') { + ssl::service { 'bugs.debian.org': + notify => Service['apache2'], + } + } + if has_role('bugs_master') { + ssl::service { 'bugs-master.debian.org': + notify => Service['apache2'], + } + } + + if has_role('ftp_master') { + include roles::ftp_master include roles::dakmaster } + if has_role('api.ftp-master') { + ssl::service { 'api.ftp-master.debian.org': + notify => Service['apache2'], + } + } + + # XXX: turn this into a real role if getfromhash($site::nodeinfo, 'apache2_security_mirror') { include roles::security_mirror } + # XXX: turn this into a real role if getfromhash($site::nodeinfo, 'apache2_www_mirror') { include roles::www_mirror } - if getfromhash($site::nodeinfo, 'apache2_backports_mirror') { - include roles::backports_mirror - } - - if getfromhash($site::nodeinfo, 'ftp.d.o') { + if has_role('ftp.d.o') { include roles::ftp } - if getfromhash($site::nodeinfo, 'ftp.upload.d.o') { + if has_role('ftp.upload.d.o') { include roles::ftp_upload } - if $::hostname in [bizet,morricone] { - include roles::backports_master + if has_role('ssh.upload.d.o') { + include roles::ssh_upload + } + + if has_role('git_master') { + include roles::git_master + } + + if has_role('people') { + ssl::service { 'people.debian.org': + notify => Service['apache2'], + } + } + + if has_role('security_master') { + include roles::security_master + include roles::dakmaster + } + + if has_role('www_master') { + include roles::www_master + } + + if has_role('keyring') { + include roles::keyring + } + + if has_role('wiki') { + include roles::wiki + } + + if has_role('syncproxy') { + 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 + } + + if has_role('pubsub') { + 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 + } + + if has_role('vote') { + include roles::vote + } + + 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 + } + + if has_role('udd') { + include roles::udd + } + + if has_role('sso') { + include roles::sso + } + + if has_role('sso_rp') { + include roles::sso_rp + } + + if has_role('tracker') { + include roles::tracker + } + + if has_role('buildd_master') { + include roles::buildd_master + } + + if has_role('buildd_ports_master') { + include roles::buildd_ports_master + } + + if has_role('piuparts') { + include roles::piuparts + } + + if has_role('contributors') { + include roles::contributors + } + + if has_role('nm') { + include roles::nm + } + + if has_role('release') { + include roles::release + } + + if has_role('rtc') { + include roles::rtc + } + + 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 + } + + if has_role('packages') { + ssl::service { 'packages.debian.org': + notify => Service['apache2'], + } + } + + if has_role('qamaster') { + ssl::service { 'qa.debian.org': + notify => Service['apache2'], + } + } + + if has_role('packagesqamaster') { + ssl::service { 'packages.qa.debian.org': + notify => Service['apache2'], + } + } + + if has_role('gobby_debian_org') { + ssl::service { 'gobby.debian.org': + notify => Service['apache2'], + } + } + + if has_role('search_backend') { + include search_backend + } + if has_role('search_frontend') { + include search_frontend + } + + if has_role('dgit_browse') { + include dgit_browse + } + if has_role('dgit_git') { + include dgit_git } - if getfromhash($site::nodeinfo, 'apache2_ftp-upcoming_mirror') { - include roles::ftp-upcoming_mirror + if $::hostname in [lw01, lw02, lw03, lw04] { + include snapshot } }