#!/usr/bin/env bash
# onx-caddy-reload — Validate + reload Caddy.
#
# Output: {"reloaded": true}
# Exit: 0=ok, 1=invalid-config, 2=reload-failed, 3=caddy-not-installed

set -euo pipefail

SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
# shellcheck source=_lib/common.sh
source "${SCRIPT_DIR}/_lib/common.sh"

CADDYFILE="/etc/caddy/Caddyfile"

command -v caddy >/dev/null 2>&1 || onx_die 3 "caddy not found"

if [[ -f "${CADDYFILE}" ]] && ! caddy validate --config "${CADDYFILE}" 2>/dev/null; then
  onx_die 1 "caddy validate failed (config invalid)"
fi

if ! systemctl reload caddy; then
  onx_die 2 "systemctl reload caddy failed"
fi

onx_json_out "reloaded" "true"
