#!/bin/sh # # $FreeBSD: head/sysutils/puppet38/files/puppetmaster.in 400710 2015-11-03 19:02:08Z mmoll $ # # 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