Health
Status
Whether each service is up. Versions, latencies and probe answers are shown to operators who hold console.status.
Every service answers and is ready
checked 21:28:32 UTC
Access
upData
upConsole
upRequest map
Which services talk to each other when a record is read, someone signs in, or an operator changes a grant. Pick a request to highlight its exchanges in order.
7 exchanges, read from the top to the bottom
A record is read and written on the same path: the same services, the same contracts, the same order. A write asks Access for a fresh context — the decision of a moment ago is exactly the decision that has to be checked — and it carries an idempotency key and the etag of the record it changes.
| # | Exchange | Contract | Carries | Decides | Refuses |
|---|---|---|---|---|---|
| 1 | the credential The browser → Gateway | the contract of Data, behind the gateway | the session cookie, or the bearer token | who the caller is | 401, or a redirect to the sign-in |
| 2 | the route table and the limits Gateway → The shared state | the commands of the shared state | the route table, the counters of the limits | how much of the budget is left | the request is counted in the process |
| 3 | the session Gateway → The database of Gateway | the table of the sessions | the session of the caller | whether the session is alive | the caller is refused when the store does not answer |
| 4 | the decision Gateway → Access | POST /v1/decisions | the subject, the workspace, the route and the roles | whether the caller may use the workspace | 403, or 503 when the service does not answer |
| 5 | the signed request Gateway → Data | /ws/:workspaceId/v1/* | the identity headers and their detached signature | nothing: the gateway forwards the request | 502 |
| 6 | the permissions Data → Access | POST /v1/access-context | the subject, the tenant, the workspace and the route | which permissions the caller holds | 503 when the service does not answer |
| 7 | the rows Data → The database of Data | the query | the query and its bound values | which rows the caller sees | a row the caller may not see |