What is ImpulseVPS, and how does it differ from a provider's own WHMCS module?
What ImpulseVPS does, how one module and one license sell servers on Vultr, Hetzner Cloud, DigitalOcean and Linode, how it manages them, and what stays yours.
Last updated 21 days ago
ImpulseVPS is the WHMCS module for selling cloud servers on provider accounts you own. A customer orders in your storefront, the module creates the server through the provider's API, and the customer gets full root access, a public IP address and a server control panel in your client area. You manage the fleet from Addons → ImpulseVPS.
Each WHMCS service is one server at one provider. On a product's Module Settings tab the module is listed as Cloud VPS.
ImpulseVPS needs ImpulseCore 1.61.19 or later, installed and activated first. ImpulseCore, shared by every Impulse module, holds your provider accounts and encrypted credentials, selling regions, licensing, task scheduler and audit log.
One module and one license across four providers
A provider's own WHMCS module is built for that provider's cloud. ImpulseVPS sells on four providers from one install: Vultr, Hetzner Cloud, DigitalOcean and Linode. All four share the same admin, order flow, server lifecycle and client area. One IVPS- license key covers the module whichever of them you use. You add it under ImpulseCore → Modules & Licensing → Licenses, not in ImpulseVPS.
You can connect several provider accounts at each provider, such as one per region. Every server plan uses exactly one provider account, so selling one server shape on two providers takes two server plans. A server stays on the account it was created on. Adding an account or rotating a token doesn't disturb running servers.
Features follow the provider's API. The browser console works only on Vultr and Hetzner Cloud. Additional block storage and one-click applications work only on Vultr. A feature the provider lacks is left off the order form and control panel, never shown as a broken button.
ImpulseCore's provider list also includes Proxmox VE and the hyperscalers, which this version of ImpulseVPS doesn't sell on.
What your customers get
Each customer gets root on their server and a control panel in your client area. Its tabs include:
- Overview: status, IP addresses, plan, OS and a copy-paste SSH command.
- Power, Rebuild and Console: start, shut down, reboot, reinstall, and a browser console where the provider has one.
- Access: the one-time credential and saved SSH keys.
- Network and Firewall: IP addresses, reverse DNS and firewall rules. The firewall warns before a change would cut off the customer's own SSH access.
- Snapshots, Backups and Storage, within the plan's limits.
- Usage, Settings and Help: the plan's bandwidth allowance, the server's display name and the customer's display timezone, and SSH and security basics.
Overview, Access, Network, Settings and Help are always there. The other tabs appear only when the provider and the server plan support them.
SSH keys come first. If the customer adds no key, the module stores a one-time credential, encrypted: a root password, or on DigitalOcean a generated key pair. The customer sees it once, on the Access tab. It is never emailed.
A provider-blind client area by default
A server plan's Provider visibility defaults to hidden. Customers see "your server", and the client area and its messages don't name the provider. Imported sizes are labelled by their specs, such as 2 vCPU · 4 GB RAM · 80 GB NVMe, not by the provider's plan code. Set a server plan to branded to show the provider.
This lets one product line run on different providers while the client area names none of them. Two cautions:
- A size label you write yourself is published as written, so keep provider names out of it.
- Vultr's browser console opens on Vultr's own address, which the customer can see. On a hidden product that must not reveal the provider, turn off the Console tool, or ask Vultr about a white-labelled console domain.
The management plane is the provider API
Your customers hold root, so ImpulseVPS stays out of the server itself:
- Nothing installed beyond first boot. First-boot user-data sets the hostname and adds the customer's SSH keys. It turns off SSH password login when there's a key and carries the customer's own optional startup script. It never contains a password or secret.
- No agent. Nothing from ImpulseVPS runs on the server.
- No SSH from WHMCS. WHMCS never logs in to a customer server, even in an emergency.
- Typed, audited actions. Every change, from create to teardown, is checked against the service's own server and logged with a request ID.
You manage the server, not its contents. For support, that means:
- The control panel has no root password reset on any provider. A customer who loses the credential can reinstall with a new SSH key, but that erases the disk. On DigitalOcean a reinstall keeps the original keys, so that customer needs your help.
- If the rules a customer set on the Firewall tab lock them out, use Reset firewall to open on their service, then have them re-add their rules. It does not change a firewall running inside the server; on Vultr and Hetzner Cloud the customer can fix that from the browser console.
What you still own
- Provider accounts and their bills. Servers run in your accounts, and providers bill you. Add your API tokens under ImpulseCore → Operations → VPS Providers. Backups and additional storage also bill to you, so sell them as paid choices on the order form. The module switches backups on only for a service that has the paid Backups option. On Linode, also turn off Backup Auto Enrollment in the Linode account, or Linode enrolls every new server in its paid Backups.
- Pricing. Prices live on the WHMCS product's configurable options. Connecting a product to a server plan publishes the plan's choices but never changes a price you set. A size choice with no price sells at the product's base price, whatever it costs you.
- What is on sale. You pick the sizes, operating systems, locations and server plans. Locations are mapped in ImpulseCore → Projects → Regions.
- Abuse. You answer provider abuse notices. Each server is tagged with its service and client numbers. Suspend a service to stop its server at once, and terminate under your own terms. A server still suspended when its grace period ends (7 days by default, under Settings → Advanced) is destroyed, so to keep evidence take a snapshot in the provider account: the purge deletes only snapshots the customer created. On Linode a server's snapshot is deleted along with the server, so it can't hold evidence there.
Related
- Installing ImpulseVPS — step-by-step
- Understanding ImpulseVPS licensing
- Adding a provider account to ImpulseVPS
- Server plans: how they tie to WHMCS products
- Security hardening for ImpulseVPS
Was this helpful?
More in ImpulseVPS
Security hardening for ImpulseVPSServer plans: how they tie to WHMCS productsInstalling ImpulseVPS — step-by-stepAdding a provider account to ImpulseVPSStill need help? Ask the team