Backups and upgrades

Preserve the correct storage boundary and verify an upgrade after rollout.

Backups

Cloudflare deployments separate storage by responsibility:

  • D1 contains durable workspace facts and message history.
  • R2 contains attachment bytes.
  • Durable Objects contain live coordination state, not the durable history backup.
  • KV contains temporary connection tickets, not message history.

A recoverable backup plan needs both D1 and R2. Exporting only the database does not preserve attachments, and copying only R2 does not preserve the records that authorize and describe those objects.

Upgrades

The guided installer updates an existing Worker name in place using a pinned release manifest. GitHub/Workers Builds operators must update their fork and Cloudflare configuration manually. After either update path:

  1. Confirm the deployed application and Worker versions match the target release.
  2. Request /api/setup/health and verify ok: true, ready: true, and migrated: true.
  3. Sign in through a new browser session.
  4. Read an existing message and attachment.
  5. Send a new message and upload a new attachment.
  6. Run an Agent Task if the release changed the Agent execution plane.