#!/bin/sh # Validate system Caddy configuration and reload Caddy on success. # Usage: run from the checked-out deployment directory, or pass env vars # Environment variables: # SYSTEM_CADDYFILE - path to system Caddyfile that includes this repo (default /etc/caddy/Caddyfile) # DEPLOY_DIR - path of the checked-out config repo used by system Caddy (not modified by this script) set -eu SYSTEM_CADDYFILE=${SYSTEM_CADDYFILE:-/etc/caddy/Caddyfile} DEPLOY_DIR=${DEPLOY_DIR:-/srv/caddy-config} echo "Validating Caddy configuration: ${SYSTEM_CADDYFILE}" if ! /usr/bin/caddy validate --config "${SYSTEM_CADDYFILE}"; then echo "Caddy validation failed; aborting reload" >&2 exit 1 fi echo "Validation succeeded; reloading Caddy" sudo systemctl reload caddy echo "Caddy reloaded successfully"