#!/bin/sh
### BEGIN INIT INFO
# Provides:          pvedaemon
# Required-Start:    $remote_fs $network $syslog
# Required-Stop:     $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: PVE API Daemon
# Description:       Proxmox VE API Daemon
### END INIT INFO

PATH=/sbin:/bin:/usr/sbin:/usr/bin
NAME=pvedaemon
DAEMON=/usr/bin/$NAME
PIDFILE=/run/$NAME.pid
DESC="PVE API Daemon"

test -x $DAEMON || exit 0

. /lib/lsb/init-functions

case "$1" in
    start)
        log_daemon_msg "Starting $DESC" "$NAME"
        
        /usr/bin/pmxcfs || true
        /usr/bin/pvecm updatecerts --silent || true
        
        if start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- start; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
        
    stop)
        log_daemon_msg "Stopping $DESC" "$NAME"
        if start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE; then
            rm -f $PIDFILE
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
        
    restart|force-reload)
        $0 stop
        sleep 1
        $0 start
        ;;
        
    reload)
        log_daemon_msg "Reloading $DESC" "$NAME"
        if start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --exec $DAEMON; then
            log_end_msg 0
        else
            log_end_msg 1
        fi
        ;;
        
    status)
        status_of_proc -p $PIDFILE "$DAEMON" "$NAME" && exit 0 || exit $?
        ;;
        
    *)
        echo "Usage: $0 {start|stop|restart|force-reload|reload|status}"
        exit 1
        ;;
esac

exit 0
