class nodo::base( $puppet_mode = hiera('nodo::base::puppet_mode', 'daemon') ){ # First include the LSB class include lsb # Then include our subsystems include nodo::subsystem::sudo include nodo::subsystem::locales include nodo::subsystem::profile include nodo::subsystem::screen include nodo::subsystem::screen::startup include nodo::subsystem::apt include nodo::subsystem::backup include nodo::subsystem::mail include nodo::subsystem::sshd include nodo::subsystem::hostname include nodo::subsystem::local # Declare subsystem classes class { [ 'nodo::subsystem::hosts', 'nodo::subsystem::motd' ]: } # Common utilities include nodo::utils # Other modules include tunnel::autossh include domain_check include concat::setup include cron # Require admin accounts' class if (defined(site_users::admin)) { include site_users::admin } # Puppet case $puppet_mode { 'standalone': { include puppet::standalone } 'daemon': { class { 'puppet::daemon': master => hiera('nodo::role::master::main', false), } } default: { } } # Does not work well inside vservers class { 'runit': ensure => absent } }