ports/sysutils/puppet5/files/puppetmaster.in
2021-04-06 16:31:13 +02:00

61 lines
1.6 KiB
Bash

#!/bin/sh
# 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"
start_precmd="puppetmaster_checkconfig"
restart_precmd="puppetmaster_checkconfig"
puppetmaster_checkconfig() {
puppet_manifest="$($command config print --section=main manifest 2> /dev/null)"
cat << EOT
================================================================================
The Rack and WEBrick Puppet master servers are deprecated and will be removed
in a future release. Please use Puppet Server instead (sysutils/puppetserver5).
See http://links.puppet.com/deprecate-rack-webrick-servers for more information.
================================================================================
EOT
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