|
### Next part of the file is managed by a different template ###
|
|
## Module: '<%= scope.to_hash['module_name'] %>'
|
|
<% module_paths = Puppet::Node::Environment.current[:modulepath].split(':').map{|i| File.expand_path(i) }.join("|") -%>
|
|
## Template source: 'MODULES<%= template_source.gsub(Regexp.new("^#{module_paths}"),"") %>'
|
|
# a config.ru, for use with every rack-compatible webserver.
|
|
# SSL needs to be handled outside this, though.
|
|
|
|
# if puppet is not in your RUBYLIB:
|
|
# $LOAD_PATH.unshift('/opt/puppet/lib')
|
|
|
|
$0 = "master"
|
|
|
|
# if you want debugging:
|
|
# ARGV << "--debug"
|
|
|
|
ARGV << "--rack"
|
|
|
|
# Rack applications typically don't start as root. Set --confdir and --vardir
|
|
# to prevent reading configuration from ~puppet/.puppet/puppet.conf and writing
|
|
# to ~puppet/.puppet
|
|
ARGV << "--confdir" << "<%= scope.lookupvar('::puppet::server::dir') %>"
|
|
ARGV << "--vardir" << "<%= scope.lookupvar('::puppet::server::vardir') %>"
|
|
|
|
# NOTE: it's unfortunate that we have to use the "CommandLine" class
|
|
# here to launch the app, but it contains some initialization logic
|
|
# (such as triggering the parsing of the config file) that is very
|
|
# important. We should do something less nasty here when we've
|
|
# gotten our API and settings initialization logic cleaned up.
|
|
#
|
|
# Also note that the "$0 = master" line up near the top here is
|
|
# the magic that allows the CommandLine class to know that it's
|
|
# supposed to be running master.
|
|
#
|
|
# --cprice 2012-05-22
|
|
|
|
require 'puppet/util/command_line'
|
|
# we're usually running inside a Rack::Builder.new {} block,
|
|
# therefore we need to call run *here*.
|
|
run Puppet::Util::CommandLine.new.execute
|
|
|