Document member dashboard (Steps 1-4 complete); add to components table
This commit is contained in:
1 parent
cb55c8b2a9
commit
20e76b4edf
2 files changed
+11
-3
No files matched your search
@@ -46,6 +46,7 @@ The Inference Cooperative runs a self-hosted stack on [Cloudron](https://cloudro
|
|||||||
| **Open WebUI** | Member-facing chat interface (with web search) | chat.inference.coop |
|
| **Open WebUI** | Member-facing chat interface (with web search) | chat.inference.coop |
|
||||||
| **LiteLLM** | AI gateway — keys, metering, model routing | gateway.inference.coop |
|
| **LiteLLM** | AI gateway — keys, metering, model routing | gateway.inference.coop |
|
||||||
| **Member Portal** | Membership middleware — onboarding, key provisioning, Loomio sync | portal.inference.coop |
|
| **Member Portal** | Membership middleware — onboarding, key provisioning, Loomio sync | portal.inference.coop |
|
||||||
|
| **Member Dashboard** | Member-facing usage view + API key management | dashboard.inference.coop |
|
||||||
| **SearXNG** | Self-hosted web search (feeds the chat's search tool) | search.inference.coop |
|
| **SearXNG** | Self-hosted web search (feeds the chat's search tool) | search.inference.coop |
|
||||||
| **Gitea** | Git hosting (code + docs) | git.inference.coop |
|
| **Gitea** | Git hosting (code + docs) | git.inference.coop |
|
||||||
| **Loomio** | Member governance | forum.inference.coop |
|
| **Loomio** | Member governance | forum.inference.coop |
|
||||||
@@ -88,7 +89,7 @@ By creating your account, you agree to these terms.
|
|||||||
|
|
||||||
## Planning
|
## Planning
|
||||||
|
|
||||||
- [API access, member dashboard & admin dashboard](implementation-plan-api-dashboards.md) — the plan for API access, key management, and dashboards (not yet implemented).
|
- [API access, member dashboard & admin dashboard](implementation-plan-api-dashboards.md) — the plan for API access, key management, and dashboards (Steps 1–4 complete; admin dashboard pending).
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -163,8 +163,15 @@ Member (browser) ──SSO──▶ Member Dashboard (new Cloudron app, "members
|
|||||||
|
|
||||||
### Step 4 — Member dashboard (Phase 3)
|
### Step 4 — Member dashboard (Phase 3)
|
||||||
|
|
||||||
- New Cloudron app in the "members" group (SSO-gated). Read-only (spend/keys/usage) + broker calls for create/revoke.
|
**COMPLETED (2026-09-14).** New Cloudron app `code/member-dashboard`, deployed at `dashboard.inference.coop`.
|
||||||
- **Gate:** a member logs in, sees only their own data, creates and revokes a key end-to-end, and the app holds no master key (verify via env inspection).
|
|
||||||
|
- **App**: FastAPI, `proxyAuth` SSO (identity via `X-Forwarded-User` header), holds NO privileged credentials.
|
||||||
|
- **Access**: restricted to the `members` group via `POST /apps/:id/configure/access_restriction` (same model as Loomio).
|
||||||
|
- **Calls the portal broker** (`GET/POST/DELETE /broker/*`) with `BROKER_SECRET`, scoped to the logged-in member's email.
|
||||||
|
- **UI**: brand-matched Monitor surface — balance vs. spend bar, API key list (create/revoke), self-contained (no external requests).
|
||||||
|
- **Verified**: `/api/usage` and create→list→revoke all work end-to-end against Dan's real team (balance $15, spend $0).
|
||||||
|
|
||||||
|
**Note:** proxyAuth header name (`X-Forwarded-User`) confirmed via Cloudron forum + source; verified empirically by exec'ing into the app. The app also accepts `X-Remote-User`/`X-Auth-Request-Email` fallbacks.
|
||||||
|
|
||||||
### Step 5 — Admin dashboard (Phase 4)
|
### Step 5 — Admin dashboard (Phase 4)
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user