Catalogue / Data

Object store

dataobject-store

Blob storage addressed by key.

Category
Data
Properties
10
Components
33
Rules
1
Properties · 10 defined by this kind

A node of this kind resolves each property from its own props, then the component's defaults, then the default below.

propertytypevaluesrequireddefault
checksumOnWrite · advancedboolean—nofalse
durabilityNines · advancedinteger—no—
encryptionAtRestboolean—nofalse
managedboolean—nofalse
objectLockboolean—nofalse
replicationenumnone | primary-secondary | quorum | erasure-codednonone
strongReadAfterWrite · advancedboolean—nofalse
tierenumhot | warm | coldnohot
versioningboolean—nofalse
zonesinteger—no—
Rules for this kind · 1
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
Components · 33
Source
# yaml-language-server: $schema=../schema/kind.schema.json
# Blob storage addressed by key (S3, GCS, Azure Blob, Magic Pocket).
# zones is optional so object-store-single-zone-with-durability-target can compare it to the durability requirement.
schemaVersion: "1"
type: "kind"
id: "object-store"
category: "data"
properties:
  zones:
    type: "integer"
  replication:
    type: "enum"
    values: ["none", "primary-secondary", "quorum", "erasure-coded"]
    default: "none"
  tier:
    type: "enum"
    values: ["hot", "warm", "cold"]
    default: "hot"
  versioning:
    type: "boolean"
    default: false
  objectLock:
    type: "boolean"
    default: false
  strongReadAfterWrite:
    type: "boolean"
    default: false
    advanced: true
  checksumOnWrite:
    type: "boolean"
    default: false
    advanced: true
  encryptionAtRest:
    type: "boolean"
    default: false
  durabilityNines:
    type: "integer"
    advanced: true
  managed:
    type: "boolean"
    default: false

The same page as markdown, for an agent: /catalogue/kinds/object-store.md