Skip to content

Large dev assets on Cloudflare R2

Big, gitignored, can’t-delete local fixtures (TestFiles/, corpus/) live in Cloudflare R2, not git and not iCloud. R2 is the source of truth; local copies are disposable β€” pull on demand, delete when disk is tight.

Location

  • Cloudflare account: anglin.com β€” c6cce84d1636ec85ec946a19edef0103 (the account with all accessible-* prod buckets).
  • Bucket: accessible-dev-assets (created 2026-09-06, region ENAM).
  • S3 endpoint: https://c6cce84d1636ec85ec946a19edef0103.r2.cloudflarestorage.com
  • Prefixes: TestFiles/, corpus/.

⚠️ Do NOT use the RCL / RCLR2 rclone remotes for this β€” they point at a different, unrelated account (b09937d2ff0342c0350e746c20e7acca). RCLR2 was also broken (region = ?) and has been removed. Use the RCL2DEV remote below, which targets the correct c6cce… account.

One-time rclone setup

Needs an R2 API token (dashboard β†’ R2 β†’ Manage API Tokens β†’ Object Read & Write, scoped to accessible-dev-assets). Then:

Terminal window
rclone config create RCL2DEV s3 \
provider=Cloudflare region=auto \
endpoint=https://c6cce84d1636ec85ec946a19edef0103.r2.cloudflarestorage.com \
access_key_id=<KEY> secret_access_key=<SECRET>

Push / pull

Terminal window
# push (local -> R2, after adding/changing fixtures)
rclone sync ./TestFiles RCL2DEV:accessible-dev-assets/TestFiles --progress
rclone sync ./corpus RCL2DEV:accessible-dev-assets/corpus --progress
# pull (fresh machine / CI / after local delete)
rclone sync RCL2DEV:accessible-dev-assets/TestFiles ./TestFiles --progress
rclone sync RCL2DEV:accessible-dev-assets/corpus ./corpus --progress

What’s archived vs regenerable

  • TestFiles/ (~157 MB) β€” hand-curated, not regenerable β†’ always archived.
  • corpus/ (~5.8 GB) β€” mixed. corpus/text-only is regenerable via node scripts/fetch-text-corpus.mjs (public Gutenberg/RFC sources); other subsets are curated and must be archived.

Notes

  • .gitignore keeps TestFiles/ and corpus/ out of git β€” only this pointer is tracked.
  • Safe to rm -rf ./corpus ./TestFiles locally once pushed; re-pull when needed.