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: } +}  | 
