|
|
@@ -0,0 +1,134 @@ |
|
|
#!/bin/bash |
|
|
# |
|
|
# consul Manage the consul agent |
|
|
# |
|
|
# chkconfig: 2345 95 95 |
|
|
# description: Consul is a tool for service discovery and configuration |
|
|
# processname: consul |
|
|
# config: /etc/consul.conf |
|
|
# pidfile: /var/run/consul.pid |
|
|
|
|
|
### BEGIN INIT INFO |
|
|
# Provides: consul |
|
|
# Required-Start: $local_fs $network |
|
|
# Required-Stop: |
|
|
# Should-Start: |
|
|
# Should-Stop: |
|
|
# Default-Start: 2 3 4 5 |
|
|
# Default-Stop: 0 1 6 |
|
|
# Short-Description: Manage the consul agent |
|
|
# Description: Consul is a tool for service discovery and configuration |
|
|
### END INIT INFO |
|
|
|
|
|
# source function library |
|
|
. /etc/rc.d/init.d/functions |
|
|
|
|
|
prog="consul" |
|
|
user="consul" |
|
|
exec="/usr/local/bin/$prog" |
|
|
pidfile="/var/run/$prog.pid" |
|
|
lockfile="/var/lock/subsys/$prog" |
|
|
logfile="/var/log/$prog" |
|
|
conffile="/etc/consul.conf" |
|
|
confdir="/etc/consul.d" |
|
|
|
|
|
# pull in sysconfig settings |
|
|
[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog |
|
|
|
|
|
export GOMAXPROCS=${GOMAXPROCS:-2} |
|
|
|
|
|
start() { |
|
|
[ -x $exec ] || exit 5 |
|
|
|
|
|
[ -f $conffile ] || exit 6 |
|
|
[ -d $confdir ] || exit 6 |
|
|
|
|
|
umask 077 |
|
|
|
|
|
touch $logfile $pidfile |
|
|
chown $user:$user $logfile $pidfile |
|
|
|
|
|
echo -n $"Starting $prog: " |
|
|
|
|
|
## holy shell shenanigans, batman! |
|
|
## daemon can't be backgrounded. we need the pid of the spawned process, |
|
|
## which is actually done via runuser thanks to --user. you can't do "cmd |
|
|
## &; action" but you can do "{cmd &}; action". |
|
|
daemon \ |
|
|
--pidfile=$pidfile \ |
|
|
--user=consul \ |
|
|
" { $exec agent -config-file=$conffile -config-dir=$confdir &>> $logfile & } ; echo \$! >| $pidfile " |
|
|
|
|
|
RETVAL=$? |
|
|
echo |
|
|
|
|
|
[ $RETVAL -eq 0 ] && touch $lockfile |
|
|
|
|
|
return $RETVAL |
|
|
} |
|
|
|
|
|
stop() { |
|
|
echo -n $"Shutting down $prog: " |
|
|
## graceful shutdown with SIGINT |
|
|
killproc -p $pidfile $exec -INT |
|
|
RETVAL=$? |
|
|
echo |
|
|
[ $RETVAL -eq 0 ] && rm -f $lockfile |
|
|
return $RETVAL |
|
|
} |
|
|
|
|
|
restart() { |
|
|
stop |
|
|
start |
|
|
} |
|
|
|
|
|
reload() { |
|
|
echo -n $"Reloading $prog: " |
|
|
killproc -p $pidfile $exec -HUP |
|
|
echo |
|
|
} |
|
|
|
|
|
force_reload() { |
|
|
restart |
|
|
} |
|
|
|
|
|
rh_status() { |
|
|
status -p "$pidfile" -l $prog $exec |
|
|
} |
|
|
|
|
|
rh_status_q() { |
|
|
rh_status >/dev/null 2>&1 |
|
|
} |
|
|
|
|
|
case "$1" in |
|
|
start) |
|
|
rh_status_q && exit 0 |
|
|
$1 |
|
|
;; |
|
|
stop) |
|
|
rh_status_q || exit 0 |
|
|
$1 |
|
|
;; |
|
|
restart) |
|
|
$1 |
|
|
;; |
|
|
reload) |
|
|
rh_status_q || exit 7 |
|
|
$1 |
|
|
;; |
|
|
force-reload) |
|
|
force_reload |
|
|
;; |
|
|
status) |
|
|
rh_status |
|
|
;; |
|
|
condrestart|try-restart) |
|
|
rh_status_q || exit 0 |
|
|
restart |
|
|
;; |
|
|
*) |
|
|
echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" |
|
|
exit 2 |
|
|
esac |
|
|
|
|
|
exit $? |