Local OpenAI local-openai¶
The deployment's own inference, spoken as if it were OpenAI. Routes are
local-openai/<model> over openai-chat, but unlike every other
provider the endpoint is not a constant: it resolves per request through the routes file,
and only loopback or Tailscale IPv4 endpoints are accepted
(alias). Brama does not
start or supervise the inference engine — the deployment owner controls the digest-pinned
vLLM lifecycle.
How we authenticate¶
There is no provider account and no login flow at all: the "credential" is
whatever bearer the routes file names for the resolved endpoint, presented as
Authorization: Bearer <token>. Trust lives in the endpoint rule, not in a
key: a route naming anything that is not loopback or a Tailscale IPv4 address is refused
when the routes file is read — inference deployment '<name>' has no
safe local or Tailscale endpoint — and the file itself must be a regular,
non-group-readable file. The file is re-read per request, so a repaired file needs no
restart.
Models¶
No pinned rows: the catalog is discovered live from the resolved endpoint's own
/v1/models. Discovery follows the shared provider transport contract.
What is served depends entirely on what the deployment loaded into its engine.
Plan usage¶
There is no plan: the deployment owns the hardware. No usage report exists and none is invented (subscription).
Endpoints¶
| Base URL | resolved per request from the routes file; loopback or Tailscale IPv4 only |
| Chat | <resolved base>/v1/chat/completions |
| Model discovery | <resolved base>/v1/models |
| Auth header | Authorization: Bearer <routes-file bearer> |
| Base URL override | BRAMA_PROVIDER_LOCAL_OPENAI_BASE_URL — loopback overrides require the explicit deployment override (provider) |