aboutsummaryrefslogtreecommitdiffstats
path: root/src/api/mod.rs
Commit message (Collapse)AuthorAgeFilesLines
* auth: a login page and browser sessionstv4 days1-0/+18
| | | | | | | | | GET /login without authentication: log in by password or with a token (from a login by key). POST/DELETE /auth/session keep the token as an HttpOnly, SameSite=Strict cookie; the dashboard sends a browser without a user there and renews the session while open. Auth plan M2/M3 (browsers).
* auth: logging in by keytv4 days1-1/+5
| | | | | | | | POST /auth/challenge and /auth/login/key: a node-signed challenge, valid five minutes and taken once, signed with one of the user's SSH keys (ssh-keygen -Y sign -n continuum-login), for a token. Auth plan M7 (key login, M2b).
* access: the policy enforcedtv4 days1-0/+2
| | | | | | | | _continuum/access/policy ({"version": 1}) has every node screen every change it receives, on every path changes come in. A policy a node doesn't know stops its writes through the API. GET /admin/refused. Auth plan M6.
* dashboard: own links over the API, and CORStv4 days1-0/+4
| | | | | | | | | GET /admin/dashboard/links/own and its event stream: a node's own links, as LINKS_REPLY carried them, for other members' dashboards with a token. CORS for the members' dashboard origins and --cors-origins, without credentials. Auth plan M3.
* auth: logging in, and tokens as bearerstv4 days1-0/+8
| | | | | | | | | POST /auth/login (by htpasswd or the proxy), /auth/refresh, /auth/logout, GET /auth/whoami; every request may bring Authorization: Bearer instead of a password. --token-lifetime and --session-lifetime. Auth plan M2.
* access: the users endpointstv4 days1-0/+15
| | | | | | | | /admin/users: list, add (one or several), remove, disable, grant and revoke capabilities; each one change, refused if it would lock its writer out. Capabilities as the store's paths name them. Auth plan M1.
* access: authorization at the APItv4 days1-15/+20
| | | | | | | | | Every request is judged by the registry the node holds: store reads pruned to what the user may read, writes refused where it may not, admin endpoints by protocol capabilities. Without a registry, as before (--protocol-writers for protocol data). Auth plan M1.
* api: allow listening to Unix socketstv9 days1-0/+1
|
* api: support serving under a path prefixtv9 days1-1/+74
|
* api: /stream & dashboard send X-Accel-Bufferingtv9 days1-0/+7
|
* api: add type caststv9 days1-1/+2
|
* api: types are stickytv9 days1-1/+2
|
* api: add application/vnd.continuum.* scalar typestv9 days1-0/+7
|
* api: add support for counterstv10 days1-3/+4
|
* api: allow reading past versionstv10 days1-1/+1
|
* api: introduce /admin/changestv10 days1-0/+3
|
* document: reject writes during rejointv10 days1-0/+1
|
* api: add clocks to /healthtv11 days1-1/+1
|
* api: unify media-type strippingtv11 days1-0/+6
|
* api: unify error responsestv11 days1-6/+35
|
* move /admin/config handler to own moduletv11 days1-18/+3
|
* move store helpers to store moduletv11 days1-93/+4
|
* unify closing logictv11 days1-11/+2
|
* add support to insert values at list indextv12 days1-0/+2
|
* dasboard cannot block shutdowntv12 days1-2/+11
|
* add dashboardtv12 days1-0/+7
|
* introduce relay only modetv14 days1-0/+23
|
* show interpolated values in GET /admin/configtv2026-10-261-3/+13
|
* replace utoipa by static openapi.yamltv2026-10-261-43/+16
|
* add unauthenticated /health and /ready endpointstv2026-10-261-1/+5
|
* add GET /stream endpointtv2026-10-261-0/+1
|
* remove /debug/blacklist endpinttv2026-10-261-7/+5
|
* unify API error responsestv2026-10-261-4/+60
|
* move protocol paths to dedicated moduletv2026-10-261-4/+3
|
* put swarm ID into the documenttv2026-10-251-2/+5
|
* only protocol-writers may modify _continuumtv2026-10-241-1/+26
|
* add API and CLI to print effective configtv2026-10-241-1/+9
|
* add endpoint to export the documenttv2026-10-241-0/+2
| | | | GET /admin/document to retrieve the automerge document.
* add throughput statstv2026-10-241-0/+1
|
* add per peer incident statstv2026-10-241-0/+1
|
* expose stats via the APItv2026-10-241-0/+2
| | | | GET /admin/stats to retrieve all stats.
* add traffic countertv2026-10-241-0/+3
| | | | | | | | | | This introduces a new wrapper that counts messages and payload bytes per peer, split by kind (hello, helloReply, sync, ping, pong), each sent, received and refused. The traffic counter goes around the firewall, which means messages dropped outbound are still counted as sent, and messages dropped inbound don't count as received.
* allow changing log filtering while node runstv2026-10-231-0/+5
| | | | This also changes the default to tracing-subscriber.
* rename compaction to remaketv2026-10-211-1/+1
|
* reorganize all the modulestv2026-10-211-2/+3
|
* add compaction coordinatortv2026-10-201-1/+2
|
* add epochstv2026-10-191-0/+1
|
* initial committv2026-10-191-0/+160