Skip to content

Stage 2: the install service

The install service answers on the node’s management address, port 9443, over HTTPS with a self-signed certificate. Every step below shows the web installer and the CLI side by side; choosing a tab switches every section on the page. Both edit the same draft on the node.

The examples use the node 192.0.2.10. Replace it, the install code and the fingerprint with what the node’s console shows.

  1. Open https://192.0.2.10:9443/.
  2. The browser warns about the certificate. Open the certificate details and compare its SHA-256 fingerprint with the TLS SHA-256 line on the node’s console. Continue only when they match.
  3. Type the install code and select Unlock.

After three wrong codes the browser’s address is locked out for a growing time, up to 5 minutes.

Unlock with the install code from the console.
Unlock with the install code from the console.

The Machine step shows the install mode, the CPU (and whether KVM is ready), memory, firmware, every disk with its health and hardware ID, the NICs, and PCI devices such as GPUs. It changes nothing. A missing virtualization extension shows here as an error.

The Machine step.
The Machine step.

The mode is the kind chosen in stage 1. This page is the single-node install: the mode is Single node. The web installer shows it, read-only, at the top of the Machine step, and a draft that names another mode is refused. For a cluster, see Install the first node.

The install mode, read-only, on the Machine step.
The install mode, read-only, on the Machine step.

The OS disk layout from stage 1 decides the first pool:

  • System + compute tail: the first pool is stratum-compute, on the OS disks’ free tail. Data disks are optional, each an extra pool.
  • Whole disk: at least one data disk is required. The first compute disk becomes the first pool, and its storage class is the default.

Each data disk becomes an LVM-thin pool with a storage class. The pool is the node’s space on that disk; the class is what tenants choose when they create a volume (it defaults to the pool’s name). Data disks can first be combined into MD RAID arrays, each then used like one disk:

Level Members Size Survives
RAID 1 2 or more the smallest member all members but one failing
RAID 10 an even number, 4 or more half of the members one failure per mirrored pair
RAID 0 2 or more the sum nothing: one failed disk loses the pool

Every selected disk is wiped. A disk that holds data needs an explicit confirmation.

In the Storage step, select each data disk, then set its Pool name and Storage class name. New MD array combines disks: choose the members, the level and a name; the array then appears as one disk to use. A disk that holds data asks to type its name before it is wiped.

Two data disks selected as pools, each with a pool name and a storage class name.
Two data disks selected as pools, each with a pool name and a storage class name.
Two disks combined as a RAID 1 array.
Two disks combined as a RAID 1 array.
Setting Default Notes
Uplink interface The NIC the installer runs on Where tenant traffic leaves. Another NIC needs an IPv4 address first.
Default VPC CIDR 172.31.0.0/16 Each project’s first VPC. Must not overlap the node’s networks.
Floating IP ranges A free /24 the installer suggests Required. Instance addresses on the LAN. Route each range to the node on the LAN router. Check nothing else on the LAN uses it.
DNS parent domain cloud.internal Names for the console, API, load balancers and instances. Need not be public. Avoid .local; stratum.internal and compute.internal are refused.
LAN DNS address The management address Where the node answers DNS for the parent domain.
Region local-1 Part of every resource name. Cannot be changed after the install. 3 to 30 characters.
Upstream DNS servers None Optional. Where instances’ resolvers forward names the cloud does not serve. Up to 4 IPv4 addresses. With none, they resolve from the internet’s root servers.
Fallback to root servers Off Advanced. When every upstream fails, resolve from the root servers instead of failing.
NTP servers Offered by DHCP, else the public NTP pool Up to 8. An offline site lists its own.

The floating IP range must not overlap the node’s networks, the default VPC, or ranges the platform uses on the node: 100.64.0.0/10, 10.255.0.0/16, 10.88.0.0/16 and 10.89.0.0/16.

The Network step has three panels: Uplink and addresses, Names and Time. Use the suggested range fills the floating IP range, and a note shows the route to add on the LAN router. Use this machine’s resolvers fills the upstream DNS servers with the node’s own.

The Network step with the suggested floating IP range.
The Network step with the suggested floating IP range.

Client VPN, Backup, Secrets Manager and Security are on by default. Each can be switched off now and on again later; see Managed services.

The Services step has one switch per service.

The Services step.
The Services step.

The install registers no images. Add them once the cloud runs: from the base-image catalog, or upload your own qcow2 or raw image. See Images. A node.yaml that lists images is refused.

The first console account. Only the email is chosen; the install generates a one-time password, shown when the install ends.

The Admin step has the email field.

What the node keeps for itself, and a few advanced settings.

Setting Default Notes
Host reservation max(6 GiB, 10% of RAM) of memory and max(2, 6% of the threads) of vCPUs Kept back from instances for the platform. At least 1 vCPU and 4 GiB. See Host reservation.
Development mode On for a single node Publishes the platform’s web UIs on the node’s loopback, and shows the OpenBao root token and the database password to admins. Turn it off for anything but a lab.
Release mirror The release’s own mirror Where the cloud looks for newer releases. Empty switches the check off, for a site upgraded from media.
Release token (optional) None From the Stratum Account: opens the stable release channel. Kept in OpenBao and never shown again.

The Host step has the reservation, and the advanced settings under it.

The Host step.
The Host step.

Review lists what to fix (each with a link to its step), what happens to each disk, warnings, and the node.yaml the install will write. The file can be downloaded, or edited directly with Advanced: edit the file. Install starts the install.

Review: the disk plan and the node.yaml.
Review: the disk plan and the node.yaml.

The install has twelve steps (checking the machine, installing packages, preparing storage, loading the container images, starting the control plane and the rest), then waiting for READY, up to 15 minutes. It runs on the node on its own: closing the browser or the CLI stops nothing.

The progress page shows each step and the live log.

The install in progress.
The install in progress.

The failed step is named as a person would say it, for example Preparing storage failed, with the error. On a single node a re-run is safe: completed steps are kept, and attempts are numbered.

Retry install runs it again, Edit configuration goes back to the form, and Download diagnostics saves the support bundle. When the install finished but the cloud was not ready in time, Recheck readiness waits for READY again without installing.

The diagnostics bundle holds the logs, the event stream, the report, the draft and the installed node.yaml with secrets removed, the hardware and the installer’s journal. It holds no password, key or token, but it names your host names and addresses. The full log on the node is /var/log/stratum/install.log.

Stratum is installed shows the console and API addresses, the admin user and the initial password, the OpenBao recovery key, a note that no images are installed, readiness while the cloud starts, and the LAN settings to add.

Save the OpenBao recovery key now, off the node (Copy or Download). It is shown only until the first sign-in. It unseals OpenBao when the node’s TPM cannot, and root on the node can print it again later with sudo stratum-bootstrap recover openbao-key. A node with no TPM says so: its unseal key is on its disk.

The Done screen with the initial password and the OpenBao recovery key.
The Done screen with the initial password and the OpenBao recovery key.

Next: first sign-in, then reach the cloud from your LAN.