40 lines
1 KiB
Text
40 lines
1 KiB
Text
|
#!/sbin/openrc-run
|
||
|
|
||
|
name="Gitaly"
|
||
|
description="A Git RPC service for handling all the git calls made by GitLab"
|
||
|
|
||
|
: ${gitaly_config:="/etc/gitlab/gitaly.toml"}
|
||
|
: ${gitaly_logfile:="/var/log/gitlab/gitaly.log"}
|
||
|
|
||
|
command="/usr/bin/gitaly"
|
||
|
command_args="$gitaly_config"
|
||
|
command_background="yes"
|
||
|
command_user="git"
|
||
|
|
||
|
output_log="$gitaly_logfile"
|
||
|
error_log="$gitaly_logfile"
|
||
|
pidfile="/run/gitaly.pid"
|
||
|
supervise_daemon_args="--env TZ=:/etc/localtime"
|
||
|
start_stop_daemon_args="$supervise_daemon_args"
|
||
|
|
||
|
rc_ulimit="-n 15000"
|
||
|
|
||
|
required_files="$gitaly_config"
|
||
|
|
||
|
depend() {
|
||
|
use net
|
||
|
}
|
||
|
|
||
|
start_pre() {
|
||
|
local socket_path=$(sed -En "s/^\s*socket_path\s*=\s*[\"']([^\"']+)[\"']/\1/p" "$gitaly_config")
|
||
|
local runtime_dir=$(sed -En "s/^\s*runtime_dir\s*=\s*[\"']([^\"']+)[\"']/\1/p" "$gitaly_config")
|
||
|
|
||
|
if [ "$socket_path" ]; then
|
||
|
checkpath -q -d -m 755 -o $command_user "${socket_path%/*}" || return 1
|
||
|
fi
|
||
|
if [ "$runtime_dir" ]; then
|
||
|
checkpath -q -d -m 750 -o $command_user "$runtime_dir" || return 1
|
||
|
fi
|
||
|
checkpath -f -m 640 -o $command_user "$gitaly_logfile"
|
||
|
}
|