Installation¶
The firmware is installed on a server from a USB installer. The installer asks no questions and waits for no keypress: everything it needs it takes from a text file on the stick itself. A person writes the image, fills in the file, plugs the stick into the server and switches the power on.
The USB installer¶
The image carries the same firmware that will land on the machine's disk, and two partitions.
- INSTALLER — the boot partition with the firmware.
- CONFIG — an ordinary data partition holding the
install.txtfile. macOS and Windows show it by themselves; the boot partition they hide.
The image depends on no secrets: it is built with a template install.txt, and the file is filled in on the stick itself, in any editor. The line endings and the byte order mark that Windows and macOS add are discarded by the installer.
Write the image to the stick and replug it — the CONFIG volume appears.
The install.txt file¶
Open install.txt on the CONFIG volume and replace the placeholders in angle brackets.
| Field | Meaning |
|---|---|
SALT |
the fleet salt: the secret the machine's root password is derived from. It stays on the stick and never reaches the disk |
EDIT_AUTH_LOGIN |
the account name for the application console and the chassis settings |
EDIT_AUTH_PASSWORD |
its password |
LICENSE_KEY |
the licence key of the application |
HOSTNAME |
the machine name |
INSTALL_DISK |
the disk to install on. Left out, the largest disk other than the stick itself is taken |
A placeholder left in place is an empty value. Without the salt or without the password the installer refuses before it touches the disk.
Installing¶
Put the stick into the server and boot from it — in the boot menu it is the UEFI: <stick> entry.
From there the installer works on its own:
- lays the machine's disk out in the FIRMWARE, SETTINGS and VAR partitions — erasing it completely;
- copies the firmware onto it;
- leaves the initial values file on the disk: the console account, the licence key and the hash of the
rootpassword; - prints the chosen disk and the machine's hardware address on the console;
- powers the machine off.
The stick may stay in place: on the next boot the early script sees the same version on the disk and boots the disk. A stick with a different version installs that one afresh — a reinstall is done the same way.
The root password¶
The root password of each machine is derived from the fleet salt and the hardware address the installer printed. The salt lives only on the installation media; the machine gets a hash, and the password cannot be recovered from it.
Hence the property that matters: the password of a given machine is reproducible by whoever holds the media and the machine's identifier — with no database and no record of the machine itself.
First boot¶
After the installation switch the server on. The machine brings up the management daemon and then the application.
- The configurator and its web interface are on port 8090 of the machine.
- The application console is on its usual port.
The credentials come from the file the installer left behind. The password is turned into a hash when the settings store is first filled, and editing the file on an installed machine changes nothing.
Without credentials there is no way in
If the account fields in install.txt were left empty, the daemon rejects any password, not merely a wrong one. There are no credentials in the store and nowhere for them to come from: the machine has to be installed again.