diff options
Diffstat (limited to 'manifests/role/master.pp')
-rw-r--r-- | manifests/role/master.pp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/manifests/role/master.pp b/manifests/role/master.pp new file mode 100644 index 0000000..2adb8a5 --- /dev/null +++ b/manifests/role/master.pp @@ -0,0 +1,60 @@ +class nodo::role::master { + $main = hiera('nodo::role::master::main', false) + $db_password = hiera('nodo::role::master::db_password', '') + + case $db_password { + '': { fail("Please set nodo::master::db_password in your config") } + } + + if $main == true { + # Puppetmaster should be included before nodo::vserver + class { 'puppet::master': + main => true, + } + + include munin::host + include munin::plugins::muninhost + + # The main master has a host entry pointing to itself, other + # masters still retrieve catalogs from the main master. + host { "puppet": + ensure => present, + ip => "127.0.0.1", + alias => ["puppet.${::domain}"], + } + } else { + class { 'puppet::master': + main => false, + } + + host { "puppet": + ensure => absent, + } + } + + # These should be included after puppetmaster + include nodo::vserver + include database + include git::daemon + include websites::admin + include nagios::headless + include nagios::defaults + + # Nagios apache workaround + file { "/etc/apache2/conf.d/nagios3.conf": + ensure => absent, + } + + # Update master's puppet.conf if you change here + database::instance { "puppet": + password => "${db_password}", + } + + # Used for trac dependency graphs + package { "graphviz": + ensure => present, + } + + # Check domain registration + domain_check::instance { $::domain: } +} |