#!/sbin/openrc-run
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
	need localmount net
	use dns logger puppetmaster netmount nfsmount
}

checkconfig() {
	if [ ! -d "${PUPPET_PID_DIR}" ] ; then
		eerror "Please make sure PUPPET_PID_DIR is defined and points to a existing directory"
		return 1
	fi

	return 0
}

start() {
	checkconfig || return $?

	local options=""
	[ -n "${PUPPET_EXTRA_OPTS}" ] && options="${options} ${PUPPET_EXTRA_OPTS}"

	ebegin "Starting puppet"
	start-stop-daemon --start --quiet \
		--pidfile "${PUPPET_PID_DIR}/agent.pid" \
		--exec /usr/bin/puppetd -- ${options}
	eend $? "Failed to start puppet"
}

stop() {
	ebegin "Stopping puppet"
	start-stop-daemon --stop --quiet \
		--pidfile "${PUPPET_PID_DIR}/agent.pid"
	local ret=$?
	eend ${ret} "Failed to stop puppet"
	rm -f "${PUPPET_PID_DIR}/agent.pid"
	return ${ret}
}
