Rensei docs

Fleet

Multi-machine fleet and routing.

rensei fleet lets you view every registered host in your org and control how project work is routed across them. Use it to inspect machine availability, configure preferred and fallback execution pools, and test routing decisions before promoting a change.

Overview

Each machine running the Rensei daemon registers itself as a host under your org. rensei fleet gives you a read-only view of those hosts and a write surface for routing policy - where to send work by default, which pool to fall back to when the preferred pool is exhausted, and a dry-run test to confirm the expected outcome.

To manage the daemon on the local machine (install, start, pause, drain, logs) use rensei host. rensei fleet is for cross-machine visibility and routing only.

Deprecated aliases

The former rensei machine and rensei execution route commands are hidden aliases that map to rensei fleet and rensei fleet route respectively. They still work in the current release but print a deprecation notice and will be removed in a future version.


Commands

fleet list

List every host registered to the active org.

rensei fleet list [--json]
FlagDescription
--jsonEmit results as a JSON array instead of the default table

Output columns (table):

ColumnDescription
IDStable machine ID (UUIDv4 assigned at first registration)
HOSTNAMEReported hostname from the daemon
STATUSactive, paused, draining, or offline
POOLSComma-separated list of execution pool IDs this host serves
SESSIONSRunning / max concurrent sessions
LAST SEENTimestamp of last heartbeat
# List all machines in the active org
rensei fleet list

# Machine-readable output for CI/monitoring scripts
rensei fleet list --json | jq '[.[] | select(.status == "active")]'

Example output:

ID                                    HOSTNAME          STATUS    POOLS                        SESSIONS   LAST SEEN
b2c4a1e0-12ab-4cde-89ef-aabbccddeeff  build-01.corp     active    pool-local-main              2/4        2s ago
7f3e9c12-34cd-4567-89ab-112233445566  dev-mbp-mark      active    pool-local-main, pool-gpu    0/2        5s ago
aa11bb22-cc33-dd44-ee55-ff6677889900  ci-runner-001     paused    pool-ci                      0/8        12s ago

fleet show

Show detailed information for a single host.

rensei fleet show <machine-id> [--json]
ArgumentDescription
<machine-id>Machine ID from fleet list
FlagDescription
--jsonEmit JSON detail object
rensei fleet show b2c4a1e0-12ab-4cde-89ef-aabbccddeeff
rensei fleet show b2c4a1e0-12ab-4cde-89ef-aabbccddeeff --json

The detail view includes:

  • Platform version installed on the host
  • Daemon uptime and last restart
  • Capacity envelope (maxConcurrentSessions, poolMaxDiskGb)
  • Active session IDs and their current phase
  • Pool membership and current pool mode (persistent, on_demand, hybrid)
  • Credential socket path (for debugging credential delivery issues)

fleet route show

Show the current routing policy for a project (or the active project if omitted).

rensei fleet route show [<project-slug>] [--json]
# Show routing for the currently active project
rensei fleet route show

# Show routing for a named project
rensei fleet route show my-fintech-app
rensei fleet route show my-fintech-app --json

Example output:

Project:          my-fintech-app
Preferred pool:   pool-local-main  (local, persistent)
Fallback pool:    pool-cloud-e2b   (e2b, on_demand)
Routing mode:     preferred-with-fallback

fleet route set

Update the routing policy for a project.

rensei fleet route set [<project-slug>] \
  --preferred-pool <pool-id> \
  [--fallback-pool <pool-id>]
FlagDescription
--preferred-pool <pool-id>Pool ID to use as the primary execution target
--fallback-pool <pool-id>Pool ID to fall back to when the preferred pool cannot accept work. Omit to disable fallback.
# Route project to a specific local pool with a cloud fallback
rensei fleet route set my-fintech-app \
  --preferred-pool pool-local-main \
  --fallback-pool pool-cloud-e2b

# Remove fallback (route to preferred pool only, reject if full)
rensei fleet route set my-fintech-app \
  --preferred-pool pool-local-main

Routing changes take effect on the next session dispatch. In-flight sessions continue on the pool they were originally scheduled to.

Pool IDs are shown by rensei capacity pool list. To confirm a pool is ready to accept work before updating routing, run rensei fleet route test first.


fleet route test

Dry-run the routing policy for the active or named project. Reports which pool would receive the next session and whether fallback would activate.

rensei fleet route test [<project-slug>]
rensei fleet route test my-fintech-app

Example output:

Simulating dispatch for project: my-fintech-app
  Preferred pool:  pool-local-main  [2/4 slots used]  → AVAILABLE
  Decision:        route to pool-local-main
  Fallback:        pool-cloud-e2b (not needed)

If the preferred pool is at capacity:

  Preferred pool:  pool-local-main  [4/4 slots used]  → FULL
  Fallback pool:   pool-cloud-e2b   [0/∞ slots used]  → AVAILABLE
  Decision:        route to pool-cloud-e2b (fallback)

Routing model

Routing in Rensei uses a two-tier preferred/fallback model:

Preferred pool check - the scheduler checks whether the preferred pool has available capacity (running < maxConcurrentSessions).

Fallback activation - if the preferred pool is full and a fallback pool is configured, the session is routed to the fallback pool.

Rejection - if no fallback is configured and the preferred pool is full, the session enters a pending queue until a slot opens.

For Thompson-Sampling-based adaptive routing (load-aware MAB routing), see Model Routing - Catalog and Routing.


On this page