Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3,364 changes: 2,665 additions & 699 deletions public/openapi.json

Large diffs are not rendered by default.

Binary file modified src/assets/shots/snapshots.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/shots/workspace.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/assets/shots/workspaces.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions src/content/docs/admin/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Installation settings
description: "How an installation is configured: the file that seeds it, the dashboard that edits it, and how a changed file becomes a proposal."
reads:
- "spin:configs/spin-example.yaml@v20261108.01"
- "spin:internal/controlplane/installconfig/apply.go@v20261108.01"
- "spin:configs/spin-example.yaml@v20261110.01"
- "spin:internal/controlplane/installconfig/apply.go@v20261110.01"
---

An installation's settings live in its database, and an administrator edits all of them in the
Expand Down
12 changes: 10 additions & 2 deletions src/content/docs/admin/hosts.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Operating hosts
description: Drain, activate and revoke runners, see what runs where, replace a runner's machine, and add a runner outside the autoscaling group.
reads:
- "spin:docs/runners.md@v20261108.01"
- "spin:cmd/cli/cmd/admin.go@v20261108.01"
- "spin:docs/runners.md@v20261110.01"
- "spin:cmd/cli/cmd/admin.go@v20261110.01"
- "spin-terraform-aws:modules/runners/main.tf@v20261027.02"
---

Expand Down Expand Up @@ -49,6 +49,14 @@ behind, what a revoke refuses, and how the capacity comes back.

## Replacing a runner's machine on AWS

A runner of the group that should go for good is given back to it, which terminates the machine
and is asked for one less. It drains as it goes, and one that is the only home of a workspace's
disk is refused, naming them:

```bash
spin admin runner remove <runner-id>
```

After a revoke, or when a runner is wedged, terminate its instance without lowering the group's
size. The group starts another, which joins by its role:

Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/admin/observability.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ minute.

## What is not there

- **Nothing pages anyone.** Alert rules fire in the installation's Grafana, and no contact point
tells anyone.
- **Nothing pages the operator.** Alert rules fire in the installation's Grafana, and no contact
point tells anyone. A workspace's owner is emailed when it waits for them.
- The collector accepts OpenTelemetry from whatever its security group lets in: the proxy and the
runners.
- AWS keeps its own records outside the installation: the VPC flow log and every machine's boot
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/concepts/images.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Images
description: What an image is in Spinbox, the default image, how an administrator publishes and retires images, and how to build your own starting point from a snapshot.
reads:
- "spin:docs/storage/README.md@v20261108.01"
- "spin:cmd/cli/cmd/admin_storage.go@v20261108.01"
- "spin:docs/storage/README.md@v20261110.01"
- "spin:cmd/cli/cmd/admin_storage.go@v20261110.01"
---

An image is a disk a workspace can start from. In Spinbox an image **is** a published snapshot
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/concepts/network.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Network and egress
description: How network policies control where a workspace connects, what is always blocked, how DNS works, and how to see what it reached.
reads:
- "spin:docs/network/README.md@v20261108.01"
- "spin:configs/spin-example.yaml@v20261108.01"
- "spin:docs/network/README.md@v20261110.01"
- "spin:configs/spin-example.yaml@v20261110.01"
---

import Figure from '../../../components/Figure.astro';
Expand Down
14 changes: 9 additions & 5 deletions src/content/docs/concepts/runners.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: Runners and hosts
description: What a runner is, how it joins, how workspaces are placed on it, how runners scale from zero, and what happens when one is lost.
reads:
- "spin:docs/runners.md@v20261108.01"
- "spin:internal/controlplane/domain/autoscale/autoscale.go@v20261108.01"
- "spin:internal/controlplane/domain/hostclass/hostclass.go@v20261108.01"
- "spin:docs/runners.md@v20261110.01"
- "spin:internal/controlplane/domain/autoscale/autoscale.go@v20261110.01"
- "spin:internal/controlplane/domain/hostclass/hostclass.go@v20261110.01"
- "spin-terraform-aws:modules/runners/main.tf@v20261027.02"
---

Expand Down Expand Up @@ -97,6 +97,10 @@ had not yet uploaded.
lost and waits for `--accept-data-loss`.
- An administrator can let the control plane move workspaces on its own, after a runner has
been silent for `rehome_after_seconds`, when no more than `rehome_max_unpublished_bytes` would
be lost. This is off by default.
be lost: [the workspace is moved, and its owner is told when it waits for them instead](<feature:A workspace whose host never comes back is moved when little would be lost, and its owner is told when it waits for them>).
This is off by default.

