X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Finit.pp;h=d2527978ecc1c0ea152248a8fa9eccc4f33ff90f;hb=96cd3ed6d32efe39605dd9b661fa759c4600f6bf;hp=261f84f8495276b95abd50cedefab5d5134a3a43;hpb=f833a1c122597f80da4d4095cae8d7d5bd852a7a;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/init.pp b/modules/roles/manifests/init.pp index 261f84f84..d2527978e 100644 --- a/modules/roles/manifests/init.pp +++ b/modules/roles/manifests/init.pp @@ -1,3 +1,11 @@ +# = Class: roles +# +# Lookup role and include relevant classes for roles +# +# == Sample Usage: +# +# include roles +# class roles { if has_role('puppetmaster') { @@ -8,36 +16,63 @@ class roles { include munin::master } - if getfromhash($site::nodeinfo, 'nagiosmaster') { + if has_role('nagiosmaster') { # include nagios::server ssl::service { 'nagios.debian.org': - notify => Service['apache2'], + notify => Exec['service apache2 reload'], + key => true, } } - if has_role('buildd') { + # XXX: turn this into a real role + if getfromhash($site::nodeinfo, 'buildd') { include buildd } - if has_role('porterbox') { + # XXX: turn this into a real role + if getfromhash($site::nodeinfo, 'porterbox') { include porterbox } + if has_role('archive_master') { + include archive_master + } + if has_role('bugs_mirror') { include roles::bugs_mirror } + if has_role('bugs_base') { + ssl::service { 'bugs.debian.org': + notify => Exec['service apache2 reload'], + tlsaport => [], + } + } + if has_role('bugs_master') { + ssl::service { 'bugs-master.debian.org': notify => Exec['service apache2 reload'], key => true, } + } + if has_role('ftp_master') { include roles::ftp_master include roles::dakmaster } - if has_role('apache2_security_mirror') { - include roles::security_mirror + 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 { 'manpages.debian.org': notify => Exec['service apache2 reload'], key => true, } } - if has_role('apache2_www_mirror') { - include roles::www_mirror + if has_role('security_mirror') { + include roles::security_mirror + } + if has_role('debug_mirror') { + include roles::debug_mirror } if has_role('ftp.d.o') { @@ -48,6 +83,19 @@ class roles { include roles::ftp_upload } + 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 => Exec['service apache2 reload'], key => true, } + 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 @@ -57,6 +105,10 @@ class roles { include roles::www_master } + if has_role('cgi.d.o') { + ssl::service { 'cgi.debian.org': notify => Exec['service apache2 reload'], key => true, } + } + if has_role('keyring') { include roles::keyring } @@ -98,9 +150,6 @@ class roles { if has_role('dns_primary') { include named::primary } - if has_role('dns_secondary') { - include named::authoritative - } if has_role('weblog_destination') { include roles::weblog_destination @@ -118,6 +167,10 @@ class roles { include roles::lists } + if has_role('list_search') { + include roles::listsearch + } + if has_role('rtmaster') { include roles::rtmaster } @@ -126,6 +179,18 @@ class roles { 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 } @@ -142,7 +207,110 @@ class roles { 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 => Exec['service apache2 reload'], key => true, } + } + + if has_role('qamaster') { + ssl::service { 'qa.debian.org': notify => Exec['service apache2 reload'], key => true, } + } + + if has_role('packagesqamaster') { + ssl::service { 'packages.qa.debian.org': notify => Exec['service apache2 reload'], key => true, } + } + + if has_role('gobby_debian_org') { + ssl::service { 'gobby.debian.org': notify => Exec['service apache2 reload'], key => true, tlsaport => [443, 6523], } + } + + 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 => 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('httpredir') { + include roles::httpredir + } + + if has_role('debtags') { + include roles::debtags + } + + if has_role('planet_search') { + ssl::service { 'planet-search.debian.org': notify => Exec['service apache2 reload'], key => true, } + } + + if has_role('i18n.d.o') { + ssl::service { 'i18n.debian.org': notify => Exec['service apache2 reload'], key => true, } + } + + if has_role('l10n.d.o') { + ssl::service { 'l10n.debian.org': notify => Exec['service apache2 reload'], key => true, } + } + + if has_role('dedup.d.n') { + ssl::service { 'dedup.debian.net': notify => Exec['service apache2 reload'], key => true, } + } + + if has_role('pet.d.n') { + ssl::service { 'pet.debian.net': notify => Exec['service apache2 reload'], key => true, } + 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_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 } }