Backblaze B2, DigitalOcean Spaces, Cloudflare R2
Three more object stores that speak S3. They share the S3 provider, so uploads stream and keys look the same; they differ in versioning support and in the endpoint you give.
What you need #
- Backblaze B2: an application key ID and application key, the bucket name, and the S3 endpoint shown on the bucket (
s3.eu-central-003.backblazeb2.com). - DigitalOcean Spaces: a Spaces access key and secret, the endpoint (
lon1.digitaloceanspaces.com), the region and the Space name. - Cloudflare R2: an R2 API token's access key ID and secret, the account endpoint (
<account-id>.r2.cloudflarestorage.com) and the bucket.
Add it as a storage target #
- Storage → Add → the provider.
- Enter the key pair, endpoint and bucket.
- Test.
Test on the target's row proves the credentials; a target that fails shows the provider's own message until it is fixed. From then on it can be a job's destination, a cloud-to-cloud source, a cloud drive, or an archive.
What it supports #
| Capability | Backblaze B2, DigitalOcean Spaces, Cloudflare R2 |
|---|---|
| Streams uploads | Yes |
| Version history | B2: native bucket versioning. Spaces: sidecar. R2: sidecar (R2 has no object versioning) |
| Realtime cloud-copy source | No — none of the three publishes to SNS |
| Cloud-drive mount | Yes |
| Reachable from the Cloud Agent | Yes |
| Browse in the console | Yes |
Things to know #
R2 and versions. Caryvane knows R2 cannot version objects and goes straight to the sidecar store rather than trying and failing each run.
B2 lifecycle rules can hide or delete old versions on a schedule; if you use them, make them longer than the job's Keep previous versions setting or the history Caryvane thinks it has will already be gone.