class nodo::master { case $main_master { '': { fail("You need to define if this is the main master! Please set \$main_master in host config") } } if $main_master == true { # Puppetmaster should be included before nodo::vserver include puppetmasterd include munin::host include nagios::headless include nagios::defaults # Nagios apache workaround file { "/etc/apache2/conf.d/nagios3.conf": ensure => absent, } # 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 { include puppetmasterd::disabled host { "puppet": ensure => absent, } } # These should be included after puppetmaster include nodo::vserver include database include gitosis include websites::admin case $puppetmaster_db_password { '': { fail("Please set \$puppetmaster_db_password in your host config") } } # update master's puppet.conf if you change here database::instance { "puppet": password => "$puppetmaster_db_password", } backupninja::mysql { "all_databases": backupdir => '/var/backups/mysql', compress => true, sqldump => true, } # used for trac dependency graphs package { "graphviz": ensure => present, } }