aboutsummaryrefslogtreecommitdiff
path: root/manifests/base.pp
blob: 642621995168b1b552e75e73dcf2f0537b993cd8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
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::backup
  include nodo::subsystem::mail
  include nodo::subsystem::sshd
  include nodo::subsystem::hostname
  include nodo::subsystem::local

  # Apt module
  $apt = hiera('nodo::subsystem::apt', True)
  if $apt == true {
    include nodo::subsystem::apt
  }

  # 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 }
}