Skip to content

ADR-012: Static-first showcase: all public surfaces on Cloudflare Pages

Field Value
Status accepted
Date 2026-02-18

Context

Public showcases were served by Caddy behind a Cloudflare Tunnel. The tunnel depends on port 7844 which ISP equipment blocks.

Decision

Deploy all static showcases to Cloudflare Pages. The static API serves the same endpoints as pre-computed JSON files.

Rationale

CUE comprehensions pre-compute all possible API responses at eval time. If every answer is known at build time, a web server adds latency without capability.

Consequences

  • 7 CF Pages projects replace Caddy vhosts
  • All API examples use GET (POST returns 405 on static hosting)
  • Tunnel only needed for dynamic services: MUDs, live execution
  • Deploy workflow: cue export, build-static-api.sh, wrangler pages deploy