Lumen in the Cockpit app
The Orkestia Cockpit desktop app has a mode for Lumen, next to Cockpit and Apps. It shows the same data as lumen.orkestia.dev (dashboards, logs, error groups, traces, metrics, AI analytics, Pulse, rules, usage and keys) inside the Cockpit window, signed in with the account you already use there. Every page is a view over the Query API; nothing is stored by the app.
Switch modes
| Where | What |
|---|---|
| Top right of the window | Cockpit | Apps | Lumen segmented control, the same in every mode (in Lumen it sits beside the time range and refresh) |
Command palette (⌘K) | Switch Between Cockpit and Lumen, Open Apps, Back to Cockpit |
The choice is remembered across launches. Switching back to Lumen reloads the dashboard list and opens Home; the page history starts over. See Navigation and shortcuts for the rest of the app's keys.
Sidebar
The Lumen sidebar has the organization switcher on top, then six sections. Each section folds, and which ones are folded is remembered on this computer.
| Section | Pages | Who sees it |
|---|---|---|
| Dashboards | System dashboards the server provides (for example Home), then your own; All dashboards and New dashboard buttons | Everyone in the org |
| Observe | Logs, Error groups, Traces, Spans, Metrics, Projects, Infrastructure | Everyone in the org |
| AI | AI overview, LLM calls, Agent sessions, Delivery lane, MCP, Decisions | Everyone sees the entries. Organization members read their own organization's figures; platform administrators read every organization. See AI analytics |
| Pulse | Overview, Events, Funnels, Heatmaps, Paths, Retention, Setup | Everyone in the org |
| Admin | Alert rules, Ingest rules, Fingerprint rules | Shown to everyone; the API refuses non-admins (see Rules) |
| Account | Usage & API keys, Settings | Everyone; plan, key and label management need an org admin. See Settings and bulk actions |
The AI entries are always listed; the server decides what each person may read, and a page says so plainly when it refuses. Details: AI analytics.
Time range
One selector in the toolbar sets the window for every page: 15m, 1h, 6h, 24h, 7d. It is remembered across launches and matches the window values the dashboard endpoints accept.
| Exception | Why |
|---|---|
| Pulse | Has its own range (24h, 7d, 30d, 90d) and project scope, remembered separately |
| Usage & API keys | Counts the current month, not the selected range |
| Infrastructure instance drawer | Has its own 1h / 6h / 24h select |
| A dashboard's default range | Offered as "Dashboard default: last X · Use it"; it never overrides your selection |
The refresh button reloads the open page. Pages with an auto-refresh (dashboards, the Pulse event feed) refresh on their own while the window is visible.
Moving around
| Action | How |
|---|---|
| Back | The arrow in the toolbar, or ⌘[ (Ctrl+[). Remembers the last 30 pages |
| Jump anywhere | ⌘K lists every Lumen page and every dashboard under Lumen, from either mode |
| Follow a link | Blue text inside tables and drawers opens the related page with a filter or record preselected: Explore and correlate |
| Leave an unsaved dashboard | Blocked with "Save or cancel your dashboard changes first" until you do |
Organization scope
The app asks api-lumen about the organization shown in the sidebar switcher. Switching organization there reloads the dashboard list, the admin check and the open page for the new organization.
How the app authenticates
| Call | Host | How |
|---|---|---|
| Everything on Lumen pages | https://lumen-api.orkestia.dev | Your Cockpit sign-in access token as Authorization: Bearer, plus X-Lumen-Organization-UUID: <org>. One retry with a refreshed token on 401 |
| Plan limits and plan changes | https://api.orkestia.dev/api/lumen/subscription | The signed-in session as an access_token cookie plus X-Orkestia-Organization; these routes do not take a bearer header |
| Billed amount on the plan card | Cockpit's organization billing summary | Same workflow client as the Organization section |
Reads time out after 45 seconds and writes after 90. A timeout says so ("Lumen took too long to answer") and offers a retry; a shorter time range usually fixes it on very large organizations.
Customer API keys (lumk_…, lump_…) are not what the app uses to read. You still need a key to send data: Plans, usage and keys.
