Works with your stack
Built for production
Everything you need to manage Ceph RGW at scale, nothing you don't.
No Dependency Hell
SigV4 signing uses only the built-in node:crypto module. The single runtime dep is undici — Node.js's own HTTP client, maintained by the Node.js core team, with zero transitive deps. Install radosgw-admin, get one extra package.
import { RadosGWAdminClient } from 'radosgw-admin';
const rgw = new RadosGWAdminClient({
host: 'https://rgw.example.com',
accessKey: process.env.RGW_ACCESS_KEY,
secretKey: process.env.RGW_SECRET_KEY,
});
// Create a user in one call
const user = await rgw.users.create({
uid: 'alice',
displayName: 'Alice',
});
Typed Errors That Help
Catch specific error classes with real Ceph error codes. No more parsing error strings or guessing what HTTP 404 means.
import { RGWNotFoundError, RGWRateLimitError }
from 'radosgw-admin';
try {
await rgw.users.get({ uid: 'alice' });
} catch (err) {
if (err instanceof RGWNotFoundError) {
console.log(err.code); // 'NoSuchUser'
console.log(err.status); // 404
}
if (err instanceof RGWRateLimitError) {
// Automatically retried with backoff
}
}
Observe Everything
Add logging, Prometheus metrics, or audit trails via request hooks. No monkey-patching, no middleware — just callbacks.
const rgw = new RadosGWAdminClient({
host: 'https://rgw.example.com',
accessKey: '...',
secretKey: '...',
onBeforeRequest: (ctx) => {
console.log(`${ctx.method} ${ctx.path}`);
},
onAfterResponse: (ctx) => {
histogram.observe(ctx.duration);
},
});
Full API coverage
8 modules covering every RGW Admin Ops endpoint.
Frequently asked questions
The Ceph RADOS Gateway (RGW) Admin Ops API is a REST interface built into Ceph that lets administrators manage users, access keys, buckets, quotas, and rate limits programmatically. It is separate from the S3-compatible data API — it is specifically for cluster administration.
Install radosgw-admin (npm install radosgw-admin), create a RadosGWAdminClient with your RGW host and admin credentials, then call rgw.users.create(), rgw.users.get(), rgw.users.suspend(), and other methods. The SDK covers the full user lifecycle.
Yes. radosgw-admin works with any Ceph RGW instance including Rook-Ceph on Kubernetes. Point the host to your RGW service endpoint (e.g. http://rook-ceph-rgw-my-store.rook-ceph.svc) and provide admin credentials from the Kubernetes secret.
Yes. OpenShift Data Foundation uses Ceph RGW internally. radosgw-admin connects to the ODF RGW endpoint the same way as any other Ceph cluster.
Just one: undici — the HTTP client library maintained by the Node.js core team and used internally by Node.js itself for its built-in fetch. It has zero transitive dependencies. SigV4 signing still uses only the built-in node:crypto module.
Node.js 18 or later. The SDK uses native fetch and node:crypto which are stable from Node.js 18 onwards. It also works with Bun.
All of them — npm, yarn, pnpm, and bun. Install with: npm install radosgw-admin, yarn add radosgw-admin, pnpm add radosgw-admin, or bun add radosgw-admin.
Ready to get started?
Install in seconds. Ship your first RGW integration in minutes.
