Skip to content

Ceph S3

Open Source Ceph S3 billing and customer portal

NexCMP turns the Ceph RADOS Gateway you run into S3 object storage you can sell. Customers create S3 accounts, keys and buckets in a portal on your domain, and are billed pay-as-you-go by the hour from a prepaid wallet.

The Object Storage module is part of NexCMP and costs nothing extra. It is switched off until you turn it on. You run your own Ceph cluster with the RADOS Gateway; NexCMP does not manage the cluster.NexCMP Source: full source code for $499, one-time. Use, modify and self-host for your own business. You may sell the services you operate; you may not resell or redistribute the source code or builds. Source license terms

What NexCMP adds to Ceph

Ceph stores the data. NexCMP is the layer in front of it that your customers see: it creates and deletes S3 users on your RADOS Gateway through the RGW Admin Ops API, hands out access keys, reads usage, and charges for it.

NexCMP does not run or change your Ceph cluster. You operate Ceph and its RADOS Gateway; NexCMP only needs the gateway's Admin Ops API and the S3 endpoint your customers use.

The same wallet, invoices, payment gateways, vouchers, quotas, resellers and support tickets that sell virtual machines sell object storage too.

How your customers manage object storage

Every screen is a tab of the service page in the customer portal, shown with sample data. Pick a tab, use the arrows or the left and right keys, or open the full-screen viewer.

Overview

Customer portal, S3 account Overview: stored data, buckets, objects, bandwidth, endpoint, region, pay-as-you-go prices and the shared bandwidth quota.
Stored data, buckets, objects and bandwidth, with the endpoint and the pay-as-you-go prices.

Buckets & files

Customer portal, S3 Buckets and files tab: a list of buckets with their size and Open and Delete buttons.
Create buckets, browse them and upload files without leaving the portal.

Access keys

Customer portal, S3 Access keys tab: a table of keys with created date and status, and copy-ready settings for the AWS CLI, rclone and other clients.
Create and rotate access keys, with ready-made settings for common S3 clients.

Monthly usage

Customer portal, S3 Monthly usage tab: cost, upload and download for the month, a daily chart and an hourly table.
Cost, upload and download for the month, by day.

Share links

Customer portal, S3 Share links tab: links to files with password, expiry and view-count information and Revoke buttons.
Time-limited links to files, with optional password and view limit.

Settings

Customer portal, S3 Settings tab: account name, monthly cost alert and delete account.
Rename the account and set a monthly cost alert.

What your customers can do

Each item is something a customer does in the portal or through the API with a scoped key.

  • S3 accounts

    Create an S3 account in a zone you sell, see its state, and delete it when it is no longer needed. The number of accounts per customer is limited by a value you set.

  • Access keys

    Create, list, rotate and delete access keys. The secret key is shown once, when the key is created or rotated; a lost secret is replaced by rotating the key.

  • Buckets

    Create and delete buckets, and empty and remove a bucket in one step after confirming its name.

  • Browse and manage objects

    Upload, download and preview files, create folders, copy and move objects, delete files and folders, and work with object versions.

  • Bucket settings

    Turn versioning on or off, and read and change the bucket ACL, CORS rules, lifecycle rules and bucket policy.

  • Usage statistics

    Hourly storage and bandwidth usage with its cost, a daily summary for any month, and an optional monthly cost alert.

  • Share links

    Create a link to one object with an expiry date, a view limit, a password, a referrer allow-list and a choice between preview only and download. Revoke or edit a link at any time.

  • Pay as you go

    Storage and downloads are charged to the wallet by usage.

What you can do as the operator

Each item is in the NexCMP admin console.

  • Attach a Ceph backend to a zone

    Add a backend with the RGW Admin Ops endpoint, the S3 endpoint customers use, the signing region and an RGW admin key pair. The keys are stored encrypted and are never shown again.

  • Test the connection before selling

    Run a connection check that calls the Admin Ops API. NexCMP refuses to open sales until a check has succeeded.

  • Zones

    Give a zone the Object Storage service so it appears in the backend form and in the customer's list of locations. Each zone has its own backend.

  • Pay-as-you-go pricing

    Set the storage price, the download price, the debt limit, the amount at which usage is collected into one invoice, the wallet balance needed to open an account, the accounts per customer and the default quota.

  • See and control accounts

    List every customer's S3 accounts and suspend or resume one.

  • Module switch

    Switch the Object Storage module on or off under License & updates. Turning it off hides it from the admin menu and stops new sales; existing accounts keep running and billing.

  • Billing and money

    Enable payment channels, issue top-up codes, set quotas for new accounts and read the wallet ledger, invoices and reports.

  • Audit

    Backend changes ask for a reason and are written to the audit log.

How S3 is billed

S3 is pay-as-you-go. NexCMP measures each account every hour from the RADOS Gateway and charges storage over a free allowance, priced per GB per month and charged by the hour, plus download traffic per GB. Uploads are free.

