#!/bin/sh
# filepath: /usr/local/bin/service

SERVICE="$2"
ACTION="$1"

BUF_OPTS="--schema /usr/share/centreon-engine/proto --protocol grpc --http2-prior-knowledge"
ENGINE_GRPC_ADDR="http://${SERVICE}:50155"

case "$SERVICE" in
  centengine)
    case "$ACTION" in
      reload)
        # RESTART signal = SIGHUP equivalent (config reload, process stays up)
        buf curl $BUF_OPTS \
          -d '{"process": "RESTART"}' \
          "$ENGINE_GRPC_ADDR/com.centreon.engine.Engine/SignalProcess"
        exit $?
        ;;
      restart)
        # SHUTDOWN signal — Docker restart:always/unless-stopped brings the container back
        buf curl $BUF_OPTS \
          -d '{"process": "SHUTDOWN"}' \
          "$ENGINE_GRPC_ADDR/com.centreon.engine.Engine/SignalProcess"
        exit $?
        ;;
      *)
        echo "Unsupported action: $ACTION"
        exit 1
        ;;
    esac
    ;;
  cbd)
    case "$ACTION" in
      restart|reload)
        curl -sf -X POST "http://$SERVICE:8000/$ACTION"
        exit $?
        ;;
      *)
        echo "Unsupported action: $ACTION"
        exit 1
        ;;
    esac
    ;;
  *)
    echo "Unsupported service: $SERVICE"
    exit 1
    ;;
esac
