#!/bin/sh # # $FreeBSD: head/sysutils/puppet27/files/puppetmaster.in 340872 2014-01-24 00:14:07Z mat $ # # PROVIDE: puppetmaster # REQUIRE: NETWORK # 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="%%PREFIX%%/bin/ruby18" command="%%PREFIX%%/bin/puppet" command_args="master ${puppetmaster_flags}" unset puppetmaster_flags pidfile="${puppetmaster_rundir}/master.pid" puppet_manifestdir="$($command config print manifestdir)" start_precmd="puppetmaster_checkconfig" restart_precmd="puppetmaster_checkconfig" puppetmaster_checkconfig() { echo -n "Performing sanity check of ${name} configuration: " if ! ${command} parser validate "${puppet_manifestdir}/site.pp" 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