#!/sbin/openrc-run

name="llama-swap"
description="Reliable model swapping for any local OpenAI/Anthropic compatible server - llama.cpp, vllm, etc"

: ${config:="/etc/llama-swap/config.yaml"}
# add a default model location for users
: ${models:="/var/lib/llama-swap"}

supervisor=supervise-daemon
command="/usr/bin/llama-swap"
command_args="--config $config --watch-config"
command_user=llama-swap:llama-swap

output_logger="logger -t llama-swap -p daemon.info"
error_logger="logger -t llama-swap -p daemon.info"

depend() {
	need net
	after firewall
}

start_pre() {
	checkpath -d -o "$command_user" -m 750 "/etc/llama-swap"
	checkpath -f -o "$command_user" -m 644 "$config"
	checkpath -d -o "$command_user" -m 750 "$models"
}
