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