Skip to content
This repository was archived by the owner on Mar 28, 2019. It is now read-only.

Commit 77945da

Browse files
author
Daniel Dreier
committed
Move puppet::passenger to puppet::master::passenger
This makes it consistent with the nginx/unicorn master setup
1 parent 67532f8 commit 77945da

File tree

3 files changed

+60
-5
lines changed

3 files changed

+60
-5
lines changed

manifests/server/passenger.pp

Lines changed: 54 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,59 @@
11
class puppet::server::passenger {
2-
32
class { 'puppet::server::standalone': enabled => false }
43

5-
if $::kernel != 'Darwin' {
6-
include puppet::passenger
4+
if $::kernel == 'Darwin' {
5+
fail('puppet::server::passenger not supported on OS X')
6+
}
7+
8+
include apache
9+
include apache::mod::ssl
10+
include apache::mod::passenger
11+
12+
file { ['/etc/puppet/rack', '/etc/puppet/rack/public/', '/etc/puppet/rack/tmp']:
13+
ensure => directory,
14+
owner => 'puppet',
15+
group => 'puppet',
16+
}
17+
18+
$source = $::puppetversion ? {
19+
/^2.7/ => 'puppet:///modules/puppet/config.ru.passenger.27',
20+
/^3./ => 'puppet:///modules/puppet/config.ru.passenger.3',
21+
}
22+
23+
file { '/etc/puppet/rack/config.ru':
24+
owner => 'puppet',
25+
group => 'puppet',
26+
mode => '0644',
27+
source => $source,
28+
}
29+
30+
if $puppet::server::bindaddress == '::' {
31+
$ip = '*'
32+
} else {
33+
$ip = $puppet::server::bindaddress
34+
}
35+
36+
apache::vhost { 'puppetmaster':
37+
servername => $puppet::server::servername,
38+
ip => $ip,
39+
port => '8140',
40+
priority => '10',
41+
docroot => '/etc/puppet/rack/public/',
42+
ssl => true,
43+
ssl_cipher => $puppet::server::ssl_ciphers,
44+
ssl_protocol => $puppet::server::ssl_protocols,
45+
ssl_cert => "${puppet::ssldir}/certs/${puppet::server::servername}.pem",
46+
ssl_key => "${puppet::ssldir}/private_keys/${puppet::server::servername}.pem",
47+
ssl_chain => "${puppet::ssldir}/certs/ca.pem",
48+
ssl_ca => "${puppet::ssldir}/ca/ca_crt.pem",
49+
ssl_crl => "${puppet::ssldir}/ca/ca_crl.pem",
50+
ssl_verify_client => 'optional',
51+
ssl_verify_depth => '1',
52+
ssl_options => ['+StdEnvVars', '+ExportCertData'],
53+
request_headers => [
54+
'set X-SSL-Subject %{SSL_CLIENT_S_DN}e',
55+
'set X-Client-DN %{SSL_CLIENT_S_DN}e',
56+
'set X-Client-Verify %{SSL_CLIENT_VERIFY}e',
57+
],
758
}
859
}

spec/classes/server_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103
it_behaves_like "basic puppetmaster config"
104104

105105
# Tests specific to passenger server
106-
it { should contain_class('puppet::passenger') }
106+
it { should contain_class('puppet::server::passenger') }
107107
it { should contain_class('apache') }
108108
it { should contain_class('apache::mod::passenger') }
109109

tests/passenger.pp

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,5 @@
1-
include puppet::passenger
1+
class { 'puppet::server':
2+
servertype => 'passenger',
3+
ca => true,
4+
}
5+

0 commit comments

Comments
 (0)