Puppet Labs Module for Passenger
Puppet Ruby HTML
Latest commit 052e1e0 Mar 3, 2016 @hunner hunner Merge pull request #91 from Phil-Friderici/puppetv4
add Puppet v4.x compatibility

README.md

passenger

Overview

The Passenger module allows easy configuration and management of Phusion Passenger.

Module Description

The Passenger module lets you run Rails or Rack inside Apache with ease. Utilizing Passenger, an application server for Ruby (Rack) and Python (WSGI) apps, the Passenger module enables quick configuration of Passenger for Apache.

Setup

What Passenger affects:

  • Apache
  • installs packages on chosen nodes
  • package/service/configuration files for Passenger

Beginning with Passenger

Install and begin managing Passenger on a node by declaring the class in your node definition:

node default {
  class {'passenger': }
}

This will establish Passenger on your node with sane default values. However, you can manually set the parameter values:

node default {
  class {'passenger':
    passenger_version      => '2.2.11',
    passenger_provider     => 'gem',
    passenger_package      => 'passenger',
    gem_path               => '/var/lib/gems/1.8/gems',
    gem_binary_path        => '/var/lib/gems/1.8/bin',
    passenger_root         => '/var/lib/gems/1.8/gems/passenger-2.2.11'
    mod_passenger_location => '/var/lib/gems/1.8/gems/passenger-2.2.11/ext/apache2/mod_passenger.so',
    include_build_tools    => true,
  }
}

Usage

The passenger class has a set of configurable parameters that allow you to control aspects of Passenger's installation.

Parameters within passenger

gem_binary_path

Path to Rubygems binaries on your system

gem_path

The path to rubygems on your system

include_build_tools

Boolean to require gcc and make classes. Default is false.

mod_passenger_location

Path to Passenger's mod_passenger.so file

package_ensure

Ensure the state of the passenger package

package_provider

Provider to use to install passenger

passenger_package

The name of the Passenger package

passenger_provider

The package provider to use for the system

passenger_root

Root directory for passenger

passenger_ruby

Allows you to customize what ruby binary is used

passenger_version

The Version of Passenger to be installed

compile_passenger

Whether or not to include the passenger::compile class. Defaults to true.

Implementation

This module operates by compiling Ruby gems on the system being managed.

Limitations

This module was developed and tested against RHEL and Debian based systems (Centos, Fedora, Redhat, Debian, Ubuntu). This module may require you to specify default parameter values to accommodate other distributions.

Development

Puppet Labs modules on the Puppet Forge are open projects, and community contributions are essential for keeping them great. We can’t access the huge number of platforms and myriad of hardware, software, and deployment configurations that Puppet is intended to serve.

We want to keep it as easy as possible to contribute changes so that our modules work in your environment. There are a few guidelines that we need contributors to follow so that we can have a chance of keeping on top of things.

You can read the complete module contribution guide on the Puppet Labs wiki.

Release Notes

0.0.4 Release

  • Remove puppetlabs-gcc dependency
  • Add package dependencies for Passenger 3.0
  • Re-order resources (removing chaining syntax)