#!/bin/sh

# This program is Copyright (c) SolarWinds Worldwide, LLC. All rights reserved.

VERSION=unknown

# PROVIDE: vividcortex
# REQUIRE: DAEMON
# BEFORE: LOGIN
# KEYWORD: shutdown

BINDIR="/usr/local/bin/vividcortex"
AGENTS="vc-aggregator vc-docdb-control vc-docdb-query vc-docdb-metrics vc-dump vc-es-query vc-es-metrics vc-mongo-query vc-mongo-metrics vc-mssql-metrics vc-mysql-query vc-mysql-metrics vc-os-metrics vc-pgsql-query vc-pgsql-metrics vc-proc vc-redis-query vc-redis-metrics vc-vitess-metrics"

. /etc/rc.subr

name="vividcortex"

command="${BINDIR}/vc-agent-007"
command_args="-startup-network-retries=10 -startup-network-retry-interval=10s"

pidfile=/var/run/vividcortex/vc-agent-007.pid
set_conf_file=0
if [ "${set_conf_file}" != "0" ]; then
	command_args="${command_args} -config-file=/etc/vividcortex/global.conf"
fi
required_files="/etc/vividcortex/global.conf"

stop_precmd="echo \"Stopping ${BINDIR}/vc-agent-007\""
stop_postcmd=vividcortex_stop_children
rcvar=vividcortex_enable

load_rc_config "${name}"
# This must follow loading of config.
: ${vividcortex_enable:=YES}

# Set HOME in case it isn't or points to a user dir (sudo)
HOME=~root
test -d "${HOME}" || HOME=/root
test -d "${HOME}" || HOME=
export HOME

vividcortex_stop_children()
{
	rm -f "${pidfile}"
	for CHILD in ${AGENTS} ; do 
		THISPID=$(check_process "${BINDIR}/${CHILD}")
		if [ ! -z "${THISPID}" ]; then
			echo "Stopping ${BINDIR}/${CHILD}."
			kill -TERM "${THISPID}"
			wait_for_pids "${THISPID}"
		fi
	done
}

run_rc_command "$1"
