#!/bin/bash
#
# SPDX-License-Identifier: Apache-2.0
#
# Startup script for registry-token-server
#


DESC="Docker Registry Token Server"
SERVICE="registry-token-server.service"
PIDFILE="/var/run/registry-token-server.pid"


status()
{
    if [ "`systemctl is-active registry-token-server.service`" = "active" ]; then
        RETVAL=0
        echo "$DESC is running"
        return
    else
        echo "$DESC is Not running"
        RETVAL=1
    fi
}

start()
{
    if [ -e $PIDFILE ]; then
        PIDDIR=/proc/$(cat $PIDFILE)
        if [ -d $PIDDIR ]; then
            echo "$DESC already running."
            return
        else
            echo "Removing stale PID file $PIDFILE"
            rm -f $PIDFILE
        fi
    fi

    echo "Starting $SERVICE..."

    systemctl start $SERVICE

    if [ $? -eq 0 ]; then
        echo "Started $SERVICE successfully"
        RETVAL=0
    else
        echo "$SERVICE failed!"
        RETVAL=1
    fi

}

stop()
{
    echo -n "Stopping $SERVICE..."
    systemctl stop $SERVICE
    if [ $? -eq 0 ]; then
        echo "$SERVICE stopped."
    else
        echo "failed to stop $SERVICE!"
    fi

    if [ -e $PIDFILE ]; then
        echo "Removing stale PID file $PIDFILE"
        rm -f $PIDFILE
    fi
}


case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status
        ;;
    restart)
        stop
        start
        ;;
    *)
        echo "Usage: $0 {start|stop|status|restart}"
        exit 1
        ;;
esac

exit $RETVAL
