Puppet Class: apache::mod::passenger

Inherits:
::apache::params
Defined in:
manifests/mod/passenger.pp

Overview

Parameters:

  • passenger_conf_file (Any) (defaults to: $::apache::params::passenger_conf_file)
  • passenger_conf_package_file (Any) (defaults to: $::apache::params::passenger_conf_package_file)
  • passenger_high_performance (Any) (defaults to: undef)
  • passenger_pool_idle_time (Any) (defaults to: undef)
  • passenger_max_request_queue_size (Any) (defaults to: undef)
  • passenger_max_requests (Any) (defaults to: undef)
  • passenger_spawn_method (Optional[Enum['smart', 'direct', 'smart-lv2', 'conservative']]) (defaults to: undef)
  • passenger_stat_throttle_rate (Any) (defaults to: undef)
  • rack_autodetect (Any) (defaults to: undef)
  • rails_autodetect (Any) (defaults to: undef)
  • passenger_root (Any) (defaults to: $::apache::params::passenger_root)
  • passenger_ruby (Any) (defaults to: $::apache::params::passenger_ruby)
  • passenger_default_ruby (Any) (defaults to: $::apache::params::passenger_default_ruby)
  • passenger_max_pool_size (Any) (defaults to: undef)
  • passenger_min_instances (Any) (defaults to: undef)
  • passenger_max_instances_per_app (Any) (defaults to: undef)
  • passenger_use_global_queue (Any) (defaults to: undef)
  • passenger_app_env (Any) (defaults to: undef)
  • passenger_log_file (Optional[Stdlib::Absolutepath]) (defaults to: undef)
  • passenger_log_level (Any) (defaults to: undef)
  • passenger_data_buffer_dir (Any) (defaults to: undef)
  • manage_repo (Any) (defaults to: true)
  • mod_package (Any) (defaults to: undef)
  • mod_package_ensure (Any) (defaults to: undef)
  • mod_lib (Any) (defaults to: undef)
  • mod_lib_path (Any) (defaults to: undef)
  • mod_id (Any) (defaults to: undef)
  • mod_path (Any) (defaults to: undef)


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
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# File 'manifests/mod/passenger.pp', line 1

class apache::mod::passenger (
  $passenger_conf_file                                                                   = $::apache::params::passenger_conf_file,
  $passenger_conf_package_file                                                           = $::apache::params::passenger_conf_package_file,
  $passenger_high_performance                                                            = undef,
  $passenger_pool_idle_time                                                              = undef,
  $passenger_max_request_queue_size                                                      = undef,
  $passenger_max_requests                                                                = undef,
  Optional[Enum['smart', 'direct', 'smart-lv2', 'conservative']] $passenger_spawn_method = undef,
  $passenger_stat_throttle_rate                                                          = undef,
  $rack_autodetect                                                                       = undef,
  $rails_autodetect                                                                      = undef,
  $passenger_root                                                                        = $::apache::params::passenger_root,
  $passenger_ruby                                                                        = $::apache::params::passenger_ruby,
  $passenger_default_ruby                                                                = $::apache::params::passenger_default_ruby,
  $passenger_max_pool_size                                                               = undef,
  $passenger_min_instances                                                               = undef,
  $passenger_max_instances_per_app                                                       = undef,
  $passenger_use_global_queue                                                            = undef,
  $passenger_app_env                                                                     = undef,
  Optional[Stdlib::Absolutepath] $passenger_log_file                                     = undef,
  $passenger_log_level                                                                   = undef,
  $passenger_data_buffer_dir                                                             = undef,
  $manage_repo                                                                           = true,
  $mod_package                                                                           = undef,
  $mod_package_ensure                                                                    = undef,
  $mod_lib                                                                               = undef,
  $mod_lib_path                                                                          = undef,
  $mod_id                                                                                = undef,
  $mod_path                                                                              = undef,
) inherits ::apache::params {

  include ::apache

  # Managed by the package, but declare it to avoid purging
  if $passenger_conf_package_file {
    file { 'passenger_package.conf':
      path => "${::apache::confd_dir}/${passenger_conf_package_file}",
    }
  }

  $_package = $mod_package
  $_package_ensure = $mod_package_ensure
  $_lib = $mod_lib
  if $::osfamily == 'FreeBSD' {
    if $mod_lib_path {
      $_lib_path = $mod_lib_path
    } else {
      $_lib_path = "${passenger_root}/buildout/apache2"
    }
  } else {
    $_lib_path = $mod_lib_path
  }

  if $::osfamily == 'RedHat' and $manage_repo {
    if $::operatingsystem == 'Amazon' {
      $baseurl = 'https://oss-binaries.phusionpassenger.com/yum/passenger/el/6Server/$basearch'
    } else {
      $baseurl = 'https://oss-binaries.phusionpassenger.com/yum/passenger/el/$releasever/$basearch'
    }

    yumrepo { 'passenger':
      ensure        => 'present',
      baseurl       => $baseurl,
      descr         => 'passenger',
      enabled       => '1',
      gpgcheck      => '0',
      gpgkey        => 'https://packagecloud.io/gpg.key',
      repo_gpgcheck => '1',
      sslcacert     => '/etc/pki/tls/certs/ca-bundle.crt',
      sslverify     => '1',
      before        => Apache::Mod['passenger'],
    }
  }

  unless ($::operatingsystem == 'SLES') {
    $_id = $mod_id
    $_path = $mod_path
    ::apache::mod { 'passenger':
      package        => $_package,
      package_ensure => $_package_ensure,
      lib            => $_lib,
      lib_path       => $_lib_path,
      id             => $_id,
      path           => $_path,
      loadfile_name  => 'zpassenger.load',
    }
  }

  # Template uses:
  # - $passenger_root
  # - $passenger_ruby
  # - $passenger_default_ruby
  # - $passenger_max_pool_size
  # - $passenger_min_instances
  # - $passenger_max_instances_per_app
  # - $passenger_high_performance
  # - $passenger_max_requests
  # - $passenger_spawn_method
  # - $passenger_stat_throttle_rate
  # - $passenger_use_global_queue
  # - $passenger_log_file
  # - $passenger_log_level
  # - $passenger_app_env
  # - $passenger_data_buffer_dir
  # - $rack_autodetect
  # - $rails_autodetect
  file { 'passenger.conf':
    ensure  => file,
    path    => "${::apache::mod_dir}/${passenger_conf_file}",
    content => template('apache/mod/passenger.conf.erb'),
    require => Exec["mkdir ${::apache::mod_dir}"],
    before  => File[$::apache::mod_dir],
    notify  => Class['apache::service'],
  }
}