27 lines
960 B
Bash
Executable File
27 lines
960 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Install the monolith watchdog as a macOS LaunchAgent.
|
|
# Run once after install or reboot: ./scripts/install-watchdog.sh
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
PLIST="$PROJECT_DIR/platforms/macos/com.mercadodevida.monolith-watchdog.plist"
|
|
DEST_DIR="$HOME/Library/LaunchAgents"
|
|
DEST="$DEST_DIR/com.mercadodevida.monolith-watchdog.plist"
|
|
|
|
echo "[INFO] Installing monolith watchdog service..."
|
|
|
|
# Stop existing instance if any
|
|
if launchctl list | grep -q com.mercadodevida.monolith-watchdog; then
|
|
echo "[INFO] Stopping existing watchdog..."
|
|
launchctl unload "$DEST" 2>/dev/null || true
|
|
fi
|
|
|
|
mkdir -p "$DEST_DIR"
|
|
cp "$PLIST" "$DEST"
|
|
launchctl load "$DEST"
|
|
echo "[OK] Watchdog installed and loaded. PID: $(launchctl list | grep com.mercadodevida.monolith-watchdog | awk '{print $1}')"
|
|
|
|
# Start services immediately too
|
|
"$SCRIPT_DIR/monolith.sh" prod restart
|