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
|
# File 'manifests/master/passenger.pp', line 3
class puppet::master::passenger {
include ::puppet::master
$passenger_max_pool_size = $::puppet::master::passenger_max_pool_size
$passenger_max_requests = $::puppet::master::passenger_max_requests
$passenger_pool_idle_time = $::puppet::master::passenger_pool_idle_time
$passenger_stat_throttle_rate = $::puppet::master::passenger_stat_throttle_rate
$puppet_fqdn = $::puppet::master::puppet_fqdn
$puppet_version = $::puppet::master::puppet_version
if ( versioncmp($::puppetversion, '4.0.0') < 0 ) {
# only set this up on puppetversion < 4
service { 'puppetmaster':
ensure => stopped,
enable => false,
require => Class['puppet::master::install'],
}
file { '/etc/apache2/sites-enabled/puppetmaster.conf':
ensure => absent,
require => Package['puppetmaster-passenger']
}
file { '/etc/apache2/sites-available/puppetmaster.conf':
ensure => absent,
require => Package['puppetmaster-passenger']
}
package { 'puppetmaster-passenger':
ensure => $puppet_version,
require => [
Class['puppet::master::install'],
Service['puppetmaster']]
}
include ::apache
# passenger settings
class { '::apache::mod::passenger':
passenger_high_performance => 'On',
passenger_max_pool_size => $passenger_max_pool_size,
passenger_pool_idle_time => $passenger_pool_idle_time,
passenger_stat_throttle_rate => $passenger_stat_throttle_rate,
passenger_max_requests => $passenger_max_requests
}
apache::vhost { $puppet_fqdn:
docroot => '/usr/share/puppet/rack/puppetmasterd/public/',
docroot_owner => 'root',
docroot_group => 'root',
passenger_app_root => '/usr/share/puppet/rack/puppetmasterd',
port => '8140',
ssl => true,
ssl_crl_check => 'chain',
ssl_cert => "/var/lib/puppet/ssl/certs/${puppet_fqdn}.pem",
ssl_key => "/var/lib/puppet/ssl/private_keys/${puppet_fqdn}.pem",
ssl_chain => '/var/lib/puppet/ssl/certs/ca.pem',
ssl_ca => '/var/lib/puppet/ssl/certs/ca.pem',
ssl_crl => '/var/lib/puppet/ssl/ca/ca_crl.pem',
ssl_certs_dir => '/var/lib/puppet/ssl/certs',
ssl_verify_client => 'optional',
ssl_verify_depth => '1',
ssl_options => [
'+StdEnvVars',
'+ExportCertData'],
rack_base_uris => ['/'],
directories => [{
path => '/usr/share/puppet/rack/puppetmasterd/',
options => 'None'
}
],
request_headers => [
'unset X-Forwarded-For',
'set X-SSL-Subject %{SSL_CLIENT_S_DN}e',
'set X-Client-DN %{SSL_CLIENT_S_DN}e',
'set X-Client-Verify %{SSL_CLIENT_VERIFY}e',
],
subscribe => Class['puppet::master::install']
}
}
}
|