Using the Dashboard¶
The Astrolift dashboard is the browser client for the same control plane used by the CLI, API, and MCP gateway. Available modules and actions depend on the active install, your organization role, and the modules enabled for that role.
Navigation¶
The shell has two rails:
- The main rail on the left lists areas, and under each area its functions. The areas are Home, Agents, Apps, Secure, and Admin. The server decides which functions your account can see; an area with no visible function is hidden.
- The projects rail on the right names the organization and lists the projects you belong to. Expand a project to reach its apps, agents, and workflows. The rail navigates; it never filters the main lists.
The functions per area:
- Home: the Home screen at
/dashboard, built from panels you can arrange. - Agents: Agents, Fleet, Approvals (open human gates across workflow runs), Workflows, Runs, Functions, Skills, Tools, Environment specs, Models, and Workloads. Workflows and Functions are gated by the workflows module, the rest by the agents module.
- Apps: Apps, Semantic layers, Pipelines, Deployments, Deployment approvals, Scheduled jobs, Environments, and Previews.
- Secure: Zentinelle. The row appears only while the organization has a live Zentinelle connection and you hold a Zentinelle permission.
- Admin, in four groups: Organization (Organization, Access, Projects); Infrastructure (Clusters, Domains, Providers, Webhooks); Usage & governance (Metrics, API keys, Audit, Runs, Features, Platform settings); Platform signals (Platform activity, Alerts, Events, Logs, Traces, Operations). See Running an org.
The main rail's footer holds the elevation indicator, the agent inbox (/inbox, see Agent inbox and replies), the notifications bell, and your account menu. The account menu links to Profile, Security, Notifications, API tokens, Re-run onboarding, Documentation (/documentation), Downloads (/downloads), Support when the install configures it, and Sign out.
The organization name at the top of the projects rail is a label. The dashboard works in one organization per session; it is not an organization switcher.
The page header is a breadcrumb. Its first crumb names the current area and opens a switcher between that area's functions, so the rail and the breadcrumb always agree.
Entity pages¶
An app page is one row of tabs, each its own route under /apps/<slug>:
- Overview: status, topology, and the actions you may take.
- Deployments, with the sections Deployments and Previews.
- Workloads, with the sections Workloads, Scheduled jobs, and Managed services.
- Logs & metrics, with the sections Logs, Metrics, Console, and Commands.
- Domains.
- Secrets, with the sections Secrets and Attached bundles.
- Access, with the sections Members, Deploy tokens, Security scans, and Edge access.
- Settings, with the sections General, Configuration, Manifest, Webhooks, Environments, and Danger zone.
A section is selected in the URL (?section=, or ?view=previews and ?kind=cronjob for the two list views). Older routes such as /apps/<slug>/config, /apps/<slug>/shell, or /apps/<slug>/members redirect into the tab and section that absorbed them.
An agent page uses the same pattern: Overview, Runs, Configuration (Build, Run mode & triggers, Config editor, Manifest, CI / CD webhooks, Model access), Skills & tools, Logs & metrics (Live runs, Metrics, Deploy history), Secrets, Access (Members, Deploy tokens, Security scans, Guardrails), and Settings (General, Environments, Domains, Managed services, Danger zone). A tab or section may exist but stay hidden when its module is disabled or your role cannot read it.
Keyboard and accessibility¶
Ctrl-KorCommand-Kopens the command palette. It lists pages and quick actions such as Register new app.?opens the keyboard-shortcut reference./focuses the first enabled input on the page.gfollowed by a second key navigates:aApps,oOperations,dDeployments,pPreviews,cClusters,jScheduled jobs,tTeams,sOrganization settings.[collapses or expands the main rail;]does the same for the projects rail.Esccloses dialogs.Tabfrom page load reveals Skip to main content.
Shortcuts are ignored while you type in a field. The collapsed state of each rail is saved in local browser storage.
Language and theme¶
Language is set on Settings › Profile (/settings/profile); the dashboard ships eight locales. Theme is set on Settings › Appearance (/settings/appearance); Graphite is the default, and an organization administrator can set a house theme under Admin › Organization.
Permissions¶
Top-level module visibility comes from the server-authoritative module capabilities returned for the current user. Individual buttons and mutations perform finer permission checks. Hiding a button is not the security boundary: the API checks the permission and tenant scope again.
Actions on an object follow what you may do on that object, not your grants elsewhere:
- Apps and agents: the header (deploy, archive, delete), the Settings sections (resync, retention, environments, managed services, archive, the danger zone) and Access (tokens, security, edge) use the app's own
viewerPermissions. Those come from grants on its organization, team, project or the app itself, plus shares and policy. A grant held on another project no longer offers an action this app refuses. Your account-wide grants only bridge the first load. Access › Members stays organization-level. - Clusters: a cluster returns
viewerPermissionsfrom the same check the cluster mutations use, at the owning organization, so an API token's ceiling and policy apply. Cluster settings offer manage, update, users and unregister only when both the cluster's answer and your current grants allow them. A shared cluster's writes belong to the platform operator, so a tenant sees read only.
These values are advisory; the mutation still decides. A refused GraphQL read or mutation carries extensions.code PERMISSION_DENIED with the reason and the permission key; see errors in the API reference.
Deleting an app, decommissioning a cluster, deprovisioning a managed service, opening a console, and revealing or changing a secret ask for a confirmation and a fresh sign-in by default, and a destructive delete can wait for approval. See Action safety.
Where to go next¶
- Working with apps covers registration, deployment, configuration, secrets, and app operations.
- Running an org covers organization administration and platform-wide signals.
- Documentation in the account menu (
/documentation) describes the version actually running on your install.