11 Commits

Author SHA1 Message Date
LovroG05
8bb62a1c20 feat: serve a backup model when the requested model fails
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Any model can name another model as its backup. The gateway tries the
backup when the model is offline, rate limited, or its upstream fails
before the client has received anything. The response reports the
requested model, so the client sees no switch. The request log records
each failed attempt and the address that served the request, and the
cost uses the backup's prices.
2026-10-15 09:56:01 +02:00
LovroG05
599b5542c6 fix: write every influx field on every point
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
InfluxDB 3 creates a column on its first write. A dashboard query that
names ttft_ms or error failed until a streamed or failed request had
been exported. Write 0 and empty strings instead of omitting the field.
2026-10-11 17:34:47 +02:00
LovroG05
abecc4b888 feat: export request statistics to InfluxDB 3
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Add an optional exporter that writes one point per proxied request to
the InfluxDB 3 write endpoint. Points are batched in memory and flushed
by size or interval. The exporter is off until GATEWAY_INFLUX_URL is set.
2026-10-11 17:20:14 +02:00
LovroG05
00800d3a3f fix: read the running llama.cpp context and allow a context override
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
The sync took meta.n_ctx_train from the model listing, which is the
training context, not the -c the server runs with. The llama.cpp provider
now asks the server for the live value: /props on a single server, the
router's /models status and /props?model=, and /upstream/<model>/props for
models llama-swap has loaded. Stopped models are never probed, because
that would start them.

Admins can also pin the context window per model from the Models page.
The override wins over the discovered value and survives syncs.
2026-10-04 18:14:09 +02:00
LovroG05
fd0451f02b docs: add dashboard screenshots and architecture notes
Describe the request path, the provider capability interfaces, the
catalog, auth, and logging for contributors. Reword the deploy section so
the author's registry and cluster read as an example.
2026-10-04 17:32:44 +02:00
LovroG05
5aadb0f875 feat: serve /v1/images/generations through OpenRouter chat completions
Some checks failed
ci/woodpecker/push/woodpecker Pipeline was canceled
Translate OpenAI image requests to OpenRouter chat completions with image
output and back, as the LiteLLM proxy does. Only models whose provider
reports image output accept the call; the catalog sync now stores the
reported output modalities in the capabilities column.
2026-10-04 16:56:05 +02:00
LovroG05
c37fb77be3 deploy: track the k3s manifest and relax the probes
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
Liveness and readiness timeouts go from 1s to 5s, and a startup probe
covers OIDC discovery. Liveness only hits /healthz, so a database or
network blip no longer restarts the pod.
2026-10-03 16:30:21 +02:00
LovroG05
4821ddca1a docs: update README for current features, drop unused admin token
All checks were successful
ci/woodpecker/push/woodpecker Pipeline was successful
2026-10-03 16:17:11 +02:00
LovroG05
13e8849047 docs: update README 2026-06-28 23:15:33 +02:00
LovroG05
2fa715d108 setup 2026-06-27 22:47:37 +02:00
LovroG05
7d72606bb9 frontend 2026-06-27 17:13:07 +02:00