Working with Bare Metal
Kheeper supports bare metal provisioning via iPXE. You create a named iPXE script, paste it into your machine's boot configuration, and the machine installs the Kheeper base image and registers as a host.
Overview
The bare metal flow works through iPXE scripts. You create a script for your org with a host name, configure a machine to boot with the script, and the machine installs a Fedora bootc image with the Kheeper agent. After installation and reboot, the machine auto-registers as a host using the name you chose.
iPXE scripts
iPXE scripts are one-time-use boot scripts. Each script is valid for 24 hours and is consumed after a machine successfully registers.
Creating a script
kheeper hosts ipxe create myorg/web-server
This prints the full iPXE script to paste into your provider's custom iPXE configuration.
Listing active scripts
kheeper hosts ipxe list --org myorg
Shows all unconsumed scripts that haven't expired.
Deleting a script
kheeper hosts ipxe delete myorg/web-server
Deleted scripts can no longer be used to boot machines.
Booting a machine
How you feed the iPXE script to a machine depends on your hosting provider. Most
providers expose a "custom iPXE" field where you paste the script output from
kheeper hosts ipxe create; a few only let you set a boot script through their
API. We have step-by-step guides for two:
- Bare Metal: latitude.sh — paste the script into a field in the order form. The simplest path, and billed hourly.
- Bare Metal: OVHcloud — set the boot script through the OVH API with a small Go program.
For any other provider the rule is the same: paste the full #!ipxe … script
into whatever "custom iPXE" option the provider offers when you order or
reinstall the server.
What happens during boot
- The machine executes the iPXE script you provided
- The script boots a Fedora installer over the network
- A kickstart file partitions the disk and installs the Kheeper base image
- The machine reboots into the installed system
- On first boot, the system registers with the Kheeper registry and becomes a host
This process takes ten to twenty minutes depending on the machine and network speed.
After registration
Once the machine registers, it appears in your host list:
kheeper hosts list --org myorg
Deploy to it like any other host:
kheeper releases create myorg/web-server:v1 \
--image us.kheeper.com/myorg/webapp:v1 \
--config-file config.json
kheeper hosts activate myorg/web-server:v1
See Working with Hosts and Configuring Images for details.
Cleaning up
kheeper hosts delete myorg/web-server
This removes the host from the registry. It does not affect the running machine. To fully decommission, also shut down or reimage the physical server through your hosting provider.