aboutsummaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-02 22:05:50 +0100
committertv <tv@krebsco.de>2026-11-02 22:05:50 +0100
commitdf314df4793765ea5334ac75b97d415286cc7fa3 (patch)
tree1ed6c10c066fc5b273c7cf04a1b341e70e38c4a8 /docs
parent627efc3b2620d75fcf2deab170187ba2e082417c (diff)
dashboard: double-click opens peer dashboard
Diffstat (limited to 'docs')
-rw-r--r--docs/dashboard.md5
-rw-r--r--docs/example.toml5
-rw-r--r--docs/openapi.yaml2
3 files changed, 11 insertions, 1 deletions
diff --git a/docs/dashboard.md b/docs/dashboard.md
index d9bbaa5..d39022d 100644
--- a/docs/dashboard.md
+++ b/docs/dashboard.md
@@ -149,6 +149,11 @@ measured.
* **Drag a node**: move it. On a dynamic map, the others follow at once, and once
let go of, it moves back among them; on a static map it stays where it is put until
the map is laid out again.
+* **Double-click a node**: open its dashboard, in this page, where the node publishes
+ one (`--dashboard-url`, in the member list; e.g. behind a reverse proxy,
+ [`operations.md`](operations.md)). The other dashboard asks for its own credentials
+ where its proxy or node does. Where it publishes none, its halo flashes red and
+ "no dashboard" rises from it, fading out.
* **Middle-click a node**: pin it where it is (a dot in its middle): the layout leaves
it there. Dragged with the middle button, it is pinned where it's dropped.
Middle-clicked again, it's let go, and moves to its place among the others (on a
diff --git a/docs/example.toml b/docs/example.toml
index 67f2cfd..b6a6ad0 100644
--- a/docs/example.toml
+++ b/docs/example.toml
@@ -37,6 +37,11 @@ node-key-file = "/var/lib/continuum/node.key"
# member list; not unique, never an identity.
# alias = "node-${env:HOSTNAME}"
+# Where people reach this node's dashboard (http:// or https://, e.g. behind a reverse
+# proxy). Published in the member list: the other nodes' dashboards open it on a
+# double-click on this node.
+# dashboard-url = "https://node-1.example.com/admin/dashboard"
+
# Only relay (libp2p circuit relay), without being a node: no document, no swarm, no
# node key. Needs libp2p alone (libp2p's enable, no other), its listen and
# key-file; options about a swarm or a document (node-key-file, seeds, genesis,
diff --git a/docs/openapi.yaml b/docs/openapi.yaml
index 5460a9c..8ffc8d7 100644
--- a/docs/openapi.yaml
+++ b/docs/openapi.yaml
@@ -749,7 +749,7 @@ paths:
The dashboard's latest snapshot: `node` (`id`, `alias`), `page` (the page's
version, a hash: a page showing another reloads), `stats` (as
`/admin/stats`), `peers` (as `/peers`) and `graph`: `members` (by node ID:
- `alias`, `self`), `intended` (by node ID: the neighbours the member list gives
+ `alias`, `self`, `dashboard`: its `--dashboard-url`), `intended` (by node ID: the neighbours the member list gives
it, as this node computes them), `measured` (by node ID: `secsAgo` and
`links`, each with `peer`, `transport`, `relayed`, `down`, `rttMs`, `dormant` and
`others` (the peer's other transports: `transport`, `rttMs`, `relayed`), as the member