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.
32 lines
841 B
Caddyfile
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
|
|
}
|
|
}
|