Ceph Rados Gateway (RGW) speaks the S3 API with AWS Signature V4 against your own gateway endpoint (e.g. https://ceph.example.com). RGW is self-hosted, so the endpoint is required and path-style addressing is used by default.
Credentials (RGW user access key + secret key) are created the same way in both runtimes, see Ceph Credentials.
Node (server-side)
Browser (presigned URLs)
The browser CephResource is secret-free, your backend signs each operation using your RGW keys and returns a URL. RGW accepts AWS Signature V4, so @aws-sdk/s3-request-presigner works, pointed at your gateway endpoint.
1. Server: sign URLs with the RGW endpoint
RGW uses path-style URLs (forcePathStyle: true), virtual-hosted style requires wildcard DNS on the gateway.
2. Browser: wire it up
endpoint on the browser config is only used for display/logging; the actual endpoint is baked into the presigned URLs your backend returns.
3. CORS
RGW supports the S3 PutBucketCors call, so the AWS CLI works against your gateway:
See the Ceph resource docs for the equivalent Python wiring.