#!/sbin/runscript
# Copyright 1999-2013 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

depend() {
	need net couchdb rabbitmq chef-expander
	before chef-client
}

CHEF_SERVER_BINARY=${CHEF_SERVER_BINARY:-/usr/bin/chef-server}
CHEF_SERVER_PIDFILE=${CHEF_SERVER_PIDFILE:-/var/run/chef/server.%s.pid}
CHEF_SERVER_LOGFILE=${CHEF_SERVER_LOGFILE:-/var/log/chef/server.log}
CONFIGFILE=${CONFIGFILE:-/etc/chef/server.rb}
CLUSTER_NODES=${CLUSTER_NODES:-1}
CHEF_USER=${CHEF_USER:-chef}
CHEF_GROUP=${CHEF_GROUP:-chef}

start_pre() {
	checkpath -q -d -m 0750 -o ${CHEF_USER}:${CHEF_GROUP} \
		/etc/chef \
		/etc/chef/certificates \
		/var/{lib,log,run}/chef

	checkpath -q -f -m 0600 -o ${CHEF_USER}:${CHEF_GROUP} \
		${CONFIGFILE}
}

start() {
	ebegin "Starting Chef server"
	${CHEF_SERVER_BINARY} -d -P ${CHEF_SERVER_PIDFILE} -C ${CONFIGFILE} \
		-u ${CHEF_USER} -G ${CHEF_GROUP} --name chef-server \
		-c ${CLUSTER_NODES} -L ${CHEF_SERVER_LOGFILE} ${CHEF_SERVER_OPTS} > /dev/null
	eend $?
}

stop() {
	ebegin "Shutting down Chef server"
	${CHEF_SERVER_BINARY} -K all -P ${CHEF_SERVER_PIDFILE} > /dev/null
	eend $?
}
