#!/usr/bin/env bash set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" # shellcheck source=./lib.sh source "$SCRIPT_DIR/lib.sh" CONFIG_FILE="$SCRIPT_DIR/output/Caddyfile.generated" FORMAT_FILE=true USE_DOCKER=false DO_ADAPT=true DO_VALIDATE=true CADDY_IMAGE="slothcroissant/caddy-cloudflaredns:latest" usage() { cat </dev/null fi if [[ "$DO_VALIDATE" == "true" ]]; then log_info "Validating Caddyfile (Docker)..." run_docker_caddy \ -v "$CONFIG_FILE:/etc/caddy/Caddyfile:ro" \ "$CADDY_IMAGE" caddy validate --config /etc/caddy/Caddyfile --adapter caddyfile fi else require_cmd caddy if [[ "$FORMAT_FILE" == "true" ]]; then log_info "Formatting Caddyfile..." caddy fmt --overwrite "$CONFIG_FILE" fi if [[ "$DO_ADAPT" == "true" ]]; then log_info "Adapting Caddyfile..." caddy adapt --config "$CONFIG_FILE" --adapter caddyfile >/dev/null fi if [[ "$DO_VALIDATE" == "true" ]]; then log_info "Validating Caddyfile..." caddy validate --config "$CONFIG_FILE" --adapter caddyfile fi fi log_success "Validation checks complete"