Every account shares a free allowance of storage while its owner has at least one running virtual machine. Download traffic also counts toward the customer's monthly Bandwidth quota; beyond the quota the normal download price applies. Usage is collected into one invoice once it passes the threshold you set, and an account whose unpaid usage passes your debt limit is locked until the customer pays.

Prices are entered in VND and shown in the customer's currency at the exchange rate in effect.

  • Storage: price per GB per month over the free allowance, charged hourly.
  • Download: price per GB.
  • Upload: always free.
  • Debt limit, billing threshold and minimum wallet balance to open an account: set by you.

How it works

From a Ceph RADOS Gateway to the first customer bucket.

  1. Prepare the RADOS Gateway

    Create an RGW user for NexCMP with the Admin Ops capabilities, turn on the RGW usage log, and publish the gateway over HTTPS on port 443 with a valid certificate. The endpoint must resolve to a public address.

  2. Give a zone the S3 service and switch the module on

    In the admin console tick Object Storage (S3) on a master zone, and switch the Object Storage module on under License & updates.

  3. Add the backend and test it

    Under Infrastructure > Cloud provider > Ceph S3 (RGW) add the backend with its endpoints, region and admin keys, then run Check. A successful check marks the backend as verified.

  4. Set the pricing and open sales

    Set the pay-as-you-go prices, then switch Enable sales on for the backend.

  5. Customers create accounts and buckets

    A customer creates an S3 account, gets an access key and uses any S3 client against your endpoint. Usage appears after the next hourly billing run.

What you need on the Ceph side

You run the Ceph cluster. NexCMP needs a RADOS Gateway and nothing else from it. The full list, with the exact steps, is in the docs at https://nexcmp.com/docs/infrastructure/s3/.

  • A Ceph cluster with at least one RGW daemon and the Admin Ops API enabled.
  • An RGW user for NexCMP with the Admin Ops capabilities. Do not use a user that owns customer data.
  • The S3 endpoint customers use and the Admin Ops endpoint, each written as https://host with no path, on port 443, resolving to a public address, with a valid certificate.
  • RGW usage logging turned on, so usage and traffic can be read for billing.
  • A master zone in NexCMP with the Object Storage (S3) service, and capacity in Ceph for the quotas you sell.
  • The Object Storage module switched on in NexCMP.

Free Ceph S3 billing: what you get

NexCMP Free is $0 for the first year: the full signed build with every module, including Object Storage, bug fixes and updates for 1 year, and unlimited reseller domains. After the first year it renews at $99 per year, and the software keeps running if you do not renew. There is no per-account, per-bucket or per-terabyte fee from NexCMP.

NexCMP Free is for network operators with their own ASN and a subnet registered in their own name; applications are reviewed. NexCMP Source is a $499 one-time purchase with the full source code, all apps built for you and 30 working days with an expert engineer.

Ceph S3 billing: frequently asked

Does NexCMP manage my Ceph cluster?
No. You run Ceph and its RADOS Gateway. NexCMP talks to the gateway through the RGW Admin Ops API and the S3 API to create users and keys, read usage and bill for it. It does not operate the cluster itself.
What do I need to sell S3 with NexCMP?
A Ceph cluster with a RADOS Gateway that has the Admin Ops API enabled, an RGW user for NexCMP, HTTPS on port 443 with a valid certificate and a public address, and RGW usage logging turned on. Then add the backend in the admin console and run the connection check. Details: https://nexcmp.com/docs/infrastructure/s3/.
Is the Object Storage module free?
Yes. NexCMP Free is $0 for the first year and includes every module, Object Storage among them, then renews at $99 per year. Your Ceph hardware and payment-gateway fees are yours.
Is the module on by default?
No. Object Storage is off until you switch it on under License & updates in the admin console. Turning it off later does not delete anything: existing accounts keep running and billing, and customers just cannot create new ones.
How is S3 billed?
Pay-as-you-go from the customer's prepaid wallet: storage over a free allowance per GB per month, charged by the hour, and download traffic per GB. Uploads are free. You set the prices, the debt limit and the invoice threshold.
Do customers see my Ceph cluster?
They see their S3 account, access keys, buckets and usage in the portal and use your S3 endpoint with any S3 client. Backend keys and internal details are not shown to them.
What happens to a secret key if the customer loses it?
The secret is shown once, when the key is created or rotated. A lost secret is replaced by rotating the key.
Can customers share files with people who have no account?
Yes. A share link points to one object and can have an expiry date, a view limit, a password, a referrer allow-list and a preview-only mode. The customer can revoke it at any time.
Can I check the connection before customers can buy?
Yes. The Check button calls the Admin Ops API with the admin key, and NexCMP refuses to enable sales until a check has succeeded.

Get NexCMP free

Free, with Ceph S3 and every other module included. Install it on your server today, or look at the customer portal screens first.

Last updated: