spin workspace
Manage workspaces
Usage: spin workspace [flags] spin workspace [command]
Aliases: workspace, ws
Available Commands: approve-egress-root Let the workspace trust the installation's egress root approve-settings Approve the startup settings the workspace is handed audiences Who the workspace's identity may be given for, as its owner's word says clone Clone a running workspace console What the workspace's machine printed to its serial console create Create a new workspace delete Delete a workspace deleted List your workspaces in the trash denials What a workspace attempted past its policy (admin) egress What a workspace has reached beyond this installation get Get workspace details grant Give a workspace more cores and memory of its own guests The people who log in to a workspace besides its owner history Show workspace state change history keep Keep a running workspace awake for a while list List your workspaces logs Search what the workspace's machine printed to its console logs-consent Say whether the workspace's journal and console may be collected move Move a running workspace to another host policies The network policies a workspace can be created with quarantine Hold a workspace in quarantine (admin) recover Re-home a workspace whose host is gone release Give back what a workspace was granted reset Put a stopped workspace's disk back to what it was created from restore Put a stopped workspace's disk back to a snapshot, or to what it was created from retag Change which network policies a workspace runs under sign Sign the workspace's next access: who logs in, as you invited them start Start a stopped workspace status Why a workspace is not behaving stop Stop a running workspace suspend Put a running workspace down with its processes where they are undelete Take a workspace out of the trash, stopped unquarantine Release a quarantined workspace (admin) update Update workspace properties watch Record where a workspace connects, into its logs
Flags: -h, --help help for workspace
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")
Use "spin workspace [command] --help" for more information about a command.spin workspace approve-egress-root
Section titled “spin workspace approve-egress-root”A workspace's guest puts the installation's egress root in its trust store - the CA its host'segress proxy stands in for brokered hosts with - only while its owner's word names it: a rootthere reads what the guest's TLS clients send through the proxy. This signs a word naming theroot the control plane offers, once held to the one this machine pinned for the installation(the first offered; 'spin trust egress-root' pins another).
Usage: spin workspace approve-egress-root <workspace> [flags]
Flags: -h, --help help for approve-egress-root
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")spin workspace approve-settings
Section titled “spin workspace approve-settings”A workspace applies its startup settings - dotfiles and the command that installs them, thelogin shell, the environment, the editor's settings and the Taskfile - only as its accessapproves them, by their digest. This shows the settings the control plane would hand it now,and signs an access approving exactly those: settings changed afterwards, by anyone, are notapplied until approved again.
Usage: spin workspace approve-settings <workspace> [flags]
Flags: -h, --help help for approve-settings -y, --yes Skip confirmation
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")spin workspace audiences
Section titled “spin workspace audiences”A host gives a workspace's identity token - to the guest, or through its egress proxy - onlyfor an audience its owner's word names and the installation allows: the installation's list isthe control plane's to write, so it alone never widens who the identity reaches.
With no flags this shows the word's audiences and the installation's. --add and --remove signthe owner's next word naming more or fewer; --any signs one naming any audience theinstallation allows, which trusts the installation's list.
Usage: spin workspace audiences <workspace> [flags]
Flags: --add strings an audience to name --any name any audience the installation allows -h, --help help for audiences --remove strings an audience to name no more
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")spin workspace clone
Section titled “spin workspace clone”Clone a running workspace: a snapshot of its disk is taken and published, and a workspaceis created from it with the source's team, project and ref, size, network policies andenvironment, owned by you. The source runs on. The snapshot stays as the clone's floor. Thisanswers once the clone exists, which takes as long as publishing the source's disk.
Like a create, the clone's first access is signed here with a key of your keyring.
Examples: spin workspace clone mydev spin workspace clone mydev --name experiment --wait
Usage: spin workspace clone <workspace> [flags]
Flags: -h, --help help for clone --name string The clone's name (generated if empty) --timeout duration How long --wait waits; by default, until the control plane gives up on it --wait Return once the clone is running
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")spin workspace console
Section titled “spin workspace console”Show the tail of a workspace's serial console: the kernel, then the guest's init,then the supervisor.
This is where a machine that never came up says why. It is read from the host that holdsit, so a workspace that has moved to another host has nothing here about the run that failedon the one it left - unless the installation collects consoles, and then 'spin workspace logs'searches what every run of it printed.
Usage: spin workspace console <workspace> [flags]
Flags: -h, --help help for console --lines int32 How many lines from the end (default 200)
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")spin workspace create
Section titled “spin workspace create”Create a new workspace from an image or a snapshot. An image is a published starting diskthe installation allows; without --image, the installation's default is used. Its size is apreset the installation offers; without --preset, the installation's default.
Every workspace answers to its access, which you sign here with a key of your keyring (the keysyou registered, 'spin ssh-key add', and signed, 'spin sign'): who logs in - you, and the guestsyou invite - whether logs leave the workspace and which settings it applies. The host it runson lets a key in only by it, and the control plane cannot write one. Settings are applied onceyou approve them (--approve-settings, or 'spin workspace approve-settings').
A project of a team (--team, --project) is the workspace's shape - its image, preset and networkpolicies - and the repository its guest clones into /workspace/<repository name>, at --ref or theproject's own. Opening one approves the settings, since the repository is one of them.
Examples: spin workspace create --name mydev spin workspace create --name mydev --preset large spin workspace create --name build --env GOPROXY=direct --network-tag registry-only spin workspace create --name copy --from-snapshot <snapshot-id> spin workspace create --team /engineering --project qboot --ref release/2
Usage: spin workspace create [flags]
Flags: --approve-settings Show your startup settings and approve them in the first access --env strings Environment variables (KEY=VALUE) --from-snapshot string Start from a snapshot instead of an image -h, --help help for create --image string the ref of the disk image to start from, with its version (default: the base image of the machine this installation runs) --name string Workspace name (auto-generated if empty) --network-tag strings Network policy to run under, by name (repeatable) --preset string The preset it is sized by, by name (default: the installation's) --project string A project of --team to open, by slug: its image, preset and policies, and its repository cloned --ref string The branch or tag to open the project at (default: the project's) --team string The team, by id, path or me (your personal team if empty) --timeout duration How long --wait waits; by default, until the control plane gives up on it --wait Return once the workspace is running
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")spin workspace delete
Section titled “spin workspace delete”Delete a workspace. Where the installation keeps a trash, the workspace goes there withits disk and can be undeleted until its days are up (spin workspace deleted, spin workspaceundelete); --permanently erases it now, as does deleting one that is in the trash already.
Usage: spin workspace delete <workspace> [flags]
Flags: --force Delete it in a state a delete is otherwise refused in: one stuck starting or stopping -h, --help help for delete --permanently Erase it now instead of keeping it in the trash -y, --yes Skip confirmation
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")spin workspace deleted
Section titled “spin workspace deleted”List your workspaces in the trash
Usage: spin workspace deleted [flags]
Flags: -h, --help help for deleted
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")spin workspace denials
Section titled “spin workspace denials”The egress a workspace's policy refused, as its supervisor reported it, newest first:what was attempted while it was held, and around the holding. Reading it is anadministrator's act.
Usage: spin workspace denials <id> [flags]
Flags: -h, --help help for denials --limit int32 How many of the newest to read (default 100)
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")spin workspace egress
Section titled “spin workspace egress”List every destination a running workspace's machine has been allowed to reach, with thehost's own packet and byte counters and, where its resolver answered for it, the name it wasasked for.
This is what an allowlist is written from: a network policy is a list of destinations, and aguess at one either breaks the workspace or allows what nobody meant to. The host keeps therecord for six hours, so a workspace has to be running on one to answer.
Usage: spin workspace egress <workspace> [flags]
Flags: -h, --help help for egress
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")spin workspace get
Section titled “spin workspace get”Get workspace details
Usage: spin workspace get <workspace> [flags]
Flags: -h, --help help for get
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")spin workspace grant
Section titled “spin workspace grant”Give a workspace more cores and memory of its own, while it runs: its host sets them asideand its machine is grown at once. It keeps them - across stops and starts - until they aregiven back with 'spin workspace release', the workspace is deleted, or the time --for gives isup. Each grant says its time anew: one without --for is kept until it is given back.
What it may hold is its preset's: at least what it started at, and at most the preset's size,or as much as its host has room for where the preset grows to the host's. A runningworkspace's host has to have the room now; with --move, a host that has not is left for onethat has: the workspace is suspended where it runs, its processes as they are, and resumedthere from the instant its memory was checkpointed. It is paused from that instant until itruns there, which takes as long as storing its memory and publishing its disk - minutes, fora large one - and nothing it did is lost.
Examples: spin workspace grant mydev --cpu 4 spin workspace grant mydev --cpu 4 --memory 8192 spin workspace grant mydev --cpu 8 --for 2h
Usage: spin workspace grant <workspace> [flags]
Flags: --cpu int32 Cores it is to hold --for duration How long the grant lasts before it is given back on its own (default: until it is given back) -h, --help help for grant --memory int32 Memory it is to hold, in MB --move Move it to a host with room when its own has none (it is paused while it moves)
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")spin workspace guests
Section titled “spin workspace guests”A guest logs in to a workspace with any key of their own keyring, sees it and opens its ports,and changes nothing else: who logs in and what leaves the machine stay its owner's to say.Inviting and removing sign the next access, on this machine.
Usage: spin workspace guests [flags] spin workspace guests [command]
Available Commands: add Invite a person, and sign the access that names them list The guests, as invited and as the access names them remove Take a guest out, and sign the access without them
Flags: -h, --help help for guests
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")
Use "spin workspace guests [command] --help" for more information about a command.spin workspace guests add
Section titled “spin workspace guests add”Invite a person, and sign the access that names them
Usage: spin workspace guests add <workspace> <email> [flags]
Flags: -h, --help help for add
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")spin workspace guests list
Section titled “spin workspace guests list”The guests, as invited and as the access names them
Usage: spin workspace guests list <workspace> [flags]
Flags: -h, --help help for list
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")spin workspace guests remove
Section titled “spin workspace guests remove”The control plane refuses them at once; the workspace's host, once the access without them issigned - which this does - from their next login on.
Usage: spin workspace guests remove <workspace> <email | user id> [flags]
Flags: -h, --help help for remove
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")spin workspace history
Section titled “spin workspace history”Show workspace state change history
Usage: spin workspace history <workspace> [flags]
Flags: -h, --help help for history --limit int32 Number of events to show (default 50)
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")spin workspace keep
Section titled “spin workspace keep”Answer the question asked ten minutes before a suspension: for the duration given - 2h, 90m,up to 24h - neither the idle suspension nor the running cap puts the workspace down, and thequestion on its page and in its terminals is withdrawn. An extension with an end, neverpermanent: it is asked again ten minutes before the end. Inside the workspace,'/run/spin-stack/supervisor/bin/spin-supervisor keep <duration>' does the same.
Usage: spin workspace keep <workspace> <duration> [flags]
Flags: -h, --help help for keep
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")spin workspace list
Section titled “spin workspace list”List your workspaces
Usage: spin workspace list [flags]
Flags: -h, --help help for list --state string Filter by state (running, stopped, etc.)
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")spin workspace logs
Section titled “spin workspace logs”Search the workspace's console as the installation kept it, newest first: every runof it, on whichever host ran it, for the installation's retention.
Only where the installation collects consoles (collect_workspace_logs); otherwise'spin workspace console' reads the tail from the host that holds it.
Examples: spin workspace logs my-ws spin workspace logs my-ws 'panic OR "out of memory"' --since 24h
Usage: spin workspace logs <workspace> [query] [flags]
Flags: -h, --help help for logs --limit int32 how many lines, newest first: 1 to 1000 (default 100) --since duration how far back to look, at most 744h (31 days) (default 1h0m0s)
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")spin workspace logs-consent
Section titled “spin workspace logs-consent”A workspace's journal and its console leave it only while its access consents, and theinstallation collects them: either can say no. The owner signs the consent, on this machine.
Usage: spin workspace logs-consent <workspace> <on|off> [flags]
Flags: -h, --help help for logs-consent
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")spin workspace move
Section titled “spin workspace move”Move a running workspace to another host, holding what it holds: it is suspended where itruns, its processes as they are, and resumed there from the instant its memory wascheckpointed. It is paused from that instant until it runs there, which takes as long asstoring its memory and publishing its disk - minutes, for a large one - and nothing it did islost. Placement chooses the host, as it does at a start.
A workspace that is not running has no host to be moved off: placement decides where it runsat its next start.
Usage: spin workspace move <workspace> [flags]
Flags: -h, --help help for move
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")spin workspace policies
Section titled “spin workspace policies”List the network policies the hosts report they enforce, by name: these are the words'spin workspace create --network-tag' takes.
A policy is an installation's, not a workspace's: an operator writes it on each host, and thehost is what enforces it. A tag no host reports is refused at create rather than failing whenthe workspace starts. Where two hosts give one name different prefixes, both are shown: a tagthat means two things is a misconfiguration worth seeing.
Usage: spin workspace policies [flags]
Flags: -h, --help help for policies
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")spin workspace quarantine
Section titled “spin workspace quarantine”Hold a workspace in quarantine: an administrator's decision, and until one releases itthe workspace cannot be started, moved or deleted by its own person, its disk kept as it was.A running workspace is stopped first, forced, and held when its host says it stopped. What theworkspace attempted, kept beside it, is what spin workspace denials reads.
Usage: spin workspace quarantine <id> [flags]
Flags: -h, --help help for quarantine --reason string Why it is held: kept on the audit entry for the act -y, --yes Skip confirmation
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")spin workspace recover
Section titled “spin workspace recover”Move a workspace to another host after the one it was on died.
A workspace cannot be started on a host that is not connected, and no amount of retryingchanges that. Recovering takes its disk from the dead host and places it on a live one.
The cost is the work the dead host had written and not yet published. Run without--accept-data-loss to see that cost; nothing is changed until you pass it.
Usage: spin workspace recover <workspace> [flags]
Flags: --accept-data-loss go ahead and give up the work the old host had not published -h, --help help for recover
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")spin workspace release
Section titled “spin workspace release”Give back the cores and memory a workspace was granted: it holds what its preset started itat again, and a running machine is shrunk to it at once. Memory the guest will not let go of islent to it instead, and taken back as it frees it.
Usage: spin workspace release <workspace> [flags]
Flags: -h, --help help for release
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")spin workspace reset
Section titled “spin workspace reset”Put a stopped workspace's disk back to the snapshot it was created from: the image, orthe snapshot it was made from. Everything the workspace has ever written is given up.
Nothing is uploaded and nothing is downloaded - the disk it goes back to is one its hostalready has - so this is the cheapest way back there is. The disk it had is kept with itssnapshots, so a snapshot taken before the reset is still a way back to that work.
Usage: spin workspace reset <workspace> [flags]
Flags: -h, --help help for reset --start Start the workspace on the disk it was created from and wait until it is running --timeout duration How long --start waits; by default, until the control plane gives up on it -y, --yes Skip confirmation
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")spin workspace restore
Section titled “spin workspace restore”Put a stopped workspace's disk back to one of its snapshots. Without a snapshot, thedisk goes back to what the workspace was created from.
Everything the workspace wrote after the snapshot is given up, which is why the workspace hasto be stopped first. The disk it had is kept with its snapshots, so restoring to a snapshottaken after the one restored undoes the restore.
With --with-memory the snapshot's running processes come back too, from the instant it wastaken, and the workspace may be running: it is put back to that instant.
Usage: spin workspace restore <workspace> [snapshot-id] [flags]
Flags: -h, --help help for restore --start Start the workspace on the restored disk and wait until it is running --timeout duration How long --start waits; by default, until the control plane gives up on it --with-memory Resume the snapshot's processes too; the workspace may be running
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")spin workspace retag
Section titled “spin workspace retag”Replace the network policies a workspace runs under, while it runs. The host is toldat once, so a change takes effect without a restart.
The tags given are the whole set, not an addition: 'retag ws --network-tag web' leaves theworkspace carrying web and nothing else. Naming none means what it means on a create - theinstallation's default. To have a workspace reach nothing, name the policy 'offline', whichevery host has.
Taking a policy away closes what it opened, including the connections the workspace alreadyhad: the addresses its lookups opened under the leaving policies are forgotten and its openconnections are dropped, so the next packet of each is judged by the policy as it now is.Adding a policy closes nothing.
You may choose among the policies the installation declares ('spin workspace policies'). Anadministrator may name any policy a host reports.
Usage: spin workspace retag <workspace> [flags]
Flags: -h, --help help for retag --network-tag strings Network policy to run under, by name (repeatable); the whole set, not an addition
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")spin workspace sign
Section titled “spin workspace sign”A workspace lets in whoever its access names - you, and the guests you invited - and nobodyelse: its host holds every login to it, with each person's own keyring. This signs the nextaccess with a key of your keyring, on this machine, naming the guests as they are now andkeeping every consent as it was. A workspace you created and never signed lets nobody inuntil you do.
Usage: spin workspace sign <workspace> [flags]
Flags: -h, --help help for sign
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")spin workspace start
Section titled “spin workspace start”Start a stopped workspace on its disk, or resume a suspended one from the memory it kept.
--from-disk boots a suspended workspace from its disk instead, and drops that memory: itsprocesses start again as after a power cut. It is what is left when the memory was taken on amachine no host of this installation runs now ('spin workspace get' says so).
Usage: spin workspace start <workspace> [flags]
Flags: --from-disk boot a suspended workspace from its disk, dropping the memory it was suspended with -h, --help help for start --timeout duration How long --wait waits; by default, until the control plane gives up on it --wait Return once the workspace is running
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")spin workspace status
Section titled “spin workspace status”Show what each party believes about a workspace, and where they disagree.
A workspace's state is held by four parties that can disagree: the control plane has alifecycle state it set, the supervisor inside the guest reports what it is doing, the hosteither heartbeats or does not, and the volume either serves the disk or refuses. "spin workspace get" shows the first of those. This shows all four, and names thegaps between them - which is usually the answer.
Usage: spin workspace status <workspace> [flags]
Flags: -h, --help help for status
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")spin workspace stop
Section titled “spin workspace stop”Stop a running workspace. Its disk is kept for the next start.
Use --force to stop its machine without waiting for the guest to shut down: it is also whatends a stop that did not finish. 'spin workspace get' lists what a workspace can be asked.
Usage: spin workspace stop <workspace> [flags]
Flags: --force Stop the machine without waiting for the guest; also ends a stop that did not finish -h, --help help for stop --timeout duration How long --wait waits; by default, until the control plane gives up on it --wait Return once the workspace is stopped
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")spin workspace suspend
Section titled “spin workspace suspend”Checkpoint a running workspace's memory and disk and stop its machine. Its next startresumes that instant - the processes go on from where they were, on any host carrying the samemachine, not only the one it was suspended on.
This is what a host being drained does to what it runs. It answers once the memory is storedand the disk is published, which takes as long as that does; the machine is paused from thecheckpoint on, so it does nothing past that instant and nothing it did is lost.
The checkpoint is a snapshot like any other: 'spin snapshot list' shows it, and deleting it iswhat makes the workspace start from its disk instead.
Usage: spin workspace suspend <workspace> [flags]
Flags: -h, --help help for suspend
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")spin workspace undelete
Section titled “spin workspace undelete”Take a workspace out of the trash, stopped, with its disk. It keeps its name unless anotherworkspace took it meanwhile, in which case the name gets a suffix. Name it by the idspin workspace deleted shows.
Usage: spin workspace undelete <id> [flags]
Flags: -h, --help help for undelete
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")spin workspace unquarantine
Section titled “spin workspace unquarantine”Release a quarantined workspace: back to stopped, where it was held from, with its diskas it was - or, where the stop its quarantine asked for ended failed, failed as it is and nolonger held. The account of what it attempted is kept, and stays to be read (spin workspacedenials).
Usage: spin workspace unquarantine <id> [flags]
Flags: -h, --help help for unquarantine -y, --yes Skip confirmation
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")spin workspace update
Section titled “spin workspace update”Update workspace properties such as name and environment variables.
Cores and memory are 'spin workspace grant' and 'spin workspace release', while it runs.
Examples: spin workspace update mydev --name newname spin workspace update mydev --env KEY=value --env OTHER=val2 spin workspace update mydev --name newname --env DEBUG=true spin workspace update mydev --wake-on-access
Usage: spin workspace update <workspace> [flags]
Flags: --env strings Environment variables (KEY=VALUE) -h, --help help for update --name string New workspace name --wake-on-access Resume it, when suspended, for a signed-in visitor of one of its ports (never an anonymous one)
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")spin workspace watch
Section titled “spin workspace watch”Have the workspace's host record where it connects: each name it looks up, eachdestination it is first let through to or refused, and what it goes on sending and receivingthere, with the time. It is written to the workspace's logs as the service "network", where theinstallation collects logs, and read with them ('spin workspace logs', or the workspace's page).
The watch holds across stops and starts until it is turned off with --off. It says where theworkspace went, never what it sent: no packet is kept.
Usage: spin workspace watch <workspace> [flags]
Flags: -h, --help help for watch --off Stop recording where the workspace connects
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")Generated by task reference from spin/cmd/cli at 8eee32b9d.
Documents Spinbox v20261019.02. This page as Markdown, for a model or a terminal.

