ports/sysutils/puppet4/files/puppetmaster.in
Romain Tartière eafa270e9f Improve the puppetmaster rc-scripts
- Only check manifests syntax if the puppetmaster service is enabled (which is
  not recommended);
- Silent `puppet config print` on Puppet 5;
- Bump PORTREVISION.

With hat:	puppet
PR:		227440
Submitted by:	sasaki@fcc.ad.jp
2018-04-11 14:54:38 +00:00

64 lines
1.6 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"
start_precmd="puppetmaster_checkconfig"
restart_precmd="puppetmaster_checkconfig"
puppetmaster_checkconfig() {
puppet_manifest="$($command config print manifest)"
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/puppetserver).
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