#!/sbin/openrc-run

name="Distribution Registry"
description="Docker Registry Distribution"

# Configuration file path
: ${cfgfile:="/etc/distribution/config.yml"}

# User and group to run as
: ${command_user:="docker-registry:docker-registry"}

# Healthcheck settings
: ${healthcheck_url="http://127.0.0.1:5001/debug/health"}
: ${healthcheck_timer=5}

command="/usr/bin/distribution"
command_args="serve $cfgfile"
command_background="yes"
pidfile="/run/$RC_SVCNAME.pid"
required_files="$cfgfile"

depend() {
need localmount net
use dns
}

start_pre() {
# Create data directory if it doesn't exist
checkpath -d -m 0750 -o "$command_user" /var/lib/distribution

# If logfile is specified, ensure it exists with correct permissions
if [ "$logfile" ]; then
error_log="$logfile"
checkpath -f -m 0644 -o "$command_user" "$logfile" || return 1
fi
}

healthcheck() {
[ "$healthcheck_url" ] || return 0
wget -q -O - "$healthcheck_url" >/dev/null 2>&1
}
