agile-alliance-brazil/submissions

View on GitHub
puppet/modules/railsapp/manifests/passenger.pp

Summary

Maintainability
Test Coverage
class railsapp::passenger ($path = '/srv/apps/rails-app/current/public', $server_url) {
  class { 'apache': }
  
  if $rvm_installed == true {
    class { 'rvm::passenger::apache':
        version            => '5.0.23',
        ruby_version       => 'ruby-2.4.3',
        mininstances       => '3',
        maxinstancesperapp => '0',
        maxpoolsize        => '30',
        spawnmethod        => 'smart-lv2'
    }
  }

  file { "/etc/apache2/sites-available/$server_url":
    ensure => 'present',
    content => template('railsapp/passenger-app.erb'),
    require => Package['httpd'],
    notify => Class['apache::service'],
  }

  file { "/etc/apache2/sites-enabled/000-default":
    ensure => "/etc/apache2/sites-available/$server_url",
    require => File["/etc/apache2/sites-available/$server_url"],
    notify => Class['apache::service'],
  }

  if $use_ssl {
    file { '/etc/apache2/mods-enabled/ssl.conf':
      ensure => 'link',
      target => '/etc/apache2/mods-available/ssl.conf',
      require => [Package['httpd'], File['/etc/apache2/mods-enabled/socache_shmcb.load']],
      notify => Class['apache::service'],
    }

    file { '/etc/apache2/mods-enabled/ssl.load':
      ensure => 'link',
      target => '/etc/apache2/mods-available/ssl.load',
      require => Package['httpd'],
      notify => Class['apache::service'],
    }

    file { '/etc/apache2/mods-enabled/socache_shmcb.load':
      ensure => 'link',
      target => '/etc/apache2/mods-available/socache_shmcb.load',
      require => Package['httpd'],
      notify => Class['apache::service'],
    }

    file { '/etc/apache2/mods-enabled/headers.load':
      ensure => 'link',
      target => '/etc/apache2/mods-available/headers.load',
      require => Package['httpd'],
      notify => Class['apache::service'],
    }
  }
}