# spin smoke

**Spinbox is experimental: APIs change and data may be lost.** What is built and what proves it is on [Status](https://spin-stack.github.io/website/reference/status.md); what Spinbox does not do is on [Limitations](https://spin-stack.github.io/website/overview/limitations.md).

> spin smoke: Check an installation does what its API promises, with a workspace of its own.

<!-- Generated by tools/refgen from spin:cmd/cli. Edit the source, not this file. -->

```
Run the public contract against the installation this login is to - SPIN_ENDPOINT and
SPIN_TOKEN, or the profile: create a workspace and sign its access, run a command in it, check
it cannot reach the cloud's metadata service (and reaches --reach, when given), suspend it and
resume it where it was, and erase it whatever happened before.

It runs as the person the token is: a key they registered must be held here, as for
'spin workspace create', and ssh must be installed.

Exit status:
  0   every scenario passed
  69  the installation could not be reached
  70  it answered, and a scenario failed
  77  it refused the credential
  1   the smoke could not run as configured

Usage:
  spin smoke [flags]

Flags:
  -h, --help                  help for smoke
      --image string          The image to start from (default: the installation's)
      --network-tag strings   Network policy to run under, by name (repeatable)
      --preset string         The preset it is sized by (default: the installation's)
      --reach string          A URL the workspace's policies let it reach, checked to be reached
      --timeout duration      How long the scenarios may take, not counting the erase (default 15m0s)

Global Flags:
      --config string    config file (default is $HOME/.spin/config.yaml)
  -o, --output string    text for a person, or json: one document of what the API answered, and no prose (default "text")
      --profile string   named profile to use; SPIN_PROFILE names it when this flag does not (default "default")
```
