Skip to main content
The Topology page (/projects/$id/topology, linked from a project’s own detail page) draws a project’s apps, databases, and shared volumes as a diagram, with lines representing every relationship between them. It is read-only and requires no configuration: every fact on the page already exists in the project’s desired state, just arranged as a graph instead of a list. Network topology groups everything on the mesh by node and draws only app-to-database connections. This page is scoped to one project, groups by resource kind, and draws every edge kind the project’s configuration carries: database bindings, service dependencies, shared volumes, and egress allow-rules.

What you see

Three columns, left to right: Apps, Databases, Volumes. A column only appears when the project has at least one resource of that kind. Each app and database box shows the same status dot and label used everywhere else in the dashboard (Healthy, Attention needed, Stopped, Reconciling, No status yet), so a degraded app is just as visible here as it is on the apps list.

What each edge means

Every edge is derived from one specific field on the project’s apps and databases. None are inferred or illustrative: an edge only appears when the underlying configuration actually declares the relationship. Network shares (/api/v1/network-shares) are left off this diagram: nothing in a project’s stored configuration links a share to an app, so an edge would be a guess.

CLI and API

This prints the graph as nodes and edges; add --json for the raw response. The API is GET /api/v1/projects/{id}/topology (read ability). Whole-mesh data comes from levelrail-cli nodes topology, covered on Network topology.

Multi-service apps

A multi-service app (created from a compose: build or POST /apps/{name}/compose) shows one box per member service, not one collapsed box for the whole app: dependsOn and database bindings are declared per service, so collapsing them would hide exactly the relationships this page exists to show.

See also

Last modified on October 12, 2026