X-Git-Url: https://git.adam-barratt.org.uk/?a=blobdiff_plain;f=modules%2Froles%2Fmanifests%2Fdbmaster.pp;h=f207b21bad382a4f28841a8a98a3471a4db1a8f0;hb=d37aae2f20083c472de30925ff3e16a692408a11;hp=537588417f9398bc175f2a2a125b5688e6aed44e;hpb=f833a1c122597f80da4d4095cae8d7d5bd852a7a;p=mirror%2Fdsa-puppet.git diff --git a/modules/roles/manifests/dbmaster.pp b/modules/roles/manifests/dbmaster.pp index 537588417..f207b21ba 100644 --- a/modules/roles/manifests/dbmaster.pp +++ b/modules/roles/manifests/dbmaster.pp @@ -1,5 +1,70 @@ +# = Class: roles::dbmaster +# +# Setup for db.debian.org master host +# +# == Sample Usage: +# +# include roles::dbmaster +# class roles::dbmaster { - ssl::service { 'db.debian.org': - notify => Service['apache2'], - } + include apache2 + + include roles::pubsub::parameters + + $rabbit_password = $roles::pubsub::parameters::rabbit_password + + ssl::service { 'db.debian.org': + notify => [ Exec['service apache2 reload'], + Service['slapd'] ], + key => true, + tlsaport => [443, 389, 636], + } + + file { '/etc/ldap/db.debian.org.key': + ensure => present, + mode => '0440', + group => 'openldap', + content => inline_template('<%= File.read(scope().call_function("hiera", ["paths.letsencrypt_dir"]) + "/db.debian.org.key") %>'), + links => follow, + } + + roles::pubsub::config { 'generate': + key => 'dsa-udgenerate', + exchange => dsa, + topic => 'dsa.ud.replicate', + vhost => dsa, + username => $::fqdn, + password => $rabbit_password + } + + service { 'slapd': + ensure => running, + } + + ssh::keygen {'dsa': } + ssh::authorized_key_add { 'dbmaster::puppetmaster::nagios-build': + target_user => 'puppet', + command => '/srv/puppet.debian.org/sync/bin/puppet-ssh-wrap draghi.debian.org nagiosconfig', + key => $facts['dsa_key'], + collect_tag => 'puppetmaster', + } + + exim::vdomain { 'db.debian.org': + mail_user => 'mail_db', + mail_group => 'nogroup', + } + + ferm::rule::simple { 'finger': + port => 'finger', + } + ferm::rule::simple { 'ldap': + port => ['ldap', 'ldaps'], + } + + concat { '/etc/apache2/conf-available/puppet-restricted-acl.conf': + mode => '0444', + ensure_newline => true, + warn => '# This file is maintained with puppet', + } + Concat::Fragment <<| tag == 'debian_org::apt_restricted::apache-acl' |>> }