Bare Metal
Manage bare-metal provisioning in FluxBilling: run the service, curate OS images, and build cloud-init / Unattend.xml deployment templates.
What the Bare Metal page is for
The Bare Metal settings page is where you run and monitor the bare-metal provisioning service, manage the catalog of operating-system images customers can install, and build the deployment recipes (cloud-init / Unattend.xml) that configure each physical machine on first boot.

How to reach it
Open Settings from the admin sidebar, then select the Bare Metal item under the Infrastructure group. The page opens on the Overview sub-tab. Three sub-tabs run across the top:
- Overview — provisioning service status and the hostname-suffix setting.
- OS Images — the catalog of deployable operating-system images.
- Templates — the deployment recipes applied at first boot.
The Bare Metal item only appears when the Inventory feature is enabled. If you do not see it, enable Inventory first (Settings has a feature toggle for it).
Overview sub-tab
The Overview sub-tab tells you whether the provisioning service is running and lets you control it. A header note reminds you that the service is configured automatically; a Refresh button re-reads the live status at any time.
Service status and controls
A large status card at the top reports one of three states:
- Automation Ready — the service is running and ready for bare-metal provisioning.
- Setup in Progress — the service is configuring itself; no action needed, just wait.
- Services Stopped — the service is not running.
The buttons that appear depend on the state:
- When stopped, a Start button brings the service up.
- When running, you get a Restart button and a Stop button.
Below the status card, a Service Status grid shows each internal component as a colored circle — green check for running, gray for stopped, yellow for a warning state — with the component name and status beneath it.
Node statistics
Once the service is running, a Nodes panel summarizes your enrolled machines with counters for Total, Active, and Available. An Error counter only appears when one or more nodes are in an error state.
Servers sync with the provisioning service automatically when you create, update, or delete them in Inventory — there is no manual sync button.
Server Hostname Suffix
The Server Hostname Suffix is a domain appended to each bare-metal server's short name at deploy time to form its fully-qualified hostname. The field shows a fixed server-name. prefix on the left; you type the domain (for example example.com) on the right.
- Type the domain into the suffix box.
- A live preview appears below, for example
XR-BL31S1.example.com. - Click Save. The button briefly changes to Saved to confirm.
Leave the field blank to use the server's short name only. The Save button stays disabled until you change the value.
IPA Images
When the service reports them, an IPA Images panel shows two cards — Kernel and Ramdisk — each marked Downloaded or Not available. These are the boot helpers the service uses to inspect and image a machine; both should read Downloaded for provisioning to work.
OS Images sub-tab
The OS Images sub-tab is the library of operating systems customers can choose when they order or reinstall a bare-metal server. It has two inner tabs: Images and Official Sources.
Images tab
This is your live, deployable catalog. A search box filters by name, slug, or distribution, and an All Families dropdown narrows the list to Linux, Windows, FreeBSD, or Other. Each row shows:
- The image logo and name.
- Requirements — minimum RAM and disk (for example
2048MB RAM, 20GB Disk). - A Status toggle — green when active, gray when hidden.
- Actions — an open-link icon (opens the image source URL in a new tab), an edit pencil, and a delete trash icon.
Flip the Status toggle to hide an image from the order form without deleting it. Deleting asks for confirmation.
Adding or editing an image
Click Add Image (top right) to open the image editor, or the edit pencil on a row. The editor groups fields into sections:
| Field | What it does |
|---|---|
| Name | Display name shown to customers (required). |
| Slug | Short identifier; a Generate button builds one from distribution and version (required). |
| Description | Optional notes about the image. |
| Logo URL | Link to an icon; a live thumbnail appears next to the field. |
| OS Family / Distribution / Version / Architecture | Classifies the image. Architecture offers x86_64 (AMD64) or aarch64 (ARM64). |
| Image URL | Where the image is downloaded from during deploy (required). |
| Image Checksum + Algorithm | Optional integrity hash; algorithm can be MD5, SHA256, or SHA512. |
| Image Type | Whole-disk or partition image. |
| Disk Format | qcow2, raw, vhd, vhdx, vmdk, or iso. |
| Minimum Requirements | Minimum RAM (MB), disk (GB), and CPU cores needed to deploy this image. |
| Supports UEFI / Supports BIOS | Checkboxes for the boot modes the image can run under. |
| Active | Checkbox controlling whether the image is offered to customers. |
Click Create (or Update) to save. The button stays disabled until Name, Slug, and Image URL are filled in.
Official Sources tab
The Official Sources tab is a curated catalog of upstream cloud images you can add with one click instead of typing every field by hand. Each card shows the distribution, version, architecture, a colored family badge, the vendor, and a Vendor link to the upstream site.
- Click Add to Images to copy a source into your live catalog. Once added, the card shows a green Added badge.
- Sources that require your own licensed image (such as Windows Server entries) show Manual upload instead of an Add button and a License required note — add those through the Images tab with your own image URL.
Templates sub-tab
Deployment templates are the first-boot recipes that configure a server after the operating system is written — creating users, installing packages, setting the hostname, applying network config, and running post-install scripts. The Templates sub-tab lists them as cards.
Browsing and filtering
Category filter chips run across the top — an All Templates chip plus a chip for each category that contains templates (such as Basic Server, Web Server, Database, Docker, Kubernetes, Security, Windows, or Custom), each with a count. A search box filters by name. Cards marked with a System badge are built-in and cannot be deleted; an Inactive badge marks disabled templates.
Creating or editing a template
Click New Template, or the edit pencil on a card. The editor has these controls:
| Field | What it does |
|---|---|
| Name / Slug | Identify the template; a Generate button builds the slug from the name (both required). |
| Category | Groups the template under one of the filter chips. |
| Description | Short summary shown on the card. |
| Template Type | Cloud-init (Linux), Unattend.xml (Windows), Network Config, Post-install Script, or Combined. |
| Content tabs | Four editors — Cloud-init, Unattend, Network, and Post-install — for the matching content. |
| Validate | Checks the current content's syntax and shows a green pass or a red error message. |
| Preview | On a saved template, renders the recipe with sample values so you can see the final output. |
| Compatibility | Checkboxes for which OS families (Linux, FreeBSD, Windows) the template supports. |
| Active | Checkbox controlling whether the template is available. |
System templates are locked: their name, slug, category, type, and content fields are read-only, so you cannot accidentally break a built-in recipe. To customize one, create a new template instead. You can still toggle whether a system template is Active.
Templates use simple placeholders for substitution: {{variable}} for a value, {{#each array}} for loops (such as SSH keys), and {{#if condition}} for conditionals. Click Save when done; Save stays disabled until Name and Slug are filled.
Tips and gotchas
- Match an image's minimum RAM, disk, and CPU against your hardware tier before assigning it to a product, or provisioning can fail when the machine is allocated.
- Hide images you are not ready to offer with the Status toggle rather than deleting them — toggling is reversible, deleting is not.
- OS Images and Deployment Templates are managed here under Bare Metal, not under Inventory.
- Always run Validate before saving a hand-written cloud-init or Unattend.xml template, and use Preview to confirm the rendered result.
