#!/sbin/openrc-run

name="cadence"
description="Cadence Workflow Orchestration Server"

command="/usr/bin/cadence-server"
command_args="start ${CADENCE_OPTS}"
command_user="cadence:cadence"
command_background=true

pidfile="/run/${RC_SVCNAME}.pid"
output_log="/var/log/cadence/cadence.log"
error_log="/var/log/cadence/cadence-error.log"

# Service dependencies
depend() {
	need net
	after firewall
	use postgresql mysql cassandra
}

start_pre() {
	# Ensure log directory exists
	checkpath --directory --mode 0750 \
		--owner cadence:cadence \
		/var/log/cadence
	
	# Ensure data directory exists
	checkpath --directory --mode 0750 \
		--owner cadence:cadence \
		/var/lib/cadence
	
	# Check if config file exists
	if [ ! -f /etc/cadence/config.yaml ]; then
		eerror "Configuration file /etc/cadence/config.yaml not found"
		return 1
	fi
}

stop() {
	ebegin "Stopping ${name}"
	start-stop-daemon --stop \
		--pidfile "${pidfile}" \
		--retry 15
	eend $?
}

reload() {
	ebegin "Reloading ${name}"
	start-stop-daemon --signal HUP \
		--pidfile "${pidfile}"
	eend $?
}

