CLI reference#
The flags you’ll reach for most, by entry point. This is a curated reference —
run python -m infera.<thing> --help for the complete, authoritative list.
Match transport/discovery fleet-wide
--discovery-backend, --request-transport, and --kv-event-transport must be
the same on the server and every worker. See
Routing & transport.
Server — python -m infera.server#
Flag |
Default |
Meaning |
|---|---|---|
|
|
OpenAI-compatible HTTP bind |
|
(required) |
tokenizer for prefix hashing; must match workers |
|
|
|
|
|
|
|
|
KV-aware: cache locality vs load balance |
|
(unset) |
KV-aware PD: prefill-side weight (typical |
|
(unset) |
KV-aware PD: decode-side weight (typical |
|
|
retry on an alternate worker on pre-response failure (never mid-stream); |
|
|
|
|
— |
required for |
|
|
etcd key prefix the fleet registers under |
|
|
worker-Pod selector (k8s discovery) |
|
(Pod’s own namespace) |
namespace to watch (k8s discovery) |
|
|
|
|
|
|
|
|
broker URL |
|
|
per-chunk inactivity timeout ( |
|
|
hard wall-clock cap per request |
|
|
per-worker admission limit (→ 429) |
|
— |
kvd UDS; enables |
|
off |
torch-profiler control plane |
Worker — python -m infera.engine.{sglang,vllm,atom}#
Infera flags vs forwarded engine flags
The worker launcher parses the Infera flags below and forwards everything
else verbatim to the underlying engine. So --advertise-host,
--discovery-backend, --request-transport, --kv-event-transport,
--enable-kv-events are Infera’s; engine-native flags like --tp-size /
--tensor-parallel-size, --page-size / --block-size, and the
--disaggregation-* set are passed through to SGLang/vLLM/ATOM (and validated
by them, not by Infera). Consult the engine’s own docs for those.
Common:
Flag |
Default |
Meaning |
|---|---|---|
|
(required) |
served model |
|
— |
engine HTTP port |
|
|
bind address |
|
— |
shared etcd (etcd discovery) |
|
= |
routable host/IP for cross-node |
|
|
|
|
|
|
|
on |
publish KV events for KV-aware routing |
|
|
|
Parallelism:
Flag |
Engine |
Meaning |
|---|---|---|
|
SGLang |
tensor-parallel across N GPUs |
|
vLLM |
tensor-parallel across N GPUs |
|
ATOM |
tensor-parallel across N GPUs |
|
SGLang / vLLM |
KV block size (match fleet-wide) |
PD disaggregation:
Flag |
Engine |
Meaning |
|---|---|---|
|
SGLang |
role; |
|
SGLang |
prefill bootstrap port |
|
SGLang |
KV transport |
|
vLLM / ATOM |
connector + |
KV-cache daemon — python -m infera.kvd#
Flag |
Default |
Meaning |
|---|---|---|
|
— |
UDS path engines connect to |
|
— |
host RAM (L2) budget |
|
|
zero-copy arena size ( |
|
— |
L3 region: single device / striped across devices (mutually exclusive) |
|
— |
L3 region size |
|
(deprecated) |
no-op, accepted for backward compatibility; the L3 tier is always the container-file tablespace layout now |
|
|
|
|
|
|
|
|
intra-shard IO parallelism for the striped ( |
Per-request KV params (OpenAI extra_body.kv_transfer_params)#
Key |
Values |
Meaning |
|---|---|---|
|
|
cache class. The vLLM connector honors |
Per-request TTL (infera_ttl_seconds) is supported by the daemon/wire
protocol but is not currently propagated by the vLLM connector — TTL is a
daemon-level concern today, not a per-request knob on the vLLM path.
Important environment variables#
Var |
Where |
Why |
|---|---|---|
|
vLLM worker |
mandatory for cross-restart cache hits (vLLM salts block hashes per process) |
|
worker |
which GPU(s) the worker uses |
|
PD worker |
force RDMA, not the empty XGMI shortcut |
|
cross-node PD |
RoCEv2 GID (default 0 is link-local) |
|
vLLM PD |
routable host IP for the connector |