#!/sbin/openrc-run

name="Valkey Sentinel"

: ${cfgfile:="/etc/valkey/sentinel.conf"}
: ${command_user:="valkey:valkey"}

command="/usr/bin/valkey-sentinel"
command_args="$cfgfile --daemonize no $command_args"
command_background="yes"

pidfile="/run/$RC_SVCNAME.pid"

required_files="$cfgfile"

depend() {
	use net localmount logger
	after keepalived firewall valkey
	provide redis-sentinel
}

start_pre() {
	# Sets start-start-daemon's --chdir.
	directory="$(config_get 'dir' '/var/lib/valkey')" || return 1

	local logfile="$(config_get 'logfile')"
	if [ "$logfile" ]; then
		checkpath -f -o "$command_user" "$logfile" || return 1
	fi
}

config_get() {
	local key="$1"
	local default="${2:-}"

	local value="$(awk "\$1 == \"$key\" { print \$2 }" "$cfgfile")"
	printf '%s\n' "${value:-$default}"
}