summaryrefslogtreecommitdiff
path: root/manifests/master/passenger.pp
blob: 530d3999ff8d679ef014c062069b41e57320b627 (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
# handles puppetmasterd service
class puppet::master::passenger {
  # Make sure we're not running mongrel
  # Useful when migrating from mongrel to passenger
  $disable_mongrel = hiera('puppet::master::passenger::disable_mongrel', false)
  if $disable_mongrel == true {
    include puppet::master::mongrel::disabled
  }

  # We need a custom envvars apache config to set correct LANG env, see
  # https://projects.puppetlabs.com/issues/11303
  # https://projects.puppetlabs.com/issues/11860
  class { 'apache::envvars':
    source => "puppet:///modules/puppet/envvars.${::lsbdistcodename}",
  }

  # then include puppet class
  include puppet::daemon

  package { 'puppetmaster-passenger':
    ensure => installed,
  }

  $listen   = hiera('puppet::daemon::port', '8140')
  $certname = hiera('puppet::master::certname', "puppet.${::domain}")

  # Legacy configuration
  file { [ '/etc/apache2/sites-available/puppetmaster', '/etc/apache2/sites-enabled/puppetmaster' ]:
    ensure => absent,
    notify => Service['apache'],
  }

  # manage puppetmaster vhost
  file { '/etc/apache2/sites-available/puppetmaster.conf':
    ensure  => present,
    owner   => root,
    group   => root,
    mode    => 0644,
    content => template("puppet/passenger.erb"),
    notify  => Service['apache'],
  }

  file { "/etc/apache2/sites-enabled/puppetmaster.conf":
    owner  => root,
    group  => root,
    ensure => "/etc/apache2/sites-available/puppetmaster.conf",
    notify => Service["apache"],
  }
}