#!/bin/sh # # $FreeBSD: head/sysutils/puppet5/files/puppetmaster.in 467077 2018-04-11 14:54:38Z romain $ # # 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