Static Edge

Documentation

Cache control

By default the node honours the origin's Cache-Control. When the origin omits it, the following defaults apply:

ContentTTLNotes
Fingerprinted assets7 daysserved immutable
Images24 hoursrevalidated with ETag
HTML5 minutesshort TTL for fast deploys
Everything else1 hour

Purging

A purge marks an object stale across the region; the next request revalidates against the origin. Purges are eventually consistent and typically complete within 30 seconds.

curl -X PURGE https://st.capc.app/assets/app.css \
     -H "Authorization: Bearer <token>"

Compression

The node negotiates zstd first, then gzip. If a pre-compressed sibling file exists (app.css.zst, app.css.gz), it is served directly instead of compressing on the fly.

Supported formats

All static types are passed through unchanged. Content negotiation is available for images: when the client advertises image/avif or image/webp and a matching variant exists, it is preferred over the original.

Health checks

GET /health returns a small JSON document with the node identifier and current timestamp. It is intended for load-balancer probes and is never cached.

{"status":"ok","node":"msk1","ts":"2026-07-28T10:00:00Z"}

Limits