0013: Downloads and updates on Cloudflare R2
Status: accepted
Context
Section titled “Context”The repository is private, so release assets can’t be served from it, and downloads shouldn’t cost per gigabyte.
Decision
Section titled “Decision”CI uploads DMGs, signed update bundles and latest.json to an R2 bucket at downloads.getdevkit.app. The website redirects /download/* there. The Tauri updater checks updates/latest.json and verifies signatures with DevKit’s public key.
Consequences
Section titled “Consequences”No egress fees. The updater private key must stay out of the repository (it’s a CI secret).