# The canvas & staged changes

The environment canvas is where you work on an environment: a board with one node per service. Edits on the canvas are staged into a draft and nothing touches your running services until you press **Deploy** — this page covers exactly what stages, what doesn't, and how a batch applies.

## The canvas and its drawers

Each node shows a service's type, name, and live health. Click a node to open its drawer, with tabs **Deployments · Metrics · Logs · Variables · Console · Settings**.

Databases get a smaller set — **Metrics · Variables · Console · Settings** — because they have no deploy pipeline and no logs of their own.

The open drawer lives in the URL as `?service=<name>&tab=<id>`, so a drawer view is shareable: send the link and it opens the same service on the same tab.

## Board overlays

A switch in the bottom-left corner of the canvas draws extra information over the board. One overlay is active at a time; press its button again to turn it off. Your choice is remembered.

**Variable references** draws a line from each service to the database it reads through a [connection variable](/docs/databases/connect-a-database), so you can see at a glance what depends on what. A dashed line is a reference you've staged but not deployed yet. A line drawn in the warning colour is a reference that doesn't currently resolve to anything — usually a database that was renamed or removed.

## What gets staged

Three kinds of change are staged rather than applied:

- 
- 
-

Variable changes join the same batch too: edits staged in a drawer's **Variables** tab, and environment-scoped edits made from the project's **Variables** page. Only project-wide variable edits apply immediately — see [Variables](/docs/configuration/variables).

## The changes bar

While anything is staged, a bar at the top of the canvas reads **Apply N changes**, with two buttons:

- 
-

The review sheet is the batch's confirmation — its title names the action and the destination, for example "Deploy 3 staged changes to production". A batch that only deletes things reads **Delete** instead of **Deploy**.

> **Warning:**
>
> A batch that would destroy disk data — a staged volume deletion, or an edit that moves an attached volume to another location — always routes through the review sheet, where each data loss must be acknowledged in its own group before Deploy unlocks.

## Drafts persist and survive failures

Your staged draft is saved as you go: navigate away or reload the tab and it comes back, with a "Restored your unsaved changes" notice.

While you have staged work, the draft is frozen — changes that land on the server out of band never overwrite your edits. Once the board is clean it mirrors the server again.

On Deploy, each staged change applies as its own operation. If some fail, the succeeded ones clear and the failed ones stay staged — review the error in the sheet and deploy again.

## What applies immediately

Two things skip staging and apply the moment you confirm them:

- 
-

## Walk through one change

1. 
2. 
3. 
4. 
5. 
6.
