The dashboard
Opening it
Typed at a terminal, drift with no arguments launches the dashboard. Run from a pipe or a CI job it prints help instead, so a script never hangs waiting on a screen nobody is watching. drift portal is a hidden alias that opens the same screen.
Launch is gated on a usable session, checked before the screen opens: a token that has expired is refreshed silently, and only a hard failure (no session, or the refresh failing too) brings up a login prompt. The dashboard needs a window of at least 130×35; below that it shows your current and required size until you resize.
The layout
A sidebar on the left lists every slice you own plus a row for creating one. The rest of the screen is one of four tabs (Slice, Atomic, Backbone, Canvas) and everything in it is scoped to the active slice. Pressing Enter on a sidebar row makes that slice active, which is the same setting drift slice use writes, so the choice survives the session and applies to every other command.
The header carries a keybind guide for whatever pane has focus, so the list below is a reference rather than something to memorise. The bottom line carries the running CLI version, the result of your last action, and a nudge when a newer release exists.
Keys
Arrow keys and j/k/h/l both move.
| Key | Anywhere |
|---|---|
tab | Switch focus between the sidebar and the main pane |
1–4 | Switch tab |
r | Refresh, bypassing the per-tab cache |
o / Ctrl-O | Open a slice's URL in a browser: the highlighted one from the sidebar, the active one from anywhere else |
Ctrl-S | Platform status, read from the public status page. Any key dismisses it. |
esc | Back: leave a drill-down, collapse an open function, cancel a prompt |
Ctrl-C | Quit, from modals and confirmations included |
| Pane | Keys |
|---|---|
| Sidebar | enter make active · N new slice · D delete slice · o open URL |
| Slice | s snapshot · c configure · w download · d delete |
| Atomic | enter expand · N new function · s stat cards · d delete · f full-screen logs |
| Backbone | [ ] primitive · enter open · s set a secret · d delete a secret |
The Slice tab
Four panels: the slice's memory census measured against the function memory you declared, its current configuration, its snapshots, and the itemised monthly bill for that configuration.
| Key | What happens |
|---|---|
s | Prompts for a snapshot name and starts one. Enter on an empty prompt lets the platform name it. |
w | Downloads the selected snapshot as <name>.tar.gz into the directory you launched from. |
d | Deletes the selected snapshot, after a confirmation. |
c | Opens the configurator pre-filled with this slice's shape. Submitting resizes it. |
A snapshot is taken in the background, so the list does not update on its own. Press r to see it land.
The Atomic tab
A rail of the slice's functions on the left. Enter opens one, and while it is open its metrics and log tail are re-fetched every two seconds, so logs stream without touching a key. f expands the logs to the full screen and s hides the stat cards above them.
The open function's element, trigger and schedule are shown but not editable here: selecting one prints the command that sets it. Deploying is the same; see the CLI reference for drift atomic deploy.
The Backbone tab
[ and ] step through NoSQL, Cache, Queues, Blobs, Locks and Secrets, wrapping at either end. Enter opens a collection's documents, a queue's messages or a bucket's keys as a scrollable dump, and r re-fetches that dump in place. Cache, locks and secrets list only.
Secrets are the one primitive with write keys: s prompts for NAME=value and sets it, d deletes the selected one after a confirmation. A value takes effect on the next invocation of any function that declared it.
The Canvas tab
Informational. It states the same-origin arrangement (your site at the slice root, your functions under /api/*) and prints the deploy command; publishing a site is a CLI step. The Canvas guide covers routes and limits.
Creating a slice from here
N in the sidebar offers two paths:
| Path | What it does |
|---|---|
| Empty slice | Opens the configurator and creates the slice from what you dial in. Nothing is deployed into it. |
| From a Driftfile | Opens a small directory browser, then suspends the dashboard and runs the real drift project deploy, output and all, returning to the dashboard when it finishes. |
The browser leads with the Driftfiles it found near where you launched: your working directory and up to three ancestors, three levels deep. g jumps to a path you type, ← goes up a level.
The Atomic tab's N mirrors this for functions: pick a directory to deploy with drift atomic deploy, or one to scaffold into with drift atomic new. Both suspend the dashboard the same way and run the same command you would have typed.
The configurator
The same form for creating and for resizing: name, functions, scheduled jobs, function memory (32, 64, 128 or 256 MiB), collections, SQL databases, queues, blobs, secrets, realtime connections, retention and the billing period. ←/→ adjust the focused field, Enter edits a value or folds a section, Tab submits, Esc cancels.
The price is recomputed on every change by the same endpoint that prices the create itself, so the form's total and the bill are one number. A configuration that stays at or under the free ceiling in every field is the free slice; exceeding any one of them makes it a configured slice, priced per unit. What it costs lists the grant and the unit prices.
Deleting a slice
D in the sidebar turns the pane red, spells out what is destroyed (functions, sites, the whole of Backbone, logs, metrics and deploy history) and asks you to type the slice's name. Anything else cancels. There is no undo and no backup to restore from, so take a snapshot first if you want the data.
Deleting the active slice clears the active slice.
drift slice use <name>, or Enter on a sidebar row.