Cloudflare R2

S3-compatible object storage with no egress fees, strong read-after-write and encryption at rest.

Provider
cloudflare
Category
Data
Properties · 6 set by this component
propertytypevaluesrequiredkind defaultthis component
checksumOnWrite · advancedboolean—nofalseinherited
durabilityNines · advancedinteger—no—inherited
encryptionAtRestboolean—nofalse▸ true
infrequentAccessMinimumDays · component propertyinteger—no30inherited
managedboolean—nofalse▸ true
objectLockboolean—nofalse▸ false
publicAccess · component propertyboolean—nofalseinherited
replicationenumnone | primary-secondary | quorum | erasure-codednononeinherited
s3Compatible · component propertyboolean—notrueinherited
storageClass · component propertyenumstandard | infrequent-accessnostandardinherited
strongReadAfterWrite · advancedboolean—nofalse▸ true
tierenumhot | warm | coldnohot▸ hot
versioningboolean—nofalse▸ false
zonesinteger—no—inherited
Rules that apply · 1

Every rule whose selector covers this component's kind or its category. Whether a rule fires depends on the design: its properties, its edges and its groups.

object-store-single-zone-with-durability-target

Eleven nines of durability assumes redundancy spread over at least three failure domains. An object store confined to fewer zones, or declaring none, cannot reach the target the design states.

  • — all of these hold:
  • — the design requirement `durability.annualNines` is a number greater than 10
  • — any of these hold:
  • — the node's `zones` has no value
  • — the node's `zones` is a number less than 3
Use it in a design
nodes:
  - { id: "r2", component: "cloudflare-r2" }
Other Object store products · 32
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# R2 bucket: S3-compatible object storage with no egress fees. "R2 - Consistency" states the effect
# of an operation is observed globally and immediately, so reads are strongly read-after-write;
# "R2 - Data security" states every object and its metadata is encrypted at rest with AES-256-GCM.
schemaVersion: "1"
type: "component"
id: "cloudflare-r2"
kind: "object-store"
provider: "cloudflare"
docs: "https://developers.cloudflare.com/r2/reference/data-security/"
defaults:
  managed: true
  tier: "hot"
  strongReadAfterWrite: true
  encryptionAtRest: true
  versioning: false
  objectLock: false
properties:
  storageClass:
    type: "enum"
    values: ["standard", "infrequent-access"]
    default: "standard"
  s3Compatible:
    type: "boolean"
    default: true
  publicAccess:
    type: "boolean"
    default: false
  infrequentAccessMinimumDays:
    type: "integer"
    default: 30

The same page as markdown, for an agent: /catalogue/components/cloudflare-r2.md