freebsd-ports/sysutils/puppet5/files/puppetmaster.in
Romain Tartière 2c2eff30c6 New port sysutils/puppet5
Copy sysutils/puppet4 to sysutils/puppet5 and update.

With this update, we switched the default facter implementation from ruby
(sysutils/rubygem-facter) to C++ (sysutils/facter).  The legacy implementation
can still be chosen with options.

With hat:	puppet
2017-08-12 13:53:05 +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