OpenStack Swift
Object storeswift
Eventually consistent object store with ring-based replication and storage policies.
- Provider
- default
- Kind
- Object store
- Category
- Data
| property | type | values | required | kind default | this component |
|---|---|---|---|---|---|
| checksumOnWrite | boolean | — | no | false | inherited |
| containerSync | boolean | — | no | false | inherited |
| durabilityNines | integer | — | no | — | inherited |
| encryptionAtRest | boolean | — | no | false | ▸ false |
| managed | boolean | — | no | false | ▸ false |
| objectLock | boolean | — | no | false | inherited |
| replicaCount | integer | — | no | 3 | inherited |
| replication | enum | none | primary-secondary | quorum | erasure-coded | no | none | ▸ quorum |
| s3Api | boolean | — | no | false | inherited |
| storagePolicy | enum | replication | erasure-coding | no | replication | inherited |
| strongReadAfterWrite | boolean | — | no | false | ▸ false |
| tier | enum | hot | warm | cold | no | hot | inherited |
| versioning | boolean | — | no | false | ▸ false |
| zones | integer | — | no | — | inherited |
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
nodes:
- { id: "swift", component: "swift" }Object Storage Servicealibaba-ossAWS HealthImagingaws-healthimagingAWS HealthOmicsaws-healthomicsAmazon S3 Express One Zoneaws-s3-express-one-zoneAmazon S3 Glacieraws-s3-glacierAmazon S3 Tablesaws-s3-tablesAmazon Security Lakeaws-security-lakeAmazon S3s3Azure Blob Storageazure-blob-storageAzure Data Lake Storageazure-data-lake-storageMicrosoft Planetary Computer Proazure-planetary-computerCache Reservecloudflare-cache-reserveCloudflare Imagescloudflare-imagesCloudflare R2cloudflare-r2Backblaze B2 Cloud Storagebackblaze-b2Blob storeblob-storeCeph RADOS Gatewayceph-rgwCloudinarycloudinaryGaragegaragelakeFSlakefsMinIOminioGeneric object storeobject-storeApache OzoneozoneSeaweedFSseaweedfsStorjstorjWasabi Hot Cloud StoragewasabiSpaces Object Storagedigitalocean-spacesGoogle Cloud StoragegcsIBM Cloud Object Storageibm-cloud-object-storageOCI Archive Storageoci-archive-storageOCI Object Storageoci-object-storageOUTSCALE Object Storage (OOS)outscale-oos
# 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