#!/sbin/openrc-run
# Copyright 2025 CleanStart

name="GitLab Workhorse"
description="GitLab Workhorse - Smart reverse proxy for GitLab"

: ${workhorse_user:="git"}
: ${workhorse_group:="git"}
: ${workhorse_socket:="/var/lib/gitlab/tmp/sockets/gitlab-workhorse.socket"}
: ${workhorse_log:="/var/log/gitlab/gitlab-workhorse.log"}

command="/usr/bin/gitlab-workhorse"
command_args="-listenUmask 0 -listenNetwork unix -listenAddr ${workhorse_socket} -authBackend http://127.0.0.1:8080 -documentRoot /usr/share/webapps/gitlab/public"
command_background="yes"
command_user="${workhorse_user}:${workhorse_group}"
pidfile="/run/gitlab/gitlab-workhorse.pid"
output_log="${workhorse_log}"
error_log="${workhorse_log}"

depend() {
need gitlab
after gitlab
}

start_pre() {
checkpath -d -m 0755 -o "${workhorse_user}:${workhorse_group}" /run/gitlab
checkpath -d -m 0750 -o "${workhorse_user}:${workhorse_group}" "$(dirname ${workhorse_socket})"
checkpath -f -m 0640 -o "${workhorse_user}:${workhorse_group}" "${workhorse_log}"
}
