mirror of
https://git.freebsd.org/ports.git
synced 2025-04-28 09:36:41 -04:00
92 lines
2.3 KiB
Bash
92 lines
2.3 KiB
Bash
#!/bin/sh
|
|
|
|
# PROVIDE: oauth2_proxy
|
|
# REQUIRE: NETWORKING SERVERS
|
|
# KEYWORD: shutdown
|
|
#
|
|
# Add these following line to /etc/rc.conf.local or /etc/rc.conf
|
|
# to enable this service:
|
|
#
|
|
# oauth2_proxy_enable (bool): Set it to YES to enable keycloak on startup.
|
|
# Default: NO
|
|
# oauth2_proxy_user (string): User account to run with.
|
|
# Default: www
|
|
# oauth2_proxy_flags (string): Additional flags for the startup script.
|
|
#
|
|
|
|
. /etc/rc.subr
|
|
|
|
case $0 in
|
|
/etc/rc*)
|
|
# during boot (shutdown) $0 is /etc/rc (/etc/rc.shutdown),
|
|
# so get the name of the script from $_file
|
|
name=$_file
|
|
;;
|
|
*)
|
|
name=$0
|
|
;;
|
|
esac
|
|
|
|
name=${name##*/}
|
|
rcvar=${name}_enable
|
|
desc="OAuth 2.0 proxy server"
|
|
|
|
load_rc_config "$name"
|
|
|
|
eval "${rcvar}=\${${rcvar}:-'NO'}"
|
|
eval "${name}_svcj_options=\${${name}_svcj_options:-'net_basic'}"
|
|
eval "_oauth2_proxy_user=\${${name}_user:-'%%USER%%'}"
|
|
eval "_oauth2_proxy_group=\${${name}_group:-'%%GROUP%%'}"
|
|
eval "_oauth2_proxy_flags=\${${name}_flags:-''}"
|
|
eval "_oauth2_proxy_restart=\${${name}_restart:-'60'}"
|
|
|
|
configname=$(echo ${name}.cfg | sed -e 's:_:-:g')
|
|
|
|
pidfile=%%RUN_DIR%%/${name}.pid
|
|
childpidfile=%%RUN_DIR%%/${name}_child.pid
|
|
command=/usr/sbin/daemon
|
|
command_args="-u ${_oauth2_proxy_user} -o %%LOG_DIR%%/${name}.out -t ${name} -R ${_oauth2_proxy_restart} -P ${pidfile} -p ${childpidfile}"
|
|
|
|
start_cmd="oauth2_proxy_start"
|
|
stop_cmd="oauth2_proxy_stop"
|
|
|
|
oauth2_proxy_start()
|
|
{
|
|
if [ ! -d "%%LOG_DIR%%" ]; then
|
|
install -d -o ${_oauth2_proxy_user} %%LOG_DIR%%
|
|
fi
|
|
if [ ! -d "%%RUN_DIR%%" ]; then
|
|
install -d -o ${_oauth2_proxy_user} %%RUN_DIR%%
|
|
fi
|
|
|
|
chown -R ${_oauth2_proxy_user} %%LOG_DIR%%
|
|
|
|
echo "Starting ${name}."
|
|
${command} ${command_args} \
|
|
%%PREFIX%%/bin/%%PORTNAME%% \
|
|
--config %%PREFIX%%/etc/${configname} \
|
|
${_oauth2_proxy_flags}
|
|
}
|
|
|
|
oauth2_proxy_stop()
|
|
{
|
|
local pid_daemon
|
|
local pid_child
|
|
|
|
echo "Stopping ${name}."
|
|
|
|
pid_daemon=$(check_pidfile ${pidfile} ${command})
|
|
if [ ! -z "${pid_daemon}" ]; then
|
|
kill -TERM ${pid_daemon}
|
|
fi
|
|
|
|
|
|
pid_child=$(check_pidfile ${childpidfile} %%PREFIX%%/bin/%%PORTNAME%%)
|
|
if [ ! -z "${pid_child}" ]; then
|
|
kill -TERM ${pid_child}
|
|
fi
|
|
|
|
wait_for_pids ${pid_daemon} ${pid_child}
|
|
}
|
|
|
|
run_rc_command "$1"
|