You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.1 KiB
97 lines
3.1 KiB
#!@l_prefix@/bin/openpkg rc |
|
## |
|
## rc.spire -- Run-Commands |
|
## |
|
|
|
%config |
|
spire_enable="$openpkg_rc_def" |
|
spire_daemons="@daemons@" |
|
spire_flags_agent="" |
|
spire_flags_server="" |
|
spire_log_prolog="true" |
|
spire_log_epilog="true" |
|
spire_log_numfiles="10" |
|
spire_log_minsize="1M" |
|
spire_log_complevel="9" |
|
|
|
%common |
|
spire_cfgfile_agent="@l_prefix@/etc/spire/spire-agent.conf" |
|
spire_pidfile_agent="@l_prefix@/var/spire/run/spire-agent.pid" |
|
spire_logfile_agent="@l_prefix@/var/spire/log/spire-agent.log" |
|
spire_cfgfile_server="@l_prefix@/etc/spire/spire-server.conf" |
|
spire_pidfile_server="@l_prefix@/var/spire/run/spire-server.pid" |
|
spire_logfile_server="@l_prefix@/var/spire/log/spire-server.log" |
|
spire_signal () { |
|
[ -f $spire_pidfile_agent ] && \ |
|
kill -$1 `cat $spire_pidfile_agent` |
|
local spire_pid_agent=$? |
|
[ -f $spire_pidfile_server ] && \ |
|
kill -$1 `cat $spire_pidfile_server` |
|
local spire_pid_server=$? |
|
[ $spire_pid_agent -eq 0 \ |
|
-o $spire_pid_server -eq 0 ] |
|
} |
|
|
|
%status -u @l_rusr@ -o |
|
spire_usable="unknown" |
|
spire_active="no" |
|
rcService spire enable yes && \ |
|
spire_signal 0 && spire_active="yes" |
|
echo "spire_enable=\"$spire_enable\"" |
|
echo "spire_usable=\"$spire_usable\"" |
|
echo "spire_active=\"$spire_active\"" |
|
|
|
%start -u @l_rusr@ |
|
rcService spire enable yes || exit 0 |
|
rcService spire active yes && exit 0 |
|
( GOMAXPROCS=32 |
|
export GOMAXPROCS |
|
join_token="" |
|
for daemon in $spire_daemons; do |
|
cmd="nohup @l_prefix@/sbin/spire-$daemon" |
|
cmd="$cmd run" |
|
cmd="$cmd --config \$spire_cfgfile_$daemon" |
|
if [ ".$daemon" = .agent -a ".$join_token" != . ]; then |
|
cmd="$cmd -joinToken \"$join_token\"" |
|
fi |
|
cmd="$cmd \$spire_flags_$daemon" |
|
cmd="$cmd </dev/null >>\$spire_logfile_$daemon 2>&1 &" |
|
eval "$cmd" |
|
eval "echo \$! >\$spire_pidfile_$daemon" |
|
sleep 1 |
|
if [ ".$daemon" = .server ]; then |
|
sleep 3 |
|
join_token=`@l_prefix@/sbin/spire-server token generate -serverAddr 127.0.0.1:8081 | awk '{ print $2; }'` |
|
fi |
|
done |
|
) >/dev/null 2>&1 |
|
|
|
%stop -u @l_rusr@ |
|
rcService spire enable yes || exit 0 |
|
rcService spire active no && exit 0 |
|
spire_signal TERM |
|
sleep 2 |
|
pidfiles="" |
|
for daemon in $spire_daemons; do |
|
eval "pidfiles=\"\$pidfiles \$spire_pidfile_$daemon\"" |
|
done |
|
rm -f $pidfiles >/dev/null 2>&1 || true |
|
|
|
%restart -u @l_rusr@ |
|
rcService spire enable yes || exit 0 |
|
rcService spire active no && exit 0 |
|
rc spire stop start |
|
|
|
%daily -u @l_rusr@ |
|
rcService spire enable yes || exit 0 |
|
logfiles="" |
|
for daemon in $spire_daemons; do |
|
eval "logfiles=\"\$logfiles \$spire_logfile_$daemon\"" |
|
done |
|
shtool rotate -f \ |
|
-n ${spire_log_numfiles} -s ${spire_log_minsize} -d \ |
|
-z ${spire_log_complevel} -m 664 -o @l_rusr@ -g @l_rgrp@ \ |
|
-P "${spire_log_prolog}" \ |
|
-E "${spire_log_epilog}; rc spire restart" \ |
|
$logfiles |
|
|
|
|