ports/sysutils/puppet4/files/puppetmaster.in
Michael Moll ac97d7eeb2 new port: sysutils/puppet4
This is version 4.x of sysutils/puppet, which is in some large parts
incompatible with previous versions. As the C++ rewrite of facter is
not resolving some required facts on FreeBSD yet, default to the old
version written in Ruby for now.
2015-09-25 13:15:46 +00:00

56 lines
1.2 KiB
Bash

#!/bin/sh
#
# $FreeBSD$
#
# PROVIDE: puppetmaster
# REQUIRE: LOGIN
# Add the following lines to /etc/rc.conf to enable the puppetmaster:
#
# puppetmaster_enable="YES"
#
. /etc/rc.subr
name="puppetmaster"
rcvar=puppetmaster_enable
load_rc_config "${name}"
: ${puppetmaster_enable="NO"}
: ${puppetmaster_rundir="/var/run/puppet"}
: ${puppetmaster_flags="--rundir=${puppetmaster_rundir}"}
command_interpreter=%%RUBY%%
command="%%PREFIX%%/bin/puppet"
command_args="master ${puppetmaster_flags}"
unset puppetmaster_flags
pidfile="${puppetmaster_rundir}/master.pid"
puppet_manifest="$($command config print manifest)"
start_precmd="puppetmaster_checkconfig"
restart_precmd="puppetmaster_checkconfig"
puppetmaster_checkconfig() {
echo -n "Performing sanity check of ${name} configuration: "
if ! ${command} parser validate "${puppet_manifest}"
then
echo "FAILED"
return 1
else
echo "OK"
return 0
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