diff options
| author | tv <tv@krebsco.de> | 2026-11-07 22:35:09 +0100 |
|---|---|---|
| committer | tv <tv@krebsco.de> | 2026-11-07 22:35:09 +0100 |
| commit | 107e15335314f9ccdf57b297de45326f45571888 (patch) | |
| tree | dae44bcae0b52022ce82996a32d9249779023d83 /docs | |
| parent | 6fbcb1d3ad9360d7a05f1dcece383cfb095ba1d4 (diff) | |
dashboard: subscribed nodes' messages as dots
The page reads a subscribed node's message counts from it too, and
draws them as dots on the map, as this node's own.
Auth plan M3 (live data from every reachable node).
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/access.md | 5 | ||||
| -rw-r--r-- | docs/dashboard.md | 5 | ||||
| -rw-r--r-- | docs/openapi.yaml | 14 |
3 files changed, 21 insertions, 3 deletions
diff --git a/docs/access.md b/docs/access.md index 71aebea..e8f9893 100644 --- a/docs/access.md +++ b/docs/access.md @@ -106,8 +106,9 @@ curl -H "Authorization: Bearer ct1.…" http://other-node:3000/store `GET /auth/whoami` says who a request's user is, how it proved it, and what it may do. Pages of other origins, the dashboards of other members, may call a node with a token: -its own links (`/admin/dashboard/links/own`, and its events), `/auth/refresh` and -`/auth/whoami`, nothing else. A node allows the origins of the dashboards its member +its own links (`/admin/dashboard/links/own`, and its events) and traffic +(`/admin/dashboard/traffic/own/events`), `/auth/refresh` and `/auth/whoami`, nothing +else. A node allows the origins of the dashboards its member list names (`--dashboard-url`) and those of `--cors-origins`; without credentials (no cookie or password crosses origins: the page sends its token). diff --git a/docs/dashboard.md b/docs/dashboard.md index e62b67d..45a2248 100644 --- a/docs/dashboard.md +++ b/docs/dashboard.md @@ -133,7 +133,10 @@ dots: they would all run at once. A dot is as large as its kind's messages were right after their legend makes all dots larger or smaller, and the `speed` slider after it makes them run faster or slower (0.1 to 0.9 map units per millisecond, 0.3 at first: a link of 200 in about 0.7 s); both are kept in the browser. A picture -of the traffic, not a record of it; links between other members show none. +of the traffic, not a record of it. A subscribed node's messages with its peers run +along its links too, from its own counts (read from it with the page's token, as its +links are): those with this node are drawn from this node's counts, and between two +subscribed nodes from what the sender sent. Links between other members show none. `messages: on` after the sliders hides them (`messages: off` shows them again; the legend and the sliders greyed meanwhile); the choice is kept in the browser. diff --git a/docs/openapi.yaml b/docs/openapi.yaml index f8fb25d..a5f7dcb 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -1050,6 +1050,20 @@ paths: '401': $ref: '#/components/responses/Unauthorized' + /admin/dashboard/traffic/own/events: + get: + tags: [Admin] + summary: This node's traffic with each peer, every 2 s + description: Server-sent events, `traffic` with what this node sent to and received from each peer by node ID, by kind (messages and bytes counted since it started, as `/peers` has them), every 2 s; `offline` when the node stops. For a page of another member's dashboard subscribed to this node, to draw its messages on the map (CORS, with a token). + responses: + '200': + description: The events. + content: + text/event-stream: + schema: { type: string } + '401': + $ref: '#/components/responses/Unauthorized' + /admin/dashboard/refresh: post: tags: [Admin] |
