# noust stream

Publish a TCP or UDP port in front of a backend, through nginx and the firewall.

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

Subcommands: [`add`](#noust-stream-add), [`check`](#noust-stream-check), [`list`](#noust-stream-list), [`remove`](#noust-stream-remove), [`repair`](#noust-stream-repair)

## noust stream add

Publish PORT and carry it to the backend, opening it in the firewall.

```bash
noust stream add [OPTIONS] NAME
```

Arguments: `name`

| Option | What it does | Default |
|---|---|---|
| `--protocol` | What the port carries. nginx cannot publish SCTP. | `tcp` |
| `--port` | The port to publish. |  |
| `--to` | The backend: a port on this machine, or an address and port. The application's own port with --app. |  |
| `--allow` | An address or network that may reach it; repeat. Without one, anyone can. |  |
| `--timeout` | Seconds a quiet connection (TCP) or session (UDP) is kept. | `3600` |
| `--app` | The application it is for. |  |
| `--plan` | Say what would be done and change nothing. |  |
| `--json` | Print the result 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 stream check

Say whether nginx here can publish a TCP or UDP port, and what is missing.

```bash
noust stream check [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the answer 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 stream list

List the published ports and how far each one got.

```bash
noust stream list [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--json` | Print the ports 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 stream remove

Close a published port: the firewall rules made for it, its file, and nginx's use of it.

```bash
noust stream remove [OPTIONS] NAME
```

Arguments: `name`

| Option | What it does | Default |
|---|---|---|
| `-y`, `--yes` | Do not ask. |  |
| `--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 stream repair

Finish the openings and closings that were interrupted.

```bash
noust stream repair [OPTIONS]
```

| Option | What it does | Default |
|---|---|---|
| `--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. |  |

