
PUPPETMASTER AS A RACK APPLICATION
==================================

puppetmaster can now be hosted as a standard Rack application. A proper
config.ru is provided for this.

For more details about rack, see http://rack.rubyforge.org/ .

Getting started
===============

You'll need rack installed, version 1.0.0. Older versions are known not
to work.


WEBrick
-------

WEBrick is currently not supported as a Rack host. You'll be better off
just running puppetmasterd directly.


Apache with Passenger (aka mod_rails)
-------------------------------------

Make sure puppetmasterd ran at least once, so the CA & SSL certificates
got set up.

Requirements:
  Passenger version 2.2.2 or 2.2.5 or newer***
  Rack version 1.0.0
  Apache 2.x
  SSL Module loaded

Apache configuration snippet is in files/apache2.conf. You need to
edit it to reflect your servername.

Required puppet.conf settings:
  [puppetmasterd]
    ssl_client_header = SSL_CLIENT_S_DN
    ssl_client_verify_header = SSL_CLIENT_VERIFY

To set up most of the boring stuff, you can use this command:
  puppet --verbose --modulepath ./ext ext/rack/manifest.pp
Or use manifest.pp as a starting point for your own module.

Note: Passenger will not let applications run as root or the Apache user,
instead an implicit setuid will be done, to the user whom owns
config.ru. Therefore, config.ru shall be owned by the puppet user.


*** Important note about Passenger versions:
    2.2.2 is known to work.
    2.2.3-2.2.4 are known to *NOT* work.
    2.2.5 works again when used with Puppet 0.25.2+.
    Passenger installation doc: http://www.modrails.com/install.html

