Puppet Class: puppet::master::apache
- Defined in:
- manifests/master/apache.pp
Overview
Class: puppet::master::apache
Deploy a standalone puppet master with an apache ssl passenger frontend
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/apache.pp', line 6
class puppet::master::apache {
include ::apache
include ::apache::mod::passenger
include ::puppet::master
$ssldir = puppet_config('main', 'ssldir', '/etc/puppet/ssl')
file { [
'/etc/puppet/rack',
'/etc/puppet/rack/public',
'/etc/puppet/rack/tmp',
]:
ensure => directory,
owner => 'root',
group => 'root',
mode => '0755',
} ->
file { '/etc/puppet/rack/config.ru':
ensure => file,
source => 'puppet:///modules/puppet/config.ru',
owner => 'puppet',
group => 'puppet',
mode => '0644',
}
$vhost_params_common = {
'docroot' => '/etc/puppet/rack/public/',
'port' => '8140',
'rack_base_uris' => '/',
'directories' => {
'path' => '/etc/puppet/rack/public/',
'options' => 'None',
'allow_override' => 'None',
},
}
if $puppet::ssl {
$vhost_params_ssl = {
'ssl' => true,
'ssl_protocol' => '-ALL +SSLv3 +TLSv1',
'ssl_cipher' => 'ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:-LOW:-SSLv2:-EXP',
'ssl_cert' => "${ssldir}/certs/${::fqdn}.pem",
'ssl_key' => "${ssldir}/private_keys/${::fqdn}.pem",
'ssl_chain' => "${ssldir}/certs/ca.pem",
'ssl_ca' => "${ssldir}/certs/ca.pem",
'ssl_crl_check' => 'chain',
'ssl_crl' => "${ssldir}/crl.pem",
'ssl_verify_client' => 'optional',
'ssl_verify_depth' => '1',
'ssl_options' => '+StdEnvVars +ExportCertData',
'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',
],
}
} else {
$vhost_params_ssl = {}
}
$vhost_params = merge($vhost_params_common, $vhost_params_ssl)
create_resources('apache::vhost', { 'puppetmaster' => {} }, $vhost_params)
File['/etc/puppet/rack/config.ru'] -> Apache::Vhost['puppetmaster']
# Ensure the master and certificates are installed before starting the server
Class['::puppet::master'] -> Class['::puppet::master::apache']
# Notify apache to restart if the main or hiera configuration changes.
# These files are read on restart only
Class['::puppet'] ~> Class['::apache::service']
}
|