OpenStack Swift

Eventually consistent object store with ring-based replication and storage policies.

Provider
default
Category
Data
Properties · 5 set by this component
propertytypevaluesrequiredkind defaultthis component
checksumOnWrite · advancedboolean—nofalseinherited
containerSync · component propertyboolean—nofalseinherited
durabilityNines · advancedinteger—no—inherited
encryptionAtRestboolean—nofalse▸ false
managedboolean—nofalse▸ false
objectLockboolean—nofalseinherited
replicaCount · component propertyinteger—no3inherited
replicationenumnone | primary-secondary | quorum | erasure-codednonone▸ quorum
s3Api · component propertyboolean—nofalseinherited
storagePolicy · component propertyenumreplication | erasure-codingnoreplicationinherited
strongReadAfterWrite · advancedboolean—nofalse▸ false
tierenumhot | warm | coldnohotinherited
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: "swift", component: "swift" }
Other Object store products · 32
Source
# yaml-language-server: $schema=../../schema/component.schema.json
# OpenStack Swift: self-hosted eventually consistent object store fronted by proxy servers.
# Per "Swift Architectural Overview", each partition in the ring is replicated three times across the
# cluster by default, storage policies can define an erasure-coded tier instead, and container listings
# are updated asynchronously, so a write is not immediately visible in listings.
schemaVersion: "1"
type: "component"
id: "swift"
kind: "object-store"
provider: "default"
docs: "https://docs.openstack.org/swift/latest/overview_architecture.html"
defaults:
  managed: false
  replication: "quorum"
  strongReadAfterWrite: false
  versioning: false
  encryptionAtRest: false
properties:
  storagePolicy:
    type: "enum"
    values: ["replication", "erasure-coding"]
    default: "replication"
  replicaCount:
    type: "integer"
    default: 3
  s3Api:
    type: "boolean"
    default: false
  containerSync:
    type: "boolean"
    default: false

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