feat: env-defined endpoint aliases (http-capable, local Ollama friendly)
Build & push image / build-and-push (push) Successful in 9s
Build & push image / build-and-push (push) Successful in 9s
majordomo's built-in LLM_* env DSNs are HTTPS-only (DSN.BaseURL forces https), so they can't express a plaintext local Ollama. Add Gadfly-native env families that register named providers/aliases with majordomo before resolution: GADFLY_ENDPOINT_<NAME>="<provider>|<base-url>[|<key>]" # base URL verbatim (http ok) GADFLY_ALIAS_<NAME>="<majordomo spec>" # plain alias / failover chain Then reference them as "<name>/<model>" (or the bare alias) in GADFLY_MODEL(S). <NAME> lowercases to the registry name, matching majordomo's LLM_* convention. LLM_* DSNs still work (and are documented) for HTTPS endpoints. + unit tests, README "Endpoint aliases via env vars", stub example. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -76,8 +76,29 @@ majordomo failover chain / alias) is used verbatim.
|
||||
> and exercise the exact same code an OpenAI/OpenRouter endpoint would hit, for free. If you
|
||||
> try a cloud provider and it works (or doesn't), please open an issue.
|
||||
|
||||
For arbitrary endpoints you can also skip `GADFLY_PROVIDER`/`GADFLY_BASE_URL` and define a
|
||||
majordomo `LLM_*` env DSN, then reference it by name in `GADFLY_MODEL` (advanced; HTTPS only).
|
||||
### Endpoint aliases via env vars
|
||||
|
||||
For multiple named backends (e.g. a couple of Ollama boxes on your LAN), register them by
|
||||
name with env vars and then reference `name/model` in `GADFLY_MODEL`/`GADFLY_MODELS`:
|
||||
|
||||
```sh
|
||||
# http-capable (Gadfly-native) — base URL used verbatim, so plaintext LAN works:
|
||||
GADFLY_ENDPOINT_BIGBOX="ollama|http://192.168.1.50:11434"
|
||||
GADFLY_ENDPOINT_GPU="openai|http://gpu.lan:8000/v1|sk-local"
|
||||
GADFLY_MODELS="bigbox/qwen2.5-coder:7b,gpu/llama3.1"
|
||||
|
||||
# pure spec alias (a model, or a failover chain):
|
||||
GADFLY_ALIAS_FAST="bigbox/qwen2.5-coder:7b,ollama-cloud/gpt-oss:120b-cloud"
|
||||
GADFLY_MODEL="fast"
|
||||
```
|
||||
|
||||
`<NAME>` is lowercased to form the registry name (`GADFLY_ENDPOINT_BIGBOX` → `bigbox`). This
|
||||
is the same idea as majordomo's built-in **`LLM_*` env DSNs** (`LLM_BIGBOX=ollama://tok@host`),
|
||||
which Gadfly also honors — but those are **HTTPS-only**, so for plaintext local Ollama use
|
||||
`GADFLY_ENDPOINT_*` instead.
|
||||
|
||||
> **Gitea Actions note:** repo `vars`/`secrets` aren't auto-exposed as env — add each alias to
|
||||
> the stub workflow's `env:` block, e.g. `GADFLY_ENDPOINT_BIGBOX: ${{ vars.GADFLY_ENDPOINT_BIGBOX }}`.
|
||||
|
||||
### Triggers
|
||||
|
||||
|
||||
Reference in New Issue
Block a user