FluxBilling
Plugin · Apache CloudStack

CloudStack billing that deploys the instance when the invoice is paid

Connect an Apache CloudStack management server with an API key pair. A paid order deploys an instance in the zone the customer picked, from the product’s service offering and the chosen template, waits for CloudStack’s job to finish and records the address and login. The customer gets power controls, a web console, reinstall and password reset; an overdue invoice shuts the instance down, and termination destroys and expunges it.

Apache CloudStack APIsigned API keysservice offerings → productscloud-init templates
marketplace
FluxBilling plugin marketplace, where the Apache CloudStack plugin installs from — every plugin in the catalogue is marked Free
What it costs

The plugin is free. CloudStack stays as it is.

The CloudStack plugin is listed at no charge on the FluxBilling marketplace and installs on every tier. Plans are priced by the clients you bill — there is no per-instance or per-zone charge for machines this plugin manages.

CloudStack keeps running your zones. The plugin talks to its API with a key pair you generate; the secret key signs every request and is never sent.

Apache CloudStack plugin
Plugin price
Free
Available on
Every tier
Authentication
API key + secret key, signed requests
Placement
The zone chosen at checkout
IPv4 per order
1 to 4; extra ones as secondary IPs
Plugin version
1.0
Order to running instance

From a paid invoice to a running instance

CloudStack does its work as asynchronous jobs. The plugin waits for each one to finish and stops with CloudStack’s own error text when one fails.

  1. 01OrderThe customer picks a zone and an operating system from the ones the product offers, a hostname and a root password. A choice the product does not offer is ignored.
  2. 02Check the templateThe plugin confirms the template exists in that zone, reads whether it is password-enabled, and matches the product’s guest networks to the zone.
  3. 03Reuse or deployIf an earlier attempt for the same service already built the instance, it is reused — a retried order never creates a second one. Otherwise the instance is deployed with the service offering, and the root disk size and data disk the product sets.
  4. 04Set up the guestLinux templates with cloud-init receive the hostname, the root password and root SSH login through user data. Password-enabled templates get the password from CloudStack itself.
  5. 05Wait and hand overThe deploy job is polled until it finishes, extra IPv4 addresses are added to the instance’s network card, and the address, IPv6 and login are stored on the service. A deploy that fails is cleaned up instead of left behind.
Client area

What the customer can do with a CloudStack instance

The service page is drawn from the plugin, so every button maps to something CloudStack can actually do.

Server detailsIP address, hostname, operating system, zone, power state and additional IPs.
UsageCPU, RAM, disk and network traffic.
PowerStart, stop and restart.
Web consoleA one-time link from CloudStack’s console proxy, opened in a new tab.
ReinstallRebuild the root disk from any template in the instance’s zone, with a new root password.
Reset passwordOn password-enabled templates the instance restarts with the new root password.

Staff side. Staff see the same page with the access credentials and CloudStack’s own instance state, and run reinstalls and password resets on the customer’s behalf.

Product settings

A service offering becomes a product

Each product points at one service offering and lists the zones, templates and networks it may use.

SettingWhat it decides
Service offeringThe CPU and RAM every server sold with this product gets.
Zones offeredThe zones the customer chooses from; the first is used when they do not choose.
OS templates offeredThe templates offered at checkout and for reinstall.
Guest networksNetworks to attach, matched to the chosen zone. Empty lets CloudStack pick the zone’s default.
Root disk sizeGrows the root disk at deploy. Empty keeps the template’s size.
Data disk offeringAn optional extra data disk.
Hostname templateGenerates hostnames from the service number with {{id}}. Empty lets the customer choose.
Setup

Connect CloudStack in four steps

  1. 01Generate API keysIn CloudStack, open your admin user and generate an API key and secret key.
  2. 02Install the pluginInstall CloudStack Provider from the marketplace in your FluxBilling admin panel. It is free.
  3. 03Enter the connectionThe API URL, both keys and, if the servers should belong to a particular account or project, its IDs — the fields on the right.
  4. 04Build a product and test itPick a service offering, zones and templates on a product, then place one test order before you sell it.
