freebsd-ports/sysutils/puppet26/files/puppetmaster.in
Anders Nordby 761affa17a Resurrect Puppet 2.6, useful for those who have a Puppet master running
2.6.

Approved by:	swills (current sysutils/puppet maintainer)
2012-10-06 21:45:14 +00:00

57 lines
1.3 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: puppetmaster
# REQUIRE: NETWORK
# Add the following lines to /etc/rc.conf to enable the puppetmaster:
#
# puppetmaster_enable="YES"
#
. /etc/rc.subr
name="puppetmaster"
rcvar=`set_rcvar`
load_rc_config "${name}"
: ${puppetmaster_enable="NO"}
: ${puppetmaster_rundir="%%PUPPET_RUNDIR%%"}
: ${puppetmaster_flags="--rundir=${puppetmaster_rundir}"}
: ${puppetmaster_mongrel_ports=""}
command_interpreter="%%PREFIX%%/bin/ruby18"
command="%%PREFIX%%/bin/puppet"
command_args="master ${puppetmaster_flags}"
unset puppetmaster_flags
pidfile="${puppetmaster_rundir}/master.pid"
start_precmd="puppetmaster_checkconfig"
restart_precmd="puppetmaster_checkconfig"
puppetmaster_checkconfig() {
echo -n "Performing sanity check of ${name} configuration: "
${command} ${command_args} --parseonly >/dev/null 2>&1
rv=$?
if [ $rv != 0 ]; then
echo "FAILED, ${name} exited with status ${rv}"
${command} ${command_args} --parseonly
return 1
else
echo "OK"
fi
}
if [ -z "${puppetmaster_mongrel_ports}" ]; then
run_rc_command "$1"
else
for port in ${puppetmaster_mongrel_ports}; do
pidfile="${puppetmaster_rundir}/mongrel.${port}.pid"
command_args="master --pidfile=${pidfile} --servertype=mongrel --masterport=${port}"
run_rc_command "$1"
_rc_restart_done="false"
done
fi