Nothing tells an owner that a workspace is stranded yet.
[The owner is told by email](<feature:A workspace's owner is told by email when it waits for them or something happened to it, each event switchable>):
when a workspace is held after its host was lost, when a stop could not be taken, when it was
stopped for not responding, and when it was moved off a lost host. Each event can be switched
off.
6 changes: 3 additions & 3 deletions src/content/docs/concepts/snapshots.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: Snapshots and rollback
description: Disk and memory snapshots, restoring and resetting a workspace, diffing two snapshots, cloning, and sharing a snapshot with others.
reads:
- "spin:cmd/cli/cmd/snapshot.go@v20261108.01"
- "spin:cmd/cli/cmd/share.go@v20261108.01"
- "spin:docs/storage/README.md@v20261108.01"
- "spin:cmd/cli/cmd/snapshot.go@v20261110.01"
- "spin:cmd/cli/cmd/share.go@v20261110.01"
- "spin:docs/storage/README.md@v20261110.01"
---

A snapshot is a point in a workspace's life that you can come back to. It is read-only and
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/concepts/volumes.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Disks and storage
description: "How a workspace's disk is stored: layers in the bucket, a cache on the runner, encryption, when work is uploaded, and what deleting removes."
reads:
- "spin:docs/storage/README.md@v20261108.01"
- "spin:internal/storage/qcow/manager.go@v20261108.01"
- "spin:docs/storage/README.md@v20261110.01"
- "spin:internal/storage/qcow/manager.go@v20261110.01"
---

import Value from '../../../components/Value.astro';
Expand Down
11 changes: 6 additions & 5 deletions src/content/docs/concepts/workspaces.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: Workspaces
description: What a workspace is, its states, its resources and disk, what runs inside it, and how it is started, stopped, suspended and recovered.
reads:
- "spin:cmd/cli/cmd/workspace.go@v20261108.01"
- "spin:docs/reconciliation.md@v20261108.01"
- "spin:docs/workspace-filesystem.md@v20261108.01"
- "spin:cmd/cli/cmd/workspace.go@v20261110.01"
- "spin:docs/reconciliation.md@v20261110.01"
- "spin:docs/workspace-filesystem.md@v20261110.01"
---

A workspace is a virtual machine that belongs to a person, or to a team. It has its own
Expand Down Expand Up @@ -40,8 +40,9 @@ spin workspace create --name retry --from-snapshot <snapshot-id> --wait

A workspace is sized by a **preset**: its cores, its memory and its free disk. An administrator
defines the presets (for example `small` and `large`) and marks one as the default. See
[Installation settings](/admin/configuration/). An installation with no default preset gives
1 core, 512 MB and 10 GB of free disk.
[Installation settings](/admin/configuration/). An installation whose configuration names no
presets is given one, `default`: 1 core and 512 MB, which grow to what its runner has, on 10 GB
of free disk.

A preset is fixed, starting at its size and staying there, or it bursts: it starts at a floor
and may grow up to its size, or up to whatever its runner has room for. A running workspace
Expand Down
4 changes: 2 additions & 2 deletions src/content/docs/overview/evaluate.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Evaluate Spinbox
description: What Spinbox is, what it costs, how to try it on one Linux machine, what this release does not do, and how to install it - in that order.
reads:
- "spin:hack/kvm-runner-check.sh@v20261108.01"
- "spin:taskfiles/e2e.yml@v20261108.01"
- "spin:hack/kvm-runner-check.sh@v20261110.01"
- "spin:taskfiles/e2e.yml@v20261110.01"
- "spin-terraform-aws:README.md@v20261027.02"
---

Expand Down
8 changes: 4 additions & 4 deletions src/content/docs/overview/how-it-works.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@
title: How it works
description: The pieces of an installation (control plane, proxy, runners, database, bucket), how they connect, and how a workspace comes to run.
reads:
- "spin:docs/reconciliation.md@v20261108.01"
- "spin:docs/storage/README.md@v20261108.01"
- "spin:internal/pgserver/server.go@v20261108.01"
- "spin:docs/releases.md@v20261108.01"
- "spin:docs/reconciliation.md@v20261110.01"
- "spin:docs/storage/README.md@v20261110.01"
- "spin:internal/pgserver/server.go@v20261110.01"
- "spin:docs/releases.md@v20261110.01"
---

import Figure from '../../../components/Figure.astro';
Expand Down
2 changes: 1 addition & 1 deletion src/content/docs/overview/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
title: What is Spinbox
description: What Spinbox is, who it is for, what it lets you do, and the projects an installation is made of.
reads:
- "spin:internal/features/features.go@v20261108.01"
- "spin:internal/features/features.go@v20261110.01"
---

Spinbox runs **workspaces**: virtual machines that a person or a program uses to run code. You
Expand Down
5 changes: 3 additions & 2 deletions src/content/docs/overview/limitations.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,9 @@ The open items of the security model are listed in [Known gaps](/reference/secur

## Operations

- **Nothing pages anyone.** Metrics, logs and traces are kept inside the installation. Alert
rules fire in its Grafana, and no contact point tells anyone.
- **Nothing pages the operator.** Metrics, logs and traces are kept inside the installation.
Alert rules fire in its Grafana, and no contact point tells anyone. A workspace's owner is
emailed when it waits for them.
- **An update is one way.** A release older than the one that last started the database
refuses to start on it. Going back past a schema change is a point-in-time restore of the
database.
4 changes: 2 additions & 2 deletions src/content/docs/overview/one-machine.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
title: Try it on one machine
description: The development stack on a single Linux host with KVM - from git clone to a running workspace and a command in it. Not an installation.
reads:
- "spin:taskfiles/e2e.yml@v20261108.01"
- "spin:hack/kvm-runner-check.sh@v20261108.01"
- "spin:taskfiles/e2e.yml@v20261110.01"
- "spin:hack/kvm-runner-check.sh@v20261110.01"
---

This is the **development stack**: the control plane, the proxy and the stores in containers,
Expand Down
Loading
Loading