What the plugin asks forconnection
  • API URLThe management server’s API endpoint, ending in /client/api.
  • API key and secret keyThe admin user’s key pair. The secret key only signs requests.
  • Domain, account or projectOptional: who owns the servers. Empty uses the API key’s own account.
  • Template filterWhich templates the product form lists: usable, featured, your own or community.
  • Keep destroyed machinesOff: termination expunges the instance at once. On: it stays destroyed and recoverable until CloudStack’s expunge delay.
Billing lifecycle

The invoice drives the instance

WhenThe plugin
Invoice paidDeploys the instance as described above.
Overdue past your grace periodSuspends: a clean shutdown, forced off if the guest does not respond. Disks are untouched.
Paid after suspensionUnsuspends: the instance is started again.
UpgradedMoves the instance to the new product’s service offering — live when CloudStack’s dynamic scaling allows it, otherwise with a stop and start — and grows the root disk if the new product sets a larger size.
TerminatedDestroys and expunges the instance with its volumes, or leaves it destroyed if you keep destroyed machines.

Grace periods, reminders and the order in which renewals, payments and suspensions run are platform settings shared by every service — see Billing and Provisioning.

Limits

What it does not do

  • Servers belong to one CloudStack account — the API key’s own, or the domain, account or project you set. Customers do not get their own CloudStack logins.
  • Password reset works on password-enabled templates only; on cloud-init templates the root password changes by reinstalling. Setting the customer’s chosen password on password-enabled templates needs CloudStack 4.19 or newer; older versions generate one, which the customer is shown.
  • The web console needs CloudStack 4.18 or newer.
  • Extra IPv4 addresses are added as secondary IPs on the instance’s network card; the guest operating system has to configure them.
  • Backups and snapshots are not offered through the plugin.
  • Addresses come from CloudStack’s networks, not from FluxBilling’s IPAM.
Questions

Apache CloudStack and FluxBilling, answered

Is there a CloudStack billing system that does not need WHMCS?
Yes. FluxBilling is the billing system, the client area and the provisioning in one product, so the CloudStack plugin connects straight to it — there is no WHMCS module to buy or maintain in between.
What does the CloudStack plugin cost?
Nothing. It is listed free on the FluxBilling marketplace and installs on every tier. Your FluxBilling plan is priced by the clients you bill, not by instances.
Which hypervisors does it work with?
Whatever your CloudStack zones run. The plugin talks to CloudStack’s API, not to the hypervisors, so KVM, VMware and XenServer zones look the same to it. Growing the root disk at deploy depends on the hypervisor and the template.
How is the root password set?
Linux templates with cloud-init get it through user data on first boot, together with the hostname and root SSH login. Password-enabled templates get it from CloudStack’s password service; before CloudStack 4.19 that service generates its own password, and the customer is shown that one.
What if provisioning is retried?
The plugin names each instance after the service, so a retried order finds the instance it already built and reuses it instead of deploying a second one.
What happens when a customer does not pay?
Once the invoice passes your grace period the instance is shut down, with its disks left intact. Paying starts it again. Termination destroys and expunges it.

Apache, Apache CloudStack and CloudStack are trademarks of The Apache Software Foundation. FluxBilling is not affiliated with or endorsed by its owner; the name is used only to say which software the plugin connects to. Plugin facts read from plugin version 1.0, October 2026.

Get started

Try it on your own data. Refund inside 14 days if it’s not the fit.

Pick a tier and provision a tenant in under two minutes — isolated K3s namespace, your own database, the full product. If FluxBilling isn’t the right fit inside 14 days, open a ticket and we’ll refund the subscription. No sales call, no qualification gate. Want to look around first? The live demo opens the admin and client panels with sample data, no signup.

14-day refund
Standard policy
  1. 01.
    Pick a tier
    Lite from €4.95/mo. Upgrade later, no migration.
    < 1 min
  2. 02.
    Provision the tenant
    Isolated K3s namespace + your own PostgreSQL database. Full product, your data.
    < 2 min
  3. 03.
    Refund inside 14 days
    Not the fit? Open a ticket within 14 days and we refund the subscription. No questions, no qualification gate.
    d0 — d14
14-day refund · cancel any time
Start →