Files
inference-bot 2eb88f55b4 docs: infrastructure audit — app inventory, backups, CI, provider pricing, agent fleet
Audit of the operator docs against live reality (2026-11-04):
- app-inventory.md: all 19 Cloudron apps with id, fqdn and registry image pin.
  Corrects the portal path (code/member-portal, not co-op/member-portal) and the
  panel path (local/coop.inference.admin-panel, not code/admin-panel).
- maintenance/backups.md: the two backup systems; the deliberate per-user restic
  cache split and the --group-by "" retention fix, with why.
- maintenance/woodpecker-ci.md: CI server + agent, image build/pin, manual-only
  trigger, git-lfs requirement, and its current not-yet-green state (agent's
  job-collection long-poll gets HTTP 500 from the server).
- provider-pricing/: index + GreenPT, Tinfoil (local EHBP proxy architecture) and
  the Metis /v1/systemone decision-model route; regolo.md updated to record the
  gateway prices were applied.
- agent-fleet.md: steward, infrastructure-bot and socialbot (Unix users, gateway
  units, teams); member-bot tier 2 planned but not yet provisioned.
- README: file list; operator-token-runbook: correct the membership_sweep cadence
  (3x daily, not nightly); migration doc: post-migration addendum (16->19 apps,
  DNS split resolved, old box still on with apps stopped).
2026-11-04 14:46:12 +00:00

45 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Provider pricing
What our model providers charge, and where the authoritative numbers live.
## The authority
**The gateway's own per-model costs are the authority** — they are what the
response headers (`x-litellm-response-cost`) and member billing both read. They
live in the LiteLLM config on the gateway's persistent volume
(`/app/data/config.yaml`), under each model's `model_info`, as **USD per token**
(the comments in that file quote per-1M rates). Read them live with
`GET https://gateway.inference.coop/model/info` (master key), or read the config
straight from the running app.
**The member-facing mirror** is `co-op/docs/models.md`. When a rate changes,
update **both** the gateway config and `models.md` — the config is authoritative,
`models.md` is the mirror.
A missing cost field makes a paid feature free; a stale one bills wrong; a missing
`cache_read_input_token_cost` bills cache hits at the full input rate. All three
have happened here.
## The pages
| File | Provider | Notes |
|---|---|---|
| `greenpt.md` | GreenPT | renewable energy; the default model lives here |
| `tinfoil.md` | Tinfoil | TEE; the local-proxy architecture lives here |
| `regolo.md` | Regolo | renewable + ZDR; includes our measured usage |
| `decision-model.md` | GreenPT "Metis" via `/v1/systemone` | a pass-through **route**, not a chat model |
## The routing rule
Members reach models through one gateway, which fronts all providers. The
per-request cost the gateway records is the number to trust; do not re-derive a
price from a provider's public page (they drift, and some are login-walled).
## A note on currencies
Regolo quotes in **EUR**; our gateway figures convert at **EUR × 1.16 → USD**
(the rate our numbers use — `regolo.md` documents the derivation). GreenPT's own
listed rates appear in **EUR with the same numerals the gateway carries** —
whether an EUR→USD conversion is intended there is **unverified**; confirm it
against the GreenPT invoice before treating the figures as final.