Puppet Class: puppet::server::config

Defined in:
manifests/server/config.pp

Overview

document me

Parameters:

  • ca_enabled (Any) (defaults to: $::puppet::server_ca_enabled)
  • config_dir (Any) (defaults to: $::puppet::params::server_config_dir)
  • dns_alt_names (Any) (defaults to: $::puppet::dns_alt_names)
  • fileserver (Any) (defaults to: $::puppet::fileserver_conf)
  • manage_hiera (Any) (defaults to: $::puppet::manage_hiera)
  • hiera_source (Any) (defaults to: $::puppet::hiera_source)
  • java_opts (Any) (defaults to: $::puppet::server_java_opts)
  • log_dir (Any) (defaults to: $::puppet::server_log_dir)
  • log_file (Any) (defaults to: $::puppet::server_log_file)
  • server (Any) (defaults to: $::puppet::server)
  • runinterval (Any) (defaults to: $::puppet::runinterval)
  • puppetdb (Any) (defaults to: $::puppet::puppetdb)
  • puppetdb_port (Any) (defaults to: $::puppet::puppetdb_port)
  • puppetdb_server (Any) (defaults to: $::puppet::puppetdb_server)
  • manage_puppetdb (Any) (defaults to: $::puppet::manage_puppetdb)
  • reports (Any) (defaults to: $::puppet::server_reports)
  • firewall (Any) (defaults to: $::puppet::firewall)
  • jruby_instances (Any) (defaults to: $::puppet::jruby_instances)


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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
# File 'manifests/server/config.pp', line 2

class puppet::server::config (
  $ca_enabled      = $::puppet::server_ca_enabled,
  $config_dir      = $::puppet::params::server_config_dir,
  $dns_alt_names   = $::puppet::dns_alt_names,
  $fileserver      = $::puppet::fileserver_conf,
  $manage_hiera    = $::puppet::manage_hiera,
  $hiera_source    = $::puppet::hiera_source,
  $java_opts       = $::puppet::server_java_opts,
  $log_dir         = $::puppet::server_log_dir,
  $log_file        = $::puppet::server_log_file,
  $server          = $::puppet::server,
  $runinterval     = $::puppet::runinterval,
  $puppetdb        = $::puppet::puppetdb,
  $puppetdb_port   = $::puppet::puppetdb_port,
  $puppetdb_server = $::puppet::puppetdb_server,
  $manage_puppetdb = $::puppet::manage_puppetdb,
  $reports         = $::puppet::server_reports,
  $firewall        = $::puppet::firewall,
  $jruby_instances = $::puppet::jruby_instances,
) {

  $file_ensure = $server ? {
    true    => 'file',
    default => 'absent'
  }

  File {
    ensure => $file_ensure,
    owner  => 'puppet',
    group  => 'puppet',
  }

  if $server {
    file { $log_dir:
      ensure => 'directory',
      mode   => '0750',
    }

    # Template uses
    # - $ca_enabled
    # - $dns_alt_names
    # - $puppetdb
    # - $reports
    concat::fragment { 'puppet_master':
      target  => '/etc/puppetlabs/puppet/puppet.conf',
      content => template("${module_name}/puppet.master.erb"),
      order   => '10',
    }
  }

  # Template uses
  # - $java_opts
  file { "${config_dir}/puppetserver":
    content => template("${module_name}/server/puppetserver.sysconfig.erb"),
  }

  # Template uses
  # - $ca_enabled
  file { '/etc/puppetlabs/puppetserver/bootstrap.cfg':
    content => template("${module_name}/server/bootstrap.cfg.erb"),
  }

  # Template uses
  # - $server_log_dir
  # - $server_log_file
  file { '/etc/puppetlabs/puppetserver/logback.xml':
    content => template("${module_name}/server/logback.xml.erb"),
  }

  file { '/etc/puppetlabs/puppetserver/request-logging.xml':
    content => template("${module_name}/server/request-logging.xml.erb"),
  }

  file { '/etc/puppetlabs/puppetserver/conf.d/ca.conf':
    content => template("${module_name}/server/ca.conf.erb"),
  }

  file { '/etc/puppetlabs/puppetserver/conf.d/global.conf':
    content => template("${module_name}/server/global.conf.erb"),
  }

  file { '/etc/puppetlabs/puppetserver/conf.d/puppetserver.conf':
    content => template("${module_name}/server/puppetserver.conf.erb"),
  }

  file { '/etc/puppetlabs/puppetserver/conf.d/web-routes.conf':
    content => template("${module_name}/server/web-routes.conf.erb"),
  }

  file { '/etc/puppetlabs/puppetserver/conf.d/webserver.conf':
    content => template("${module_name}/server/webserver.conf.erb"),
  }

  if ( $server and $hiera_source and $manage_hiera) {
    file { '/etc/puppetlabs/code/hiera.yaml':
      source => $hiera_source,
    }
  } elsif $manage_hiera {
    file { '/etc/puppetlabs/code/hiera.yaml':
      ensure => 'absent',
    }
  }

  if ( $server and $fileserver ) {
    # Template uses
    # - $fileserver
    file { '/etc/puppetlabs/puppet/fileserver.conf':
      content => template('puppet/server/fileserver.conf.erb'),
    }
  }

  if ( $server and $puppetdb and $manage_puppetdb) {
    file { '/etc/puppetlabs/puppet/routes.yaml':
      source => 'puppet:///modules/puppet/routes.yaml',
    }

    # Template uses
    # - $puppetdb_port
    # - $puppetdb_server
    file { '/etc/puppetlabs/puppet/puppetdb.conf':
      content => template('puppet/server/puppetdb.conf.erb'),
    }
  }

  if $firewall {
    # Allow inbound connections
    firewall { '500 allow inbound connections to puppetserver':
      action => 'accept',
      state  => 'NEW',
      dport  => '8140',
    }
  }
}