mcaxl/docs/Caddyfile
Ryan Malloy 314a80d6de docs: deployment scaffolding + logos + live cluster examples
Three additions to the docs site, all atomic to docs/:

1. Deployment configs (Dockerfile + Caddyfile + docker-compose.yml +
   .env.example + Makefile) mirroring bingham/cucx's pattern. The
   compose service uses caddy-docker-proxy labels with the operator's
   .mcp.l.supported.systems wildcard DNS pattern; suggested subdomain
   is mcaxl-docs.mcp.l.supported.systems.

2. Logo + favicon (forest-green palette matching the existing custom.css
   accent). Wordmark uses ui-monospace with currentColor so Starlight
   inverts on light/dark; icon-mark is a terminal chevron + three
   diminishing query-row lines (audit-by-query motif).

3. Live cluster examples in reference/tools.md for axl_version,
   axl_list_tables (route% pattern), and axl_describe_table
   (routepartition). Outputs sanitized per python.md PII rules
   (15.0.1.12900(234) → 15.0(1); cluster-fingerprinting build string
   removed).

Build clean: 17 pages built, pagefind search index across all,
favicon resolves to /favicon.svg, logo fingerprinted into _astro/.

Not yet deployed — operator wires docker compose up when ready.
2026-04-29 04:19:20 -06:00

32 lines
841 B
Caddyfile

# Internal Caddy used by the prod container to serve the static site.
# caddy-docker-proxy terminates TLS at the edge, forwards to :80 here.
:80 {
root * /srv
file_server
encode gzip zstd
# Long-cache everything Astro puts under /_astro/ (hashed filenames)
@immutable path /_astro/*
header @immutable Cache-Control "public, max-age=31536000, immutable"
# Short-cache HTML so content updates appear quickly after redeploy.
@html path_regexp htmlrx \.(html)?$
header @html Cache-Control "public, max-age=60, must-revalidate"
# Basic security headers
header {
X-Content-Type-Options nosniff
Referrer-Policy strict-origin-when-cross-origin
X-Frame-Options SAMEORIGIN
-Server
}
# Render 404 for missing pages
handle_errors {
@404 expression {http.error.status_code} == 404
rewrite @404 /404.html
file_server
}
}