> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mirurobotics.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Initial deployment

export const OperatorBadge = ({size = "md"}) => {
  return <Tooltip tip="Members with the operator role can execute this action." cta="Workspace roles" href="/admin/users/access-control">
            <Badge icon="wrench" color="orange" size={size}>operator</Badge>
        </Tooltip>;
};

This guide walks through making your first deployment to a new device — from
selecting the device on the Devices page to deploying its initial configuration.

To deploy configurations to a device, you must hold the <OperatorBadge size="sm" /> role.

## Select a device

To create a device's initial deployment, navigate to the
[Devices page](https://app.mirurobotics.com/devices).

<Frame>
  ![Initial Deployment Devices Page](https://assets.mirurobotics.com/docs/v04/images/devices/init-dpl-devices-page.png)
</Frame>

Only devices that have been [provisioned](/cfg-mgmt/provision-devices/overview), but never deployed to, are candidates for an initial deployment.

You can identify these devices by their **Release** column. If their release
column displays a placeholder button of **Set** instead of a release version
(i.e. `v1.0.0`, `v1.1.0`, etc.), then the device is a candidate for an initial
deployment. Continue by clicking into the device you want to initialize.

## Set the release

Since the device doesn't have a current release, a dialog will appear prompting you
to select a release. The selected release will be used to create the device's
initial deployment.

<Frame>
  ![Set Release Dialog](https://assets.mirurobotics.com/docs/v04/images/devices/editor/set-release.png)
</Frame>

<Note>
  If no releases are shown, you will need to
  [create a release](/cfg-mgmt/create-a-release) before
  continuing.
</Note>

## Edit configs

Once the release is set, the editor opens in **draft mode**. Since this is the
first deployment, it automatically fills with default values from your release's
config schemas.

<Frame>
  ![First Draft](https://assets.mirurobotics.com/docs/v04/images/devices/editor/first-draft.png)
</Frame>

<Info>
  For a detailed overview of the editor interface see the
  [config editor](/cfg-mgmt/deploy/config-editor) page.
</Info>

## Deploy

Once you are satisfied with the configuration, click the **Deploy** button in
the controls panel header to open the deploy dialog.

<Steps>
  <Step title="Review changes">
    The deploy dialog opens with a summary of all changes. For a
    first deployment, every file is listed as added.
  </Step>

  <Step title="Add a description">
    Enter a description for this deployment (e.g., "init deployment").
    This field is required.
  </Step>

  <Step title="Confirm the device name">
    Type the device name exactly as shown to confirm.
  </Step>

  <Step title="Deploy">
    Click **Deploy** to queue the configurations for deployment.
  </Step>
</Steps>

<Frame>
  ![Initial Deployment Deploy Dialog](https://assets.mirurobotics.com/docs/v04/images/devices/editor/init-deploy-dialog.png)
</Frame>

After a successful deployment, the editor switches to the **History** tab and
displays the new deployment. The deployment status will turn green, indicating that the
device has received the configurations.

<Frame>
  ![Initial Deployment History](https://assets.mirurobotics.com/docs/v04/images/devices/editor/init-deployment-history.png)
</Frame>

## Summary

| Step              | What happens                                                   |
| ----------------- | -------------------------------------------------------------- |
| **Select device** | Click a device on the Devices page to open the editor.         |
| **Set release**   | Choose a release version to define the device's config schema. |
| **Edit configs**  | Modify the default configuration values in the editor.         |
| **Deploy**        | Queue the configurations for deployment.                       |
