What is ImpulseObjects, and why use it instead of rolling your own object storage?
ImpulseObjects is the WHMCS module that turns S3-compatible object storage on RustFS into a billable, multi-tenant product. The module handles provisioning, quotas, billing, and patching.
Last updated 20 days ago
What is ImpulseObjects, and why use it instead of rolling your own object storage?
ImpulseObjects is the WHMCS module that turns S3-compatible object storage into a billable, multi-tenant product. Each storage server runs RustFS, which presents an S3-compatible surface. Customers buy a plan in your WHMCS storefront, the module provisions a bucket on the appropriate server, and they get an S3-compatible endpoint, credentials, and a usage dashboard in their client area; the storage engine underneath is an operator detail they never have to think about.
It is a dependent module of ImpulseCore. Core must be installed and activated first; activating ImpulseObjects before Core fails with Class not found: ImpulseCore.
What the module does for you
- Provisioning automation. Spin up a fresh storage VPS on Vultr, Hetzner, DigitalOcean, or Linode from the addon UI. Cloud-init handles RustFS, Nginx, the admin proxy, and Let's Encrypt. Or connect an existing RustFS host you already run.
- Plans tied to WHMCS products. Storage MB, bandwidth GB, max buckets, max access keys, replication caps, region restrictions, monthly/annual pricing. One click syncs plans into WHMCS as products with configurable options.
- Quota enforcement at the backend. Hard storage quotas enforced by RustFS on the server. Bandwidth tracked from Nginx stats (measured, not billed). Optional storage overage billing per plan.
- Customer client area. Bucket management, access keys, file browser, usage stats, replication setup (licensed tier), custom domains (licensed tier).
- Lifecycle hooks. WHMCS suspension, unsuspension, and termination drive bucket access correctly without you wiring anything.
- Telemetry into Core. Audit log entries for every provisioning step, license validation, customer action. One place to investigate any incident.
Why not just install RustFS yourself?
You can. RustFS is open source. What you don't get without ImpulseObjects:
- A WHMCS product that customers can order and have provisioned automatically.
- Per-tenant isolation, quota enforcement, and key management driven from your WHMCS database.
- Billing-aware suspension, unsuspension, termination wiring.
- A customer-facing dashboard tied to their WHMCS service.
- The Security & Maintenance pipeline — daily snapshots, CVE feed correlation (Ubuntu USN, CISA KEV, NVD for RustFS), pre-patch snapshots on the cloud provider, scheduled maintenance windows that customers can see and reschedule.
- Audit trail across every provisioning action.
If you're selling object storage to your customers, the module is the difference between a product you can put on a pricing page and a server you SSH into.
Tiers
- Single Region (Free). One storage server, full provisioning, customer dashboard, billing, lifecycle. No replication, no migration, no custom domains.
- Multi-Region (Licensed, $499/yr). Unlimited servers, cross-region replication, migration wizard, custom domains via Cloudflare for SaaS, multi-provider capacity arbitrage.
License key prefix is IOBJ- for production installs; IOBJDEV- is the dev companion.
Where it sits next to Core
ImpulseObjects registers with ImpulseCore via its manifest on activation. From then on, every cross-cutting concern — cron, audit, hook dispatch, project membership, license validation, the Security & Maintenance pipeline — flows through Core. The module owns its own mod_impulseobjects_* tables for plans, servers, tenants, and usage; Core owns the cross-module surface.
Related
Was this helpful?
More in ImpulseMinio
Fix: a customer's bucket is stuck provisioningAdding a storage server to ImpulseObjectsFix: ImpulseObjects license validation failsFix: ImpulseObjects is not appearing in ImpulseCore's modules registered tableStill need help? Ask the team