---
id: "ceph-rgw"
type: "component"
kind: "object-store"
provider: "default"
category: "data"
aliases: "RGW"
docs: "https://docs.ceph.com/en/latest/radosgw/"
url: "https://localhost:3000/catalogue/components/ceph-rgw"
---

# Ceph RADOS Gateway

S3- and Swift-compatible object gateway over a Ceph cluster.

| | |
|---|---|
| Provider | [default](https://localhost:3000/catalogue?provider=default) |
| Kind | [Object store](https://localhost:3000/catalogue/kinds/object-store) |
| Category | Data |
| Official docs | [https://docs.ceph.com/en/latest/radosgw/](https://docs.ceph.com/en/latest/radosgw/) |
| Also known as | RGW |

## Properties

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

Bold values are the ones this component pins.

## 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
- [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
- [Generic object store](https://localhost:3000/catalogue/components/object-store.md) `object-store` — 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: "ceph-rgw", component: "ceph-rgw" }
```

## Source (`component` YAML, verbatim)

```yaml
# yaml-language-server: $schema=../../schema/component.schema.json
# Ceph RADOS Gateway: S3/Swift front end over Ceph; pools are three-way replicated by default.
schemaVersion: "1"
type: "component"
id: "ceph-rgw"
kind: "object-store"
provider: "default"
docs: "https://docs.ceph.com/en/latest/radosgw/"
aliases: ["RGW"]
defaults:
  replication: "quorum"
  strongReadAfterWrite: true
  versioning: false
  managed: false
properties:
  poolReplicas:
    type: "integer"
    default: 3
  multisite:
    type: "boolean"
    default: false
```

Human page: https://localhost:3000/catalogue/components/ceph-rgw
