Approvals

Admitting nodes that have enrolled, and managing the tokens that let them enrol.

A server that runs first-boot setup with a valid join token does not join the fleet. It enrols — it registers itself and then waits. Approvals is where a human lets it in.

The split is deliberate. A token is typed at a server console and is short enough to be read off a screen, so it is not a credential you would want to be sufficient on its own. It buys a place in a queue; admission is a separate, audited decision.

The two queues

Hypervisors (agents)

Servers that will run workloads. Approving one admits it as a host: the control plane starts sending it commands, provisions its key, and it appears in Infrastructure as ONLINE once its agent connects.

Standby controllers

Servers that will also run the control plane. Approving one admits it to the HA cluster, after which it replicates the database and becomes eligible to take the virtual IP.

A server installed as controller + host appears in both queues and must be approved in both. Approving only the controller entry gives you a control-plane peer that cannot run VMs; approving only the host entry gives you a hypervisor that is not part of the HA cluster.

Both queues refresh by themselves every ten seconds.

From the CLI

Hyperion[vsnode1]> show host pending-approval
Hyperion[vsnode1]> host approve <name>

Hyperion[vsnode1]> show cluster nodes pending
Hyperion[vsnode1]> cluster node approve <id|ip>

Join tokens

The screen also manages the tokens themselves.

The cluster token generated during first-boot setup serves both roles for the whole cluster. You can see it here, and from the CLI:

Hyperion[vsnode1]> show cluster join-token

Additional host join tokens can be issued and revoked independently. This is worth doing when someone else is racking servers: give them a token scoped to that rollout, and revoke it when they are finished, without disturbing the original.

Note — Revoking a token does not affect nodes that already enrolled with it. It only stops further enrolments.

What to check before approving

The queue shows each node’s name and address, and for a controller its priority. Before you approve:

  • Is this a node you installed? An entry you do not recognise means someone has a valid token. Revoke it.
  • Is the address right? A controller’s address is what its peers will use.
  • Is the priority right? A joining controller should have a higher number than the running master — lower is more preferred. A joiner that outranks the master can take the virtual IP before its database has synced.

Priority can be changed later, but before admission is the cheapest time.

On a single node

The Approvals screen is hidden on a standalone deployment — there is nothing to approve. It reappears as soon as something is actually waiting in it, so the second node you add is never stranded with no way to be admitted.