Storj

Decentralised S3-compatible object store that erasure codes each segment across uncorrelated nodes.

Provider
default
Category
Data
Properties · 5 set by this component
propertytypevaluesrequiredkind defaultthis component
accessProtocol · component propertyenumnative-uplink | s3-gatewaynos3-gatewayinherited
checksumOnWrite · advancedboolean—nofalseinherited
durabilityNines · advancedinteger—no—inherited
encryptionAtRestboolean—nofalse▸ true
endToEndEncryption · component propertyboolean—nofalseinherited
managedboolean—nofalse▸ true
objectLockboolean—nofalseinherited
piecesPerSegment · component propertyinteger—no80inherited
piecesToReconstruct · component propertyinteger—no29inherited
replicationenumnone | primary-secondary | quorum | erasure-codednonone▸ erasure-coded
strongReadAfterWrite · advancedboolean—nofalseinherited
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: "storj", component: "storj" }
Other Object store products · 32
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# Storj: decentralised S3-compatible object store; every segment is erasure coded and spread over
# statistically uncorrelated nodes. Per "File repair", a segment is split into 80 pieces of which any 29
# reconstruct the file; per "Object versioning", a new bucket is unversioned; per "Design decision:
# server-side encryption", the native uplink protocol encrypts end to end and the S3 gateway is server-side.
schemaVersion: "1"
type: "component"
id: "storj"
kind: "object-store"
provider: "default"
docs: "https://storj.dev/dcs/api/s3/object-versioning"
defaults:
  managed: true
  replication: "erasure-coded"
  tier: "hot"
  versioning: false
  encryptionAtRest: true
properties:
  accessProtocol:
    type: "enum"
    values: ["native-uplink", "s3-gateway"]
    default: "s3-gateway"
  endToEndEncryption:
    type: "boolean"
    default: false
  piecesPerSegment:
    type: "integer"
    default: 80
  piecesToReconstruct:
    type: "integer"
    default: 29

The same page as markdown, for an agent: /catalogue/components/storj.md