Puppet Class: puppet::server::passenger

Defined in:
manifests/server/passenger.pp

Overview

Class puppet::server::passenger

Installs and configures passenger for Puppetmaster



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
# File 'manifests/server/passenger.pp', line 6

class puppet::server::passenger {
  require puppet

  case $puppet::passenger_type {
    apache: {
      include apache::ssl
      include apache::passenger
    }
    nginx: { }
    default: { }
  }

  file { [$puppet::passenger_approot,
          "${puppet::passenger_approot}/public",
          "${puppet::passenger_approot}/tmp"]:
    ensure => directory,
    owner  => $puppet::process_user_server,
    group  => $puppet::process_user_server,
  }

  file { "${puppet::passenger_approot}/config.ru":
    ensure  => present,
    owner   => $puppet::process_user_server,
    group   => $puppet::process_user_server,
    mode    => '0644',
    content => template($puppet::template_rack_config),
  }

  $vhost_priority = 10
  $rack_location = "${puppet::passenger_approot}/public/"

  case $puppet::passenger_type {
    apache: {
      apache::vhost { 'puppetmaster':
        port     => $puppet::port,
        priority => $vhost_priority,
        docroot  => $rack_location,
        ssl      => true,
        template => $puppet::real_template_passenger,
        require  => Exec['puppetmaster-ca-generate'],
      }
    }
    nginx: {
      nginx::vhost { $puppet::server:
        port           => $puppet::port,
        priority       => $vhost_priority,
        docroot        => $rack_location,
        create_docroot => false,
        template       => $puppet::real_template_passenger,
        require        => Exec['puppetmaster-ca-generate'],
      }
    }
    default: { }
  }
}