Get started

Ceph

Create and manage Ceph cluster daemons. All creation endpoints schedule background tasks — use the Tasks API to monitor progress.

For RADOS Gateway management, see RGW.


Create Monitor

POST /ceph/mon/create

Create a Ceph Monitor on a node. Monitors maintain the cluster map and are required for consensus.

Request body

nodeId UUID required
Target node ID
diskId UUID required
Disk ID for monitor data

Request

{ "nodeId": "550e8400-...", "diskId": "6ba7b810-..." }
Response
{ "status": "scheduled" }

Create OSD

POST /ceph/osd

Create an OSD (Object Storage Daemon) on a disk. The entire disk is consumed by the OSD.

Request body

nodeId UUID required
Target node ID
diskId UUID required
Disk ID to use

Request

{ "nodeId": "550e8400-...", "diskId": "6ba7b810-..." }
Response
{ "status": "scheduled" }

Create Manager

POST /ceph/mgr

Create a Ceph Manager daemon. Managers collect metrics and provide orchestration services.

Request body

nodeId UUID required
Target node ID
Response
{ "status": "scheduled" }

Create MDS

POST /ceph/mds

Create a Ceph Metadata Server. Required for CephFS.

Request body

nodeId UUID required
Target node ID
Response
{ "status": "scheduled" }

Create CephFS

POST /ceph/fs

Create a CephFS filesystem with dedicated metadata and data pools.

Request body

name string required
Filesystem name
metadataPool string required
Metadata pool name
metadataPG int
Metadata placement groups (default: 16)
dataPool string required
Data pool name
dataPG int
Data placement groups (default: 32)
Response
{ "status": "scheduled" }

Cluster Metrics

GET /ceph/metrics

Returns current Ceph cluster health metrics.

Response
{
  "health": "HEALTH_OK",
  "monCount": 3,
  "osdCount": 6,
  "osdUp": 6,
  "osdIn": 6,
  "pgCount": 128,
  "poolCount": 3,
  "usedBytes": 107374182400,
  "availableBytes": 5368709120000,
  "totalBytes": 5476083302400
}

Cluster Config

GET /ceph/cluster/config

Get the base64-encoded Ceph cluster configuration file.

Use GET /ceph/cluster/config/hash to retrieve the SHA256 hash of the current config. Workers use this to detect config changes without downloading the full file.

Response
{ "config": "W2dsb2JhbF0KZnNpZCA9IDEyMzQ1Njc4Li4uCm1vbl9ob3N0ID0gMTAuMC4wLjEwCg==" }

Node Keyrings

GET /ceph/cluster/{nodeId}/keyrings

Get the Ceph keyrings for a specific node. Used by worker nodes during daemon setup.

Node Ceph State

GET /ceph/cluster/{nodeId}/state

Get a node's Ceph daemon state — which daemons are assigned to this node.

Response
{
  "nodeId": "550e8400-e29b-41d4-a716-446655440000",
  "mon": true,
  "mgr": true,
  "osdIds": [0, 1],
  "mds": false,
  "rgw": false
}

Download Monmap

GET /ceph/monmap

Download the current monitor map as a binary file. Used by workers bootstrapping new daemons.