aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-07 22:35:09 +0100
committertv <tv@krebsco.de>2026-11-07 22:35:09 +0100
commit107e15335314f9ccdf57b297de45326f45571888 (patch)
treedae44bcae0b52022ce82996a32d9249779023d83 /docs
parent6fbcb1d3ad9360d7a05f1dcece383cfb095ba1d4 (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.md5
-rw-r--r--docs/dashboard.md5
-rw-r--r--docs/openapi.yaml14
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]