---
id: "object-store"
type: "component"
kind: "object-store"
provider: "default"
category: "data"
url: "https://localhost:3000/catalogue/components/object-store"
---

# Generic object store

Vendor-neutral object store. Use when the real product is not in the catalogue; every rule for this kind still applies.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Object store](https://localhost:3000/catalogue/kinds/object-store) |
| Category | Data |
| Official docs | not recorded |
| Generic? | Vendor-neutral: the kind itself |

## Properties

| property | type | values | required | default |
|---|---|---|---|---|
| `checksumOnWrite` (advanced) | boolean | — | no | false |
| `durabilityNines` (advanced) | integer | — | no | — |
| `encryptionAtRest` | boolean | — | no | false |
| `managed` | boolean | — | no | false |
| `objectLock` | boolean | — | no | false |
| `replication` | enum | `none`, `primary-secondary`, `quorum`, `erasure-coded` | no | "none" |
| `strongReadAfterWrite` (advanced) | boolean | — | no | false |
| `tier` | enum | `hot`, `warm`, `cold` | no | "hot" |
| `versioning` | boolean | — | no | false |
| `zones` | integer | — | no | — |

## Rules that apply · 1

### Object store in fewer than three zones with a durability target `object-store-single-zone-with-durability-target` (error)

- Page: https://localhost:3000/catalogue/rules/object-store-single-zone-with-durability-target.md
- Why: 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.
- Applies to: every node of kind object-store
- Message: Object store '{{node.id}}' spans fewer than 3 zones (or declares none) while the design targets more than 10 nines of durability.

It fires when:

- 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

## Other products of the same kind · 32

- [Object Storage Service](https://localhost:3000/catalogue/components/alibaba-oss.md) `alibaba-oss` — alibabacloud
- [AWS HealthImaging](https://localhost:3000/catalogue/components/aws-healthimaging.md) `aws-healthimaging` — aws
- [AWS HealthOmics](https://localhost:3000/catalogue/components/aws-healthomics.md) `aws-healthomics` — aws
- [Amazon S3 Express One Zone](https://localhost:3000/catalogue/components/aws-s3-express-one-zone.md) `aws-s3-express-one-zone` — aws
- [Amazon S3 Glacier](https://localhost:3000/catalogue/components/aws-s3-glacier.md) `aws-s3-glacier` — aws
- [Amazon S3 Tables](https://localhost:3000/catalogue/components/aws-s3-tables.md) `aws-s3-tables` — aws
- [Amazon Security Lake](https://localhost:3000/catalogue/components/aws-security-lake.md) `aws-security-lake` — aws
- [Amazon S3](https://localhost:3000/catalogue/components/s3.md) `s3` — aws
- [Azure Blob Storage](https://localhost:3000/catalogue/components/azure-blob-storage.md) `azure-blob-storage` — azure
- [Azure Data Lake Storage](https://localhost:3000/catalogue/components/azure-data-lake-storage.md) `azure-data-lake-storage` — azure
- [Microsoft Planetary Computer Pro](https://localhost:3000/catalogue/components/azure-planetary-computer.md) `azure-planetary-computer` — azure
- [Cache Reserve](https://localhost:3000/catalogue/components/cloudflare-cache-reserve.md) `cloudflare-cache-reserve` — cloudflare
- [Cloudflare Images](https://localhost:3000/catalogue/components/cloudflare-images.md) `cloudflare-images` — cloudflare
- [Cloudflare R2](https://localhost:3000/catalogue/components/cloudflare-r2.md) `cloudflare-r2` — cloudflare
- [Backblaze B2 Cloud Storage](https://localhost:3000/catalogue/components/backblaze-b2.md) `backblaze-b2` — default
- [Blob store](https://localhost:3000/catalogue/components/blob-store.md) `blob-store` — default
- [Ceph RADOS Gateway](https://localhost:3000/catalogue/components/ceph-rgw.md) `ceph-rgw` — default
- [Cloudinary](https://localhost:3000/catalogue/components/cloudinary.md) `cloudinary` — default
- [Garage](https://localhost:3000/catalogue/components/garage.md) `garage` — default
- [lakeFS](https://localhost:3000/catalogue/components/lakefs.md) `lakefs` — default
- [MinIO](https://localhost:3000/catalogue/components/minio.md) `minio` — default
- [Apache Ozone](https://localhost:3000/catalogue/components/ozone.md) `ozone` — default
- [SeaweedFS](https://localhost:3000/catalogue/components/seaweedfs.md) `seaweedfs` — default
- [Storj](https://localhost:3000/catalogue/components/storj.md) `storj` — default
- [OpenStack Swift](https://localhost:3000/catalogue/components/swift.md) `swift` — default
- [Wasabi Hot Cloud Storage](https://localhost:3000/catalogue/components/wasabi.md) `wasabi` — default
- [Spaces Object Storage](https://localhost:3000/catalogue/components/digitalocean-spaces.md) `digitalocean-spaces` — digitalocean
- [Google Cloud Storage](https://localhost:3000/catalogue/components/gcs.md) `gcs` — gcp
- [IBM Cloud Object Storage](https://localhost:3000/catalogue/components/ibm-cloud-object-storage.md) `ibm-cloud-object-storage` — ibm
- [OCI Archive Storage](https://localhost:3000/catalogue/components/oci-archive-storage.md) `oci-archive-storage` — oci
- [OCI Object Storage](https://localhost:3000/catalogue/components/oci-object-storage.md) `oci-object-storage` — oci
- [OUTSCALE Object Storage (OOS)](https://localhost:3000/catalogue/components/outscale-oos.md) `outscale-oos` — outscale

## Use it in a design

```yaml
nodes:
  - { id: "object-store", component: "object-store" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# The vendor-neutral object store: the kind itself, with no product behind it. It sets no
# defaults and adds no properties, so every required kind property stays required on the node.
schemaVersion: "1"
type: "component"
id: "object-store"
kind: "object-store"
provider: "default"
```

Human page: https://localhost:3000/catalogue/components/object-store
