Kheeper

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:

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

  1. The machine executes the iPXE script you provided
  2. The script boots a Fedora installer over the network
  3. A kickstart file partitions the disk and installs the Kheeper base image
  4. The machine reboots into the installed system
  5. 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.