# noust releases

List an application's releases and go back to one instantly.

```bash
noust releases [OPTIONS] COMMAND [ARGS]...
```

Subcommands: [`bundle`](#noust-releases-bundle), [`keep`](#noust-releases-keep), [`list`](#noust-releases-list), [`promote`](#noust-releases-promote), [`receive`](#noust-releases-receive), [`rollback`](#noust-releases-rollback)

## noust releases bundle

Build a release without activating it and pack it into one file for another server.

```bash
noust releases bundle [OPTIONS] DOMAIN
```

Arguments: `domain`

| Option | What it does | Default |
|---|---|---|
| `-o`, `--out` | The file to write. By default <domain>-<time>.noust-release.tar.gz here. |  |
| `--commit` | Build this commit instead of the head of the branch (a git source). |  |
| `--release` | Pack this release, already built here, instead of building one. |  |
| `--keep` | Keep the release this built in releases/. |  |
| `--json` | Print the bundle and its checksum as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust releases keep

Show or set how many releases an application keeps on disk.

```bash
noust releases keep [OPTIONS] DOMAIN [N]
```

Arguments: `domain`, `count`

| Option | What it does | Default |
|---|---|---|
| `-v`, `--verbose` | Show the detail of each step. |  |
| `--dry-run` | Rehearse without changing anything. Read-only checks still run. |  |
| `--no-color` | Never emit colour. |  |
| `--json` | Print the retention and what was pruned as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust releases list

List the releases of an application, newest first.

```bash
noust releases list [OPTIONS] DOMAIN
```

Arguments: `domain`

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the releases as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust releases promote

Make a release that was built with 'noust update --build-only' the one that serves.

```bash
noust releases promote [OPTIONS] DOMAIN [RELEASE]
```

Arguments: `domain`, `release`

| Option | What it does | Default |
|---|---|---|
| `--schema-changed-ok` | Switch even though later deployments changed the database schema. |  |
| `--during-freeze` | Switch although deploys are frozen for the application (noust deploy freeze). |  |
| `--json` | Print what was done as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust releases receive

Run a release that another server built, behind the health gate.

```bash
noust releases receive [OPTIONS] DOMAIN BUNDLE
```

Arguments: `domain`, `bundle`

| Option | What it does | Default |
|---|---|---|
| `--sha256` | The bundle's SHA-256, as the builder printed it, or a .sha256 file. Required: nothing is read from a bundle that is not the file this names. |  |
| `--schema-changed-ok` | Take a release older than a deployment that changed the database schema. |  |
| `--during-freeze` | Switch although deploys are frozen for the application (noust deploy freeze). |  |
| `--json` | Print the outcome as JSON. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

## noust releases rollback

Make an earlier release the one that serves, without rebuilding anything.

```bash
noust releases rollback [OPTIONS] DOMAIN [RELEASE]
```

Arguments: `domain`, `release`

| Option | What it does | Default |
|---|---|---|
| `--schema-changed-ok` | Go back even past deployments that changed the database schema. |  |
| `--reason` | Why this change is made (a change reference, a ticket). Recorded with the command in the audit log; required only where a compliance framework asks for it (ENS) or security.change_reasons is on. |  |

