X-Git-Url: https://git.donarmstrong.com/?p=dsa-puppet.git;a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Finit.pp;h=aaada6438657f3c20904820f77568ecbaf1c9b1f;hp=6b17ea0f65d0cfb591dd78cb6a47d18b98c713c3;hb=bf944940ea5403b79bb6aa927c108ec3429082dc;hpb=338061948f7b1c29e2b237a5702d3447429120a9 diff --git a/modules/roles/manifests/init.pp b/modules/roles/manifests/init.pp index 6b17ea0f..aaada643 100644 --- a/modules/roles/manifests/init.pp +++ b/modules/roles/manifests/init.pp @@ -1,167 +1,278 @@ +# = Class: roles +# +# Lookup role and include relevant classes for roles +# +# == Sample Usage: +# +# include roles +# class roles { - $roles = hiera('roles') - - if $::fqdn in $roles['puppetmaster'] { + if has_role('puppetmaster') { include puppetmaster } - if getfromhash($site::nodeinfo, 'muninmaster') { + if has_role('muninmaster') { include munin::master } - if getfromhash($site::nodeinfo, 'nagiosmaster') { + 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 } + # XXX: turn this into a real role if getfromhash($site::nodeinfo, 'porterbox') { include porterbox } - if getfromhash($site::nodeinfo, 'bugs_mirror') { + if has_role('bugs_mirror') { include roles::bugs_mirror } - if getfromhash($site::nodeinfo, 'ftp_master') { + 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, '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 getfromhash($site::nodeinfo, 'security_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 getfromhash($site::nodeinfo, 'www_master') { + if has_role('www_master') { include roles::www_master } - if getfromhash($site::nodeinfo, 'keyring') { + if has_role('keyring') { include roles::keyring } - if getfromhash($site::nodeinfo, 'wiki') { + if has_role('wiki') { include roles::wiki } - if getfromhash($site::nodeinfo, 'syncproxy') { + if has_role('syncproxy') { include roles::syncproxy } - if getfromhash($site::nodeinfo, 'static_master') { + if has_role('static_master') { include roles::static_master } - if getfromhash($site::nodeinfo, 'static_mirror') { + if has_role('static_mirror') { include roles::static_mirror - } elsif getfromhash($site::nodeinfo, 'static_source') { + } elsif has_role('static_source') { include roles::static_source } - if getfromhash($site::nodeinfo, 'weblog_provider') { + if has_role('weblog_provider') { include roles::weblog_provider } - if getfromhash($site::nodeinfo, 'mailrelay') { + if has_role('mailrelay') { include roles::mailrelay } - if getfromhash($site::nodeinfo, 'pubsub') { + if has_role('pubsub') { include roles::pubsub } - if getfromhash($site::nodeinfo, 'dbmaster') { - ssl::service { 'db.debian.org': - notify => Service['apache2'], - } + if has_role('dbmaster') { + include roles::dbmaster + } + + if has_role('dns_primary') { + include named::primary } - if $::hostname in [ravel] { + if has_role('weblog_destination') { include roles::weblog_destination } - if $::hostname in [vento] { - ssl::service { 'vote.debian.org': - notify => Service['apache2'], - } + if has_role('vote') { + include roles::vote } - if $::hostname in [soler] { - ssl::service { 'security-tracker.debian.org': - notify => Service['apache2'], - } + if has_role('security_tracker') { + include roles::security_tracker } - if $::hostname in [bendel] { - ssl::service { 'lists.debian.org': - notify => Service['apache2'], - } + if has_role('lists') { + include roles::lists } - if $::hostname in [reger] { - ssl::service { 'rt.debian.org': - notify => Service['apache2'], - } + if has_role('list_search') { + include roles::listsearch } - if $::hostname in [diabelli] { - ssl::service { 'sso.debian.org': - notify => Service['apache2'], - } + if has_role('rtmaster') { + include roles::rtmaster } - if $::hostname in [ullmann] { - ssl::service { 'udd.debian.org': - notify => Service['apache2'], - } + if has_role('udd') { + include roles::udd + } + + if has_role('sso') { + include roles::sso } - - if $::hostname in [wuiet] { - ssl::service { 'buildd.debian.org': + + 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('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 + } + + if has_role('packages') { + ssl::service { 'packages.debian.org': notify => Service['apache2'], } } - if $::hostname in [pejacevic] { - ssl::service { 'piuparts.debian.org': + if has_role('qamaster') { + ssl::service { 'qa.debian.org': notify => Service['apache2'], } } - if $::hostname in [nono] { - ssl::service { 'nm.debian.org': + if has_role('packagesqamaster') { + ssl::service { 'packages.qa.debian.org': notify => Service['apache2'], } - ssl::service { 'contributors.debian.org': + } + + if has_role('gobby_debian_org') { + ssl::service { 'gobby.debian.org': notify => Service['apache2'], } } - if $::hostname in [franck] { - ssl::service { 'release.debian.org': + 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 $::hostname in [lw01, lw02, lw03, lw04] { + include snapshot + } + + if has_role('veyepar.debian.org') { + ssl::service { 'veyepar.debian.org': notify => Service['apache2'], } }