fix: add systemd path and service for automatic Caddy reload on route changes

This commit is contained in:
Jakub Dorfman 2026-04-28 20:42:12 +02:00
parent a48cca2108
commit dcfa5609c8

View file

@ -335,29 +335,29 @@ cmd_render_route() {
log info "rendered route ${route_file}"
}
maybe_reload_caddy() {
# Try Caddy admin API first (no root required)
if curl -sf -X POST http://localhost:2019/config/ >/dev/null 2>&1; then
log info "reloaded caddy via admin API"
return
fi
# maybe_reload_caddy() {
# # Try Caddy admin API first (no root required)
# if curl -sf -X POST http://localhost:2019/config/ >/dev/null 2>&1; then
# log info "reloaded caddy via admin API"
# return
# fi
# Validate config if caddy binary is available
if [[ -x /run/current-system/sw/bin/caddy && -f /etc/caddy/Caddyfile ]]; then
/run/current-system/sw/bin/caddy validate \
--config /etc/caddy/Caddyfile --adapter caddyfile \
|| echo "warning: caddy validation failed" >&2
fi
# # Validate config if caddy binary is available
# if [[ -x /run/current-system/sw/bin/caddy && -f /etc/caddy/Caddyfile ]]; then
# /run/current-system/sw/bin/caddy validate \
# --config /etc/caddy/Caddyfile --adapter caddyfile \
# || echo "warning: caddy validation failed" >&2
# fi
# Fall back to systemctl (sudo if needed)
if [[ "${EUID}" -eq 0 ]]; then
systemctl reload caddy && log info "reloaded caddy"
elif sudo -n /run/current-system/sw/bin/systemctl reload caddy 2>/dev/null; then
log info "reloaded caddy via sudo"
else
log warning "caddy reload requires root; run: sudo systemctl reload caddy"
fi
}
# # Fall back to systemctl (sudo if needed)
# if [[ "${EUID}" -eq 0 ]]; then
# systemctl reload caddy && log info "reloaded caddy"
# elif sudo -n /run/current-system/sw/bin/systemctl reload caddy 2>/dev/null; then
# log info "reloaded caddy via sudo"
# else
# log warning "caddy reload requires root; run: sudo systemctl reload caddy"
# fi
# }
cmd_deploy() {
local name="$1"