.rrd recordings, manim mp4s, demo previews) from https://artifacts.aegeanai.com, a public Cloudflare R2 bucket (eaia-artifacts) with a custom domain binding.
Canonical setup + automation
The full bucket setup (custom domain, CORS, Cloudflare Access bypass, API tokens) and the production upload helper live in the auraison repo. Don’t re-derive them here.- Serve Rerun recordings publicly with Cloudflare R2 — 8-step bucket setup
auraison/data-plane/lakehouse/artifacts.py—upload_artifact()for lakehouse-registered, lineage-tracked uploads (archival MinIO + R2 + DuckLake catalog in one call)auraison/infra/terraform/stacks/cloudflare/main.tfdeclares the bucket, itsartifacts.aegeanai.comcustom domain, and the public-access bypass. Change them in terraform, not the dashboard- R2 credentials live in 1Password,
Workvault, itemR2-eaia-artifacts-token, and are mirrored intoauraison/data-plane/.envasR2_ENDPOINT,R2_ACCESS_KEY,R2_SECRET_KEY,R2_BUCKET,R2_PUBLIC_DOMAIN. Treat 1Password as the source of truth; the.envcopy has gone stale before - For the S3 API,
ACCESS_KEY_IDis the Cloudflare token id (from/accounts/<id>/tokens/verify) andSECRET_ACCESS_KEYissha256of the token value. Without that derivation a valid token looks dead, returningAccessDeniedon every call
cloudflare and wrangler skills — covering R2 buckets, Workers, KV, D1, and the wrangler r2 object put upload path.
One-off uploads of website media (manim mp4s, preview images)
For media that’s purely a docs-site asset (no lakehouse lineage needed), use wrangler directly:--remote flag is required to write to the real bucket (without it, wrangler writes to a local simulator).
Key-naming convention
Public URL ishttps://artifacts.aegeanai.com/<key>. Keep the <type>/<topic>/<filename> shape:
Lowercase, kebab-case for path segments. Filenames may follow the generator’s convention (PascalCase manim Scene class names, etc.).
Embedding in MDX
Manim mp4
muted + playsInline are required for any mobile-browser auto-play. Drop both for narrated full-frame demos.
Rerun recording
/version/0.29.2/) to the Rerun SDK that wrote the recording — newer .rrd files won’t load in older viewers (lz4 decode error). See the auraison doc Step 7 for the exact symptom and fix.
Cache invalidation
Wrangler defaults set R2 objects with a long max-age. Treat artifacts as content-addressed: re-rendering a manim scene should land under a new key (version suffix or new topic) rather than overwriting. The Cloudflare edge will keep stale copies of overwritten keys for hours-to-a-day. If you must overwrite, follow up with a cache purge from the Cloudflare dashboard orwrangler cache purge.

