Console
Sign in
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:33 UTC

Gateway

up

Access

up

Data

up

Console

up

Request 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.

3 exchanges, read from the top to the bottom
The browser: A person, or an application, that holds a session cookie, or a bearer token, and asks the platform for the data of a workspace.a callerbrowserConsole: The web application of the platform: it shows the data of a workspace and the administration of Access. It is a client of the three services, it signs no identity of its own, and it decides nothing.a callerConsoleGateway: It authenticates the caller against an identity provider, asks Access whether the caller may use the workspace, and forwards the request to the upstream of the route it matched. It never decides an access of its own: it asks, and it refuses the request when the service does not answer.a serviceGatewayThe database of Gateway: The store of the gateway: the sessions of the callers, the route table and its revisions, the cache of the decisions, the counters of the limits, the audit and the failures of the control plane.PostgreSQLdatabase ofGatewayThe shared state: The Redis of the deployment: the sessions, the route table and the counters of the gateway, and the codes of the logins of Access. A deployment with several replicas shares it, and a deployment with one may leave it out.Redisshared stateAccess: It is the OpenID Connect broker and the decision service of the platform: it authenticates a caller against the provider of a tenant, maps the identity to a principal, and answers the decisions of the gateway and the contexts of Data.a serviceAccessThe identity provider: The OpenID Connect provider of a tenant: it holds the identity of the people of the tenant, and Access brokers it. The gateway may also be registered with a provider of its own.a provideridentity providerThe database of Access: The store of Access: the tenants, the principals, the permissions, the groups, the grants and the audit of the administration.PostgreSQLdatabase ofAccessData: The headless backend of the data: it owns the workspaces, the collections, the policies, the records, the versions, the audit and the events. It verifies the identity the gateway signed, asks Access for the permissions of the caller, and answers with the rows that caller may see.a serviceDataThe database of Data: The store of Data: the workspaces, the registry of the collections, the policy bundles, the records, their versions, the audit, the events and the receipts of the writes.PostgreSQLdatabase of DataConsole → Access: /v1/admin/*1. the administrationConsole → Access: POST /v1/access-context2. the operator's scopeAccess → The database of Access: the table of the grants3. the grants
#ExchangeContractCarriesDecidesRefuses
1the administration
Console → Access
/v1/admin/*the token of the operatorwhat the operator may change403
2the operator's scope
Console → Access
POST /v1/access-contextthe subject, the tenant, the workspace and the routethe scope of the operator403
3the grants
Access → The database of Access
the table of the grantsthe tenants, the principals, the grantswhat a principal may do503 when the database does not answer