# Deploy Board block

> Live Deploy Board with Deploy Windows, Approvals, Canary Traffic Control and Automatic Rollback

Live deploy board on split flap cards: deploys per service and region, approvals before each production window, canary traffic with automatic rollback, plus merges. ReUI Frame, Badge; shadcn Table, Sheet. For CI/CD status walls.

- Type: Pro block
- Category: [Dev Ops](https://reui.io/blocks/solutions/dev-ops.md)
- Page: https://reui.io/blocks/solutions/dev-ops/solution-dev-ops-7
- MCP: `get_block("solution-dev-ops-7")`
- Built with: Alert Dialog, Avatar, Badge, Button, Empty, Frame, Icon Stack, Icon Tile, Input Group, Kbd, Select, Sheet, Skeleton, Spinner, Table, Tabs, Toggle, Tooltip
- Installs with a ReUI Pro or Ultimate license; setup: https://reui.io/docs/license-setup

## Best for

A deploy status wall whose split flap rows ripple on every change, with a deploy sheet and a canary traffic lever

## Agent notes

- `DEPLOYS` and `MERGES` in data.ts script a 40 minute loop from `REFERENCE_MS` that `LOOP_SECONDS` replays; stream your own deploys in instead
- `boardReducer` keeps approvals, rollbacks, rollouts and retries; wire `onApprove`, `onRollback`, `onTrafficChange` and `onRetry` from `DeployBoardProps`
- `stepRollout` in rollout-model.ts owns the canary analysis and rollback rule; tune `ANALYSIS_SECONDS` and `CANARY_DWELL` per service

## When not to use

- A release console with deploy history, streaming logs, canary charts and promotion lanes: use [Deployments](https://reui.io/blocks/solutions/dev-ops/solution-dev-ops-3.md) (`get_block("solution-dev-ops-3")`)

## Third-party libraries

- Sonner v2: [API reference](https://sonner.emilkowal.ski/toast), [docs](https://sonner.emilkowal.ski/getting-started)

## Install

```bash
npx shadcn@latest add @reui/solution-dev-ops-7
```

## About Dev Ops blocks

### When to use

- Platform and SRE consoles for cron jobs, releases, audit trails, SLOs, edge firewalls and data sources
- On call triage of failing jobs, failed deploys, denied access, blocked requests and burning error budgets
- Operator changes made in place: pausing a job, promoting or rolling back, editing rules, rotating credentials

### When not to use

- A single table on your own columns, with no charts, lanes or ops panels around it: use [Data Grid](https://reui.io/components/data-grid.md) (`get_component("data-grid")`)
- A table section for business records such as tickets, contacts, deals or timesheets: use the [Base blocks](https://reui.io/blocks/data-grid/base.md)
- Only the record detail panel that slides over a list, without the console page: use the [Sheet blocks](https://reui.io/blocks/application/sheet.md)

### Agent notes

- Every block pins now to Sep 29, 2026 14:20 UTC in `REFERENCE_MS`, set from `REFERENCE_DATE` in the audit log, and never reads the wall clock; pass your own now
- Writes only update client state and answer with a sonner `toast`; no block calls a server, so add your API at each write point
- Both page.tsx and each root set `min-h-svh`, and the root caps width at 1320px with its own padding; drop both inside an app shell

Every ReUI item has a twin like this one; the index is https://reui.io/llms.txt. Agents with the ReUI MCP (https://reui.io/docs/mcp) get the same guidance from the getters named above.
