BBramaDocs
Browse documentation

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 URLresolved per request from the routes file; loopback or Tailscale IPv4 only
Chat<resolved base>/v1/chat/completions
Model discovery<resolved base>/v1/models
Auth headerAuthorization: Bearer <routes-file bearer>
Base URL overrideBRAMA_PROVIDER_LOCAL_OPENAI_BASE_URL — loopback overrides require the explicit deployment override (provider)