From 3dc51f7e9d254952223c3e0422ee2f4561a6714a Mon Sep 17 00:00:00 2001 From: "spin-stack-website-sync[bot]" <347572492+spin-stack-website-sync[bot]@users.noreply.github.com> Date: Mon, 26 Oct 2026 12:06:16 +0000 Subject: [PATCH] sources: spin v20261026.02 c02ffc3acf Written by sync.yml: versions.yaml bumped by task sources:bump, the reference by task reference. --- src/assets/shots/workspace.png | Bin 61157 -> 61291 bytes src/assets/shots/workspaces.png | Bin 53998 -> 53823 bytes .../docs/reference/security/known-gaps.md | 2 +- src/content/docs/reference/security/rules.md | 2 +- src/content/docs/reference/status/index.md | 144 +++++++++--------- src/content/docs/use/dashboard.md | 2 +- src/data/figures.json | 8 +- src/data/reference.json | 4 +- src/data/shots.json | 4 +- versions.yaml | 4 +- 10 files changed, 85 insertions(+), 85 deletions(-) diff --git a/src/assets/shots/workspace.png b/src/assets/shots/workspace.png index a07e0aa1eb68987a3518112012f75b9952b270e9..4bb29bdd2397731e6430e97a2905bb523a3589f6 100644 GIT binary patch literal 61291 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

UImGW~YW5$tJ|_9hFvx*Q>@DdNQPV7W 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 VP#+lR>)tO~Ti9Kz{`cL-{|n}KZ*u?u literal 61157 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 diff --git a/src/assets/shots/workspaces.png b/src/assets/shots/workspaces.png index bd8afb70132bfa22ed78178e0e9f76acf9374241..f2c34eff1a608511774e86b8f3ff91571e1098b1 100644 GIT binary patch literal 53823 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ℜnbwtEzv*B{!cB(>?Es$Cq+=w{b<-?}F^W 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 literal 53998 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 diff --git a/src/content/docs/reference/security/known-gaps.md b/src/content/docs/reference/security/known-gaps.md index 381abb5..64fe38e 100644 --- a/src/content/docs/reference/security/known-gaps.md +++ b/src/content/docs/reference/security/known-gaps.md @@ -9,7 +9,7 @@ sidebar: -The open items of Spinbox's security model, from spin's [`docs/security/README.md`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/docs/security/README.md) at `55e6962b0`. The numbers are [its rules](/reference/security/rules/). +The open items of Spinbox's security model, from spin's [`docs/security/README.md`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/docs/security/README.md) at `c02ffc3ac`. The numbers are [its rules](/reference/security/rules/). What no line keeps yet. Each is a design change, not a patch, which is why it is here. diff --git a/src/content/docs/reference/security/rules.md b/src/content/docs/reference/security/rules.md index 2a3f73e..f2495e4 100644 --- a/src/content/docs/reference/security/rules.md +++ b/src/content/docs/reference/security/rules.md @@ -9,7 +9,7 @@ sidebar: -The rules every entry point must keep, from spin's [`docs/security/README.md`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/docs/security/README.md) at `55e6962b0`. Code cites a rule's number at the line that keeps it. **Gate** is what fails a build when the rule is broken; *none* marks a rule kept only by each place remembering it. What is still open is on [Known gaps](/reference/security/known-gaps/). +The rules every entry point must keep, from spin's [`docs/security/README.md`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/docs/security/README.md) at `c02ffc3ac`. Code cites a rule's number at the line that keeps it. **Gate** is what fails a build when the rule is broken; *none* marks a rule kept only by each place remembering it. What is still open is on [Known gaps](/reference/security/known-gaps/). | # | Rule | Gate | |---|---|---| diff --git a/src/content/docs/reference/status/index.md b/src/content/docs/reference/status/index.md index 2d40675..44cd56d 100644 --- a/src/content/docs/reference/status/index.md +++ b/src/content/docs/reference/status/index.md @@ -9,7 +9,7 @@ sidebar: -Every row of this page is a line of `internal/features` in spin, and a test there resolves it against the tree. A row that says **built** names what shows the feature exists - a procedure the control plane serves, a command the CLI has, or a test - and, under **End to end**, the tests that drive a real runner and its guest and check what the feature did, or what no test checks yet. spin's build checks that each of those tests is there and not quarantined; whether it checks the whole feature is its review's. A row that says **not built** is an item of [`docs/ROADMAP.md`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/docs/ROADMAP.md). The page is written by `task reference` from `spin features` at spin `55e6962b0`, and cannot say a feature the binary does not. +Every row of this page is a line of `internal/features` in spin, and a test there resolves it against the tree. A row that says **built** names what shows the feature exists - a procedure the control plane serves, a command the CLI has, or a test - and, under **End to end**, the tests that drive a real runner and its guest and check what the feature did, or what no test checks yet. spin's build checks that each of those tests is there and not quarantined; whether it checks the whole feature is its review's. A row that says **not built** is an item of [`docs/ROADMAP.md`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/docs/ROADMAP.md). The page is written by `task reference` from `spin features` at spin `c02ffc3ac`, and cannot say a feature the binary does not. ## Built @@ -17,116 +17,116 @@ Every row of this page is a line of `internal/features` in spin, and a test ther | Feature | Exists | End to end | |---|---|---| -| A machine per workspace: KVM, its own kernel, root, a persistent disk, SSH | [`TestAWorkspaceBootsARealGuest`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vm_test.go#L189), a test of `internal/e2e` | [`TestAWorkspaceBootsARealGuest`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vm_test.go#L189) | -| Create, start, stop and delete | [`WorkspaceService/CreateWorkspace`](/reference/api/workspaceservice/) | [`TestE2E_WorkspaceCRUD`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L423) | -| A trash: a deleted workspace stays whole, for its owner to undelete, until its days are up | [`TestAWorkspaceWhoseDaysInTheTrashAreUpIsErasedFromItsHost`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L379), a test of `internal/e2e` | [`TestATrashedWorkspaceIsWholeWhenItsOwnerUndeletesIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L411)
[`TestAWorkspaceWhoseDaysInTheTrashAreUpIsErasedFromItsHost`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L379) | -| Idle suspend, with a question before it that a keep answers | [`TestAWorkspaceIsAskedBeforeItsSuspensionAndAKeepAnswersIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L107), a test of `internal/e2e` | [`TestAWorkspaceIsAskedBeforeItsSuspensionAndAKeepAnswersIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L107) | -| A workspace that ran as long as the installation allows is suspended | [`TestAWorkspaceThatRanForAsLongAsAllowedIsSuspended`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L69), a test of `internal/e2e` | [`TestAWorkspaceThatRanForAsLongAsAllowedIsSuspended`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L69) | -| A process inside holds its workspace awake while it lives | [`TestAProcessHoldsItsWorkspaceAwakeWhileItLives`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L190), a test of `internal/e2e` | [`TestAProcessHoldsItsWorkspaceAwakeWhileItLives`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L190) | -| Suspend with the processes where they are; a start resumes them | [`TestAWorkspaceNobodyUsesIsSuspendedAndAStartResumesIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L35), a test of `internal/e2e` | [`TestE2E_ASuspendedWorkspaceResumesWhereItWas`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L160)
[`TestAWorkspaceNobodyUsesIsSuspendedAndAStartResumesIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L35) | -| Cores and memory lent while the host has them, and taken back
*A loan refused while the host is full has no test against the stack: the budget is the host's own cores and half its memory, which no lane's workspaces fill.* | [`TestABusyWorkspaceIsLentCoresAndGivesThemBack`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L342), a test of `internal/e2e` | [`TestABusyWorkspaceIsLentCoresAndGivesThemBack`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L342)
[`TestABusyWorkspaceIsLentMemoryAndGivesItBack`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/memory_test.go#L109) | -| A grant of cores and memory of its own, for a while | [`TestAGrantWhoseTimeIsUpIsGivenBackToTheMachine`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L288), a test of `internal/e2e` | [`TestAGrantWhoseTimeIsUpIsGivenBackToTheMachine`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/background_test.go#L288) | -| Move a running workspace to another host, its processes as they are | [`TestHostsAMoveTakesARunningWorkspaceToAnotherHost`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/hosts_flows_test.go#L65), a test of `internal/e2e` | [`TestHostsAMoveTakesARunningWorkspaceToAnotherHost`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/hosts_flows_test.go#L65) | -| Clone a workspace: its disk, team, project, size, policies and environment, in one | [`TestACloneHoldsWhatItsSourceWroteAndItsShape`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/clone_test.go#L64), a test of `internal/e2e` | [`TestACloneHoldsWhatItsSourceWroteAndItsShape`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/clone_test.go#L64) | -| Recover a workspace whose host is gone, at a cost its owner accepts | [`TestHostsAWorkspaceWhoseHostIsGoneIsRecoveredOnAnother`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/hosts_flows_test.go#L100), a test of `internal/e2e` | [`TestHostsAWorkspaceWhoseHostIsGoneIsRecoveredOnAnother`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/hosts_flows_test.go#L100) | -| A workspace outlives its runner | [`TestAWorkspaceOutlivesItsRunner`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vm_test.go#L272), a test of `internal/e2e` | [`TestAWorkspaceOutlivesItsRunner`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vm_test.go#L272) | -| Quarantine, by an administrator | [`WorkspaceService/QuarantineWorkspace`](/reference/api/workspaceservice/) | [`TestE2E_AQuarantinedWorkspaceIsHeldUntilReleased`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L209) | -| Why a workspace is not behaving: status, console, history | [`spin workspace status`](/reference/cli/workspace/) | [`TestE2E_AQuarantinedWorkspaceIsHeldUntilReleased`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L209)
[`TestE2E_AWorkspacesConsoleIsWhatItsMachinePrinted`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L243) | -| The owner's shell, environment, editor settings, Taskfile and dotfiles reach the guest | [`TestAWorkspacesOwnEnvironmentIsInItsOwnersLoginShell`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/env_test.go#L23), a test of `internal/e2e` | [`TestTheOwnersSettingsArriveInTheGuest`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/env_test.go#L64)
[`TestAWorkspacesOwnEnvironmentIsInItsOwnersLoginShell`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/env_test.go#L23) | -| Reset a disk to what it was created from | [`spin workspace reset`](/reference/cli/workspace/) | [`TestE2E_ResetPutsAWorkspaceBackToWhatItWasCreatedFrom`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L1208) | -| Claude Code and Codex on every workspace's PATH, at the versions the release pins, with their own defaults
*Where the installation fetches them (agents_fetch) or an operator publishes them: no image carries Claude Code, which only Anthropic may distribute.* | [`TestTheAgentCLIsAreOnPathWithThePinnedVersions`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/agentclis_test.go#L20), a test of `internal/e2e` | [`TestTheAgentCLIsAreOnPathWithThePinnedVersions`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/agentclis_test.go#L20) | +| A machine per workspace: KVM, its own kernel, root, a persistent disk, SSH | [`TestAWorkspaceBootsARealGuest`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vm_test.go#L189), a test of `internal/e2e` | [`TestAWorkspaceBootsARealGuest`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vm_test.go#L189) | +| Create, start, stop and delete | [`WorkspaceService/CreateWorkspace`](/reference/api/workspaceservice/) | [`TestE2E_WorkspaceCRUD`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L423) | +| A trash: a deleted workspace stays whole, for its owner to undelete, until its days are up | [`TestAWorkspaceWhoseDaysInTheTrashAreUpIsErasedFromItsHost`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L379), a test of `internal/e2e` | [`TestATrashedWorkspaceIsWholeWhenItsOwnerUndeletesIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L411)
[`TestAWorkspaceWhoseDaysInTheTrashAreUpIsErasedFromItsHost`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L379) | +| Idle suspend, with a question before it that a keep answers | [`TestAWorkspaceIsAskedBeforeItsSuspensionAndAKeepAnswersIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L107), a test of `internal/e2e` | [`TestAWorkspaceIsAskedBeforeItsSuspensionAndAKeepAnswersIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L107) | +| A workspace that ran as long as the installation allows is suspended | [`TestAWorkspaceThatRanForAsLongAsAllowedIsSuspended`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L69), a test of `internal/e2e` | [`TestAWorkspaceThatRanForAsLongAsAllowedIsSuspended`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L69) | +| A process inside holds its workspace awake while it lives | [`TestAProcessHoldsItsWorkspaceAwakeWhileItLives`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L190), a test of `internal/e2e` | [`TestAProcessHoldsItsWorkspaceAwakeWhileItLives`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L190) | +| Suspend with the processes where they are; a start resumes them | [`TestAWorkspaceNobodyUsesIsSuspendedAndAStartResumesIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L35), a test of `internal/e2e` | [`TestE2E_ASuspendedWorkspaceResumesWhereItWas`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L160)
[`TestAWorkspaceNobodyUsesIsSuspendedAndAStartResumesIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L35) | +| Cores and memory lent while the host has them, and taken back
*A loan refused while the host is full has no test against the stack: the budget is the host's own cores and half its memory, which no lane's workspaces fill.* | [`TestABusyWorkspaceIsLentCoresAndGivesThemBack`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L342), a test of `internal/e2e` | [`TestABusyWorkspaceIsLentCoresAndGivesThemBack`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L342)
[`TestABusyWorkspaceIsLentMemoryAndGivesItBack`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/memory_test.go#L109) | +| A grant of cores and memory of its own, for a while | [`TestAGrantWhoseTimeIsUpIsGivenBackToTheMachine`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L288), a test of `internal/e2e` | [`TestAGrantWhoseTimeIsUpIsGivenBackToTheMachine`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/background_test.go#L288) | +| Move a running workspace to another host, its processes as they are | [`TestHostsAMoveTakesARunningWorkspaceToAnotherHost`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/hosts_flows_test.go#L65), a test of `internal/e2e` | [`TestHostsAMoveTakesARunningWorkspaceToAnotherHost`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/hosts_flows_test.go#L65) | +| Clone a workspace: its disk, team, project, size, policies and environment, in one | [`TestACloneHoldsWhatItsSourceWroteAndItsShape`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/clone_test.go#L64), a test of `internal/e2e` | [`TestACloneHoldsWhatItsSourceWroteAndItsShape`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/clone_test.go#L64) | +| Recover a workspace whose host is gone, at a cost its owner accepts | [`TestHostsAWorkspaceWhoseHostIsGoneIsRecoveredOnAnother`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/hosts_flows_test.go#L100), a test of `internal/e2e` | [`TestHostsAWorkspaceWhoseHostIsGoneIsRecoveredOnAnother`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/hosts_flows_test.go#L100) | +| A workspace outlives its runner | [`TestAWorkspaceOutlivesItsRunner`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vm_test.go#L272), a test of `internal/e2e` | [`TestAWorkspaceOutlivesItsRunner`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vm_test.go#L272) | +| Quarantine, by an administrator | [`WorkspaceService/QuarantineWorkspace`](/reference/api/workspaceservice/) | [`TestE2E_AQuarantinedWorkspaceIsHeldUntilReleased`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L209) | +| Why a workspace is not behaving: status, console, history | [`spin workspace status`](/reference/cli/workspace/) | [`TestE2E_AQuarantinedWorkspaceIsHeldUntilReleased`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L209)
[`TestE2E_AWorkspacesConsoleIsWhatItsMachinePrinted`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L243) | +| The owner's shell, environment, editor settings, Taskfile and dotfiles reach the guest | [`TestAWorkspacesOwnEnvironmentIsInItsOwnersLoginShell`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/env_test.go#L23), a test of `internal/e2e` | [`TestTheOwnersSettingsArriveInTheGuest`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/env_test.go#L64)
[`TestAWorkspacesOwnEnvironmentIsInItsOwnersLoginShell`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/env_test.go#L23) | +| Reset a disk to what it was created from | [`spin workspace reset`](/reference/cli/workspace/) | [`TestE2E_ResetPutsAWorkspaceBackToWhatItWasCreatedFrom`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L1208) | +| Claude Code and Codex on every workspace's PATH, at the versions the release pins, with their own defaults
*Where the installation fetches them (agents_fetch) or an operator publishes them: no image carries Claude Code, which only Anthropic may distribute.* | [`TestTheAgentCLIsAreOnPathWithThePinnedVersions`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/agentclis_test.go#L20), a test of `internal/e2e` | [`TestTheAgentCLIsAreOnPathWithThePinnedVersions`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/agentclis_test.go#L20) | ### Teams and projects | Feature | Exists | End to end | |---|---|---| -| Open a repository, branch, commit or pull request from its URL, in the dashboard (/launch) and from the terminal
*From the terminal; the dashboard's /launch page makes the same create and has no test of its own against the stack.* | [`spin open --no-connect`](/reference/cli/open/) | [`TestE2E_AURLOpensTheWorkspaceItNames`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L97) | -| A workspace opened at a commit or a pull request, checked out as pr-<n> | [`TestAProjectsWorkspaceOpensAtTheCommitItWasAskedFor`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/project_test.go#L91), a test of `internal/e2e` | [`TestAProjectsWorkspaceOpensAtTheCommitItWasAskedFor`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/project_test.go#L91)
[`TestE2E_AURLOpensTheWorkspaceItNames`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L97) | -| Teams, with owner, admin and member | [`spin team member role`](/reference/cli/team/) | [`TestE2E_ATeamRoleIsWhatItsHolderMayDo`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L499) | -| A team's own identity providers | [`TeamService/CreateIdentityProvider`](/reference/api/teamservice/) | [`TestE2E_ATeamsIdentityProviderIsItsAdminsAndSignsNobodyIn`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L531) | +| Open a repository, branch, commit or pull request from its URL, in the dashboard (/launch) and from the terminal
*From the terminal; the dashboard's /launch page makes the same create and has no test of its own against the stack.* | [`spin open --no-connect`](/reference/cli/open/) | [`TestE2E_AURLOpensTheWorkspaceItNames`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L97) | +| A workspace opened at a commit or a pull request, checked out as pr-<n> | [`TestAProjectsWorkspaceOpensAtTheCommitItWasAskedFor`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/project_test.go#L91), a test of `internal/e2e` | [`TestAProjectsWorkspaceOpensAtTheCommitItWasAskedFor`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/project_test.go#L91)
[`TestE2E_AURLOpensTheWorkspaceItNames`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L97) | +| Teams, with owner, admin and member | [`spin team member role`](/reference/cli/team/) | [`TestE2E_ATeamRoleIsWhatItsHolderMayDo`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L499) | +| A team's own identity providers | [`TeamService/CreateIdentityProvider`](/reference/api/teamservice/) | [`TestE2E_ATeamsIdentityProviderIsItsAdminsAndSignsNobodyIn`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L531) | | A team's forge app: private repositories cloned and pushed with nothing on the disk | [`spin team forge set`](/reference/cli/team/) | not yet: a real GitHub App and a private repository for the lane to clone and push | -| A team's own network policies, where the installation allows them | [`spin team policy set`](/reference/cli/team/) | [`TestATeamsOwnPolicyIsWhatItsWorkspacesReach`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/team_policy_test.go#L24) | -| Projects: a repository and the shape of the workspace that opens it | [`TestAProjectsWorkspaceHasItsRepositoryCheckedOutAtTheRef`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/project_test.go#L27), a test of `internal/e2e` | [`TestAProjectsWorkspaceHasItsRepositoryCheckedOutAtTheRef`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/project_test.go#L27) | -| Prebuilds of a project's refs, as the floor of the workspaces that open them | [`TestAProjectOpensAsItsPrebuildMadeIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/prebuild_test.go#L29), a test of `internal/e2e` | [`TestAProjectOpensAsItsPrebuildMadeIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/prebuild_test.go#L29) | -| A team's workspaces run on the installation's hosts | [`TestATeamsWorkspaceRunsOnTheInstallationsHost`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/team_test.go#L20), a test of `internal/e2e` | [`TestATeamsWorkspaceRunsOnTheInstallationsHost`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/team_test.go#L20) | +| A team's own network policies, where the installation allows them | [`spin team policy set`](/reference/cli/team/) | [`TestATeamsOwnPolicyIsWhatItsWorkspacesReach`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/team_policy_test.go#L24) | +| Projects: a repository and the shape of the workspace that opens it | [`TestAProjectsWorkspaceHasItsRepositoryCheckedOutAtTheRef`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/project_test.go#L27), a test of `internal/e2e` | [`TestAProjectsWorkspaceHasItsRepositoryCheckedOutAtTheRef`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/project_test.go#L27) | +| Prebuilds of a project's refs, as the floor of the workspaces that open them | [`TestAProjectOpensAsItsPrebuildMadeIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/prebuild_test.go#L29), a test of `internal/e2e` | [`TestAProjectOpensAsItsPrebuildMadeIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/prebuild_test.go#L29) | +| A team's workspaces run on the installation's hosts | [`TestATeamsWorkspaceRunsOnTheInstallationsHost`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/team_test.go#L20), a test of `internal/e2e` | [`TestATeamsWorkspaceRunsOnTheInstallationsHost`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/team_test.go#L20) | ### Snapshots | Feature | Exists | End to end | |---|---|---| -| Snapshots of a running workspace's disk | [`WorkspaceService/CreateSnapshot`](/reference/api/workspaceservice/) | [`TestACloneHoldsWhatItsSourceWroteAndItsShape`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/clone_test.go#L64)
[`TestADiskSnapshottedPastTheThresholdIsCompactedWhileItRuns`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/compaction_test.go#L19) | -| Snapshots with memory, resumed with their processes | [`TestARunningWorkspaceResumesFromASnapshotsMemory`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/restore_test.go#L175), a test of `internal/e2e` | [`TestARunningWorkspaceResumesFromASnapshotsMemory`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/restore_test.go#L175) | -| Restore a workspace to a snapshot | [`TestARestoredWorkspaceBootsOnTheSnapshotItWasRestoredTo`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/restore_test.go#L29), a test of `internal/e2e` | [`TestARestoredWorkspaceBootsOnTheSnapshotItWasRestoredTo`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/restore_test.go#L29) | -| A diff of the files that changed between two snapshots | [`TestADiffOfTwoSnapshotsIsWhatChangedBetweenThem`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/diff_test.go#L28), a test of `internal/e2e` | [`TestADiffOfTwoSnapshotsNamesWhatWasAddedChangedAndRemoved`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/diff_test.go#L95) | -| Share a snapshot with a person or make it public, and create a workspace from it | [`TestACloneOfASnapshotRegistersAsItself`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/clone_test.go#L24), a test of `internal/e2e` | [`TestASharedSnapshotIsCreatedFromByThePersonItIsSharedWith`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/share_test.go#L22) | -| What looks like a credential is found before a share, and the share refused unless acknowledged | [`ShareService/ShareSnapshot`](/reference/api/shareservice/) | [`TestE2E_ASharedSnapshotIsScannedForCredentials`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L46) | -| A long chain is compacted while the workspace runs | [`TestADiskSnapshottedPastTheThresholdIsCompactedWhileItRuns`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/compaction_test.go#L19), a test of `internal/e2e` | [`TestADiskSnapshottedPastTheThresholdIsCompactedWhileItRuns`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/compaction_test.go#L19) | +| Snapshots of a running workspace's disk | [`WorkspaceService/CreateSnapshot`](/reference/api/workspaceservice/) | [`TestACloneHoldsWhatItsSourceWroteAndItsShape`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/clone_test.go#L64)
[`TestADiskSnapshottedPastTheThresholdIsCompactedWhileItRuns`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/compaction_test.go#L19) | +| Snapshots with memory, resumed with their processes | [`TestARunningWorkspaceResumesFromASnapshotsMemory`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/restore_test.go#L175), a test of `internal/e2e` | [`TestARunningWorkspaceResumesFromASnapshotsMemory`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/restore_test.go#L175) | +| Restore a workspace to a snapshot | [`TestARestoredWorkspaceBootsOnTheSnapshotItWasRestoredTo`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/restore_test.go#L29), a test of `internal/e2e` | [`TestARestoredWorkspaceBootsOnTheSnapshotItWasRestoredTo`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/restore_test.go#L29) | +| A diff of the files that changed between two snapshots | [`TestADiffOfTwoSnapshotsIsWhatChangedBetweenThem`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/diff_test.go#L28), a test of `internal/e2e` | [`TestADiffOfTwoSnapshotsNamesWhatWasAddedChangedAndRemoved`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/diff_test.go#L95) | +| Share a snapshot with a person or make it public, and create a workspace from it | [`TestACloneOfASnapshotRegistersAsItself`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/clone_test.go#L24), a test of `internal/e2e` | [`TestASharedSnapshotIsCreatedFromByThePersonItIsSharedWith`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/share_test.go#L22) | +| What looks like a credential is found before a share, and the share refused unless acknowledged | [`ShareService/ShareSnapshot`](/reference/api/shareservice/) | [`TestE2E_ASharedSnapshotIsScannedForCredentials`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L46) | +| A long chain is compacted while the workspace runs | [`TestADiskSnapshottedPastTheThresholdIsCompactedWhileItRuns`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/compaction_test.go#L19), a test of `internal/e2e` | [`TestADiskSnapshottedPastTheThresholdIsCompactedWhileItRuns`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/compaction_test.go#L19) | ### Network | Feature | Exists | End to end | |---|---|---| -| Egress is closed by default; policies, by tag, name what a workspace may reach | [`TestAnOwnerMayOnlyChooseAPolicyTheInstallationDeclares`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/retag_test.go#L163), a test of `internal/e2e` | [`TestAWorkspaceNamedNoPolicyReachesNothing`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/retag_test.go#L71)
[`TestChangingAWorkspacesPoliciesReachesTheHostThatRunsIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/retag_test.go#L24) | -| A policy changed reaches the host that runs the workspace | [`TestChangingAWorkspacesPoliciesReachesTheHostThatRunsIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/retag_test.go#L24), a test of `internal/e2e` | [`TestAnEditedPolicyChangesWhatARunningGuestReaches`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/retag_test.go#L100)
[`TestChangingAWorkspacesPoliciesReachesTheHostThatRunsIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/retag_test.go#L24) | -| Brokered names: the host's proxy stands in and adds what the workspace never holds - a team secret, a forge token, its identity, a cloud role
*The team secret's value is read at the origin; the forge token, identity and cloud role injections have no test against the stack.* | [`spin team secret set`](/reference/cli/team/) | [`TestAPersonsRuleAndAnAgentsOnOneNameEachArriveWithTheirOwnInjection`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L100) | -| A workspace trusts the egress root only by its owner's word | [`TestAGuestTrustsTheEgressRootOnlyByItsOwnersWord`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/egress_root_test.go#L20), a test of `internal/e2e` | [`TestAGuestTrustsTheEgressRootOnlyByItsOwnersWord`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/egress_root_test.go#L20) | -| What a workspace reached, what it looked up and what it was refused | [`spin workspace egress`](/reference/cli/workspace/) | [`TestE2E_EgressIsAnsweredByTheHostTheWorkspaceRunsOn`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L792) | -| Each request to a brokered name as the proxy read it, served or refused and why; and whether each injection's secret is the team's to give | [`TestABrokeredRequestIsSeenAsTheProxyReadIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L28), a test of `internal/e2e` | [`TestABrokeredRequestIsSeenAsTheProxyReadIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L28) | -| The egress proxy is a process of its own, holding no key of the host's, started again by the runner when it ends | [`TestTheEgressProxyIsAProcessOfItsOwnThatTheRunnerStartsAgain`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/egress_process_test.go#L21), a test of `internal/e2e` | [`TestTheEgressProxyIsAProcessOfItsOwnThatTheRunnerStartsAgain`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/egress_process_test.go#L21) | -| A brokered rule names whose it is, the agent's or the person's: one policy says what each may reach and with what | [`TestABrokeredNameForTheAgentIsTheAgentsAlone`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L72), a test of `internal/e2e` | [`TestAPersonsRuleAndAnAgentsOnOneNameEachArriveWithTheirOwnInjection`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L100)
[`TestABrokeredNameForTheAgentIsTheAgentsAlone`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L72) | -| A WebSocket to a brokered name: its handshake under the rule's headers and scope, then bytes each way
*The rule's header on the handshake is not read at the origin: the lane's WebSocket echo answers frames, not headers.* | [`TestAWebSocketToABrokeredNameIsCarriedAfterItsHandshake`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L168), a test of `internal/e2e` | [`TestAWebSocketToABrokeredNameCarriesTheGuestsBytesAndRefusesAPathOutOfScope`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L196)
[`TestAWebSocketToABrokeredNameIsCarriedAfterItsHandshake`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L168) | -| HTTP/2 to a brokered name, the proxy's ALPN the real host's: a rule's headers set stream by stream, gRPC's trailers both ways
*gRPC's trailers are egressproxy's h2 test against an origin of its own; the lane has no gRPC origin to reach.* | [`TestHTTP2ToABrokeredNameIsTheRealHosts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L231), a test of `internal/e2e` | [`TestHTTP2ToABrokeredNameIsTheRealHosts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L231)
[`TestEachStreamOfAnHTTP2ConnectionToABrokeredNameCarriesTheRulesHeader`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L251) | -| Watch where a workspace connects, into its logs | [`spin workspace watch`](/reference/cli/workspace/) | [`TestE2E_AWatchedWorkspacesConnectionsAreInItsLogs`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L264) | -| An agent the supervisor starts is marked, and reaches only brokered names | [`TestARealWorkspaceMarksTheAgentItsSupervisorStarts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/seal_test.go#L21), a test of `internal/e2e` | [`TestAnAgentReachesOnlyBrokeredNames`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/brokered_test.go#L138)
[`TestARealWorkspaceMarksTheAgentItsSupervisorStarts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/seal_test.go#L21) | -| Published ports at https://{port}-{workspace}.{domain}: private, whitelisted or public | [`spin port expose`](/reference/cli/port/) | [`TestAPublicPortIsReachedWithNoSessionAtAll`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/proxy/lane_test.go#L144)
[`workspace-sign-in.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/workspace-sign-in.spec.ts#L31): a visitor signed in to the dashboard reaches their private port | +| Egress is closed by default; policies, by tag, name what a workspace may reach | [`TestAnOwnerMayOnlyChooseAPolicyTheInstallationDeclares`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/retag_test.go#L163), a test of `internal/e2e` | [`TestAWorkspaceNamedNoPolicyReachesNothing`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/retag_test.go#L71)
[`TestChangingAWorkspacesPoliciesReachesTheHostThatRunsIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/retag_test.go#L24) | +| A policy changed reaches the host that runs the workspace | [`TestChangingAWorkspacesPoliciesReachesTheHostThatRunsIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/retag_test.go#L24), a test of `internal/e2e` | [`TestAnEditedPolicyChangesWhatARunningGuestReaches`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/retag_test.go#L100)
[`TestChangingAWorkspacesPoliciesReachesTheHostThatRunsIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/retag_test.go#L24) | +| Brokered names: the host's proxy stands in and adds what the workspace never holds - a team secret, a forge token, its identity, a cloud role
*The team secret's value is read at the origin; the forge token, identity and cloud role injections have no test against the stack.* | [`spin team secret set`](/reference/cli/team/) | [`TestAPersonsRuleAndAnAgentsOnOneNameEachArriveWithTheirOwnInjection`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L100) | +| A workspace trusts the egress root only by its owner's word | [`TestAGuestTrustsTheEgressRootOnlyByItsOwnersWord`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/egress_root_test.go#L20), a test of `internal/e2e` | [`TestAGuestTrustsTheEgressRootOnlyByItsOwnersWord`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/egress_root_test.go#L20) | +| What a workspace reached, what it looked up and what it was refused | [`spin workspace egress`](/reference/cli/workspace/) | [`TestE2E_EgressIsAnsweredByTheHostTheWorkspaceRunsOn`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L792) | +| Each request to a brokered name as the proxy read it, served or refused and why; and whether each injection's secret is the team's to give | [`TestABrokeredRequestIsSeenAsTheProxyReadIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L28), a test of `internal/e2e` | [`TestABrokeredRequestIsSeenAsTheProxyReadIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L28) | +| The egress proxy is a process of its own, holding no key of the host's, started again by the runner when it ends | [`TestTheEgressProxyIsAProcessOfItsOwnThatTheRunnerStartsAgain`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/egress_process_test.go#L21), a test of `internal/e2e` | [`TestTheEgressProxyIsAProcessOfItsOwnThatTheRunnerStartsAgain`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/egress_process_test.go#L21) | +| A brokered rule names whose it is, the agent's or the person's: one policy says what each may reach and with what | [`TestABrokeredNameForTheAgentIsTheAgentsAlone`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L72), a test of `internal/e2e` | [`TestAPersonsRuleAndAnAgentsOnOneNameEachArriveWithTheirOwnInjection`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L100)
[`TestABrokeredNameForTheAgentIsTheAgentsAlone`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L72) | +| A WebSocket to a brokered name: its handshake under the rule's headers and scope, then bytes each way
*The rule's header on the handshake is not read at the origin: the lane's WebSocket echo answers frames, not headers.* | [`TestAWebSocketToABrokeredNameIsCarriedAfterItsHandshake`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L168), a test of `internal/e2e` | [`TestAWebSocketToABrokeredNameCarriesTheGuestsBytesAndRefusesAPathOutOfScope`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L196)
[`TestAWebSocketToABrokeredNameIsCarriedAfterItsHandshake`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L168) | +| HTTP/2 to a brokered name, the proxy's ALPN the real host's: a rule's headers set stream by stream, gRPC's trailers both ways
*gRPC's trailers are egressproxy's h2 test against an origin of its own; the lane has no gRPC origin to reach.* | [`TestHTTP2ToABrokeredNameIsTheRealHosts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L231), a test of `internal/e2e` | [`TestHTTP2ToABrokeredNameIsTheRealHosts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L231)
[`TestEachStreamOfAnHTTP2ConnectionToABrokeredNameCarriesTheRulesHeader`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L251) | +| Watch where a workspace connects, into its logs | [`spin workspace watch`](/reference/cli/workspace/) | [`TestE2E_AWatchedWorkspacesConnectionsAreInItsLogs`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L264) | +| An agent the supervisor starts is marked, and reaches only brokered names | [`TestARealWorkspaceMarksTheAgentItsSupervisorStarts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/seal_test.go#L21), a test of `internal/e2e` | [`TestAnAgentReachesOnlyBrokeredNames`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/brokered_test.go#L138)
[`TestARealWorkspaceMarksTheAgentItsSupervisorStarts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/seal_test.go#L21) | +| Published ports at https://{port}-{workspace}.{domain}: private, whitelisted or public | [`spin port expose`](/reference/cli/port/) | [`TestAPublicPortIsReachedWithNoSessionAtAll`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/proxy/lane_test.go#L144)
[`workspace-sign-in.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/workspace-sign-in.spec.ts#L31): a visitor signed in to the dashboard reaches their private port | ### Access | Feature | Exists | End to end | |---|---|---| | Sign in with GitHub or an OIDC provider | [`AuthService/StartLogin`](/reference/api/authservice/) | not yet: a GitHub provider: the sign-in through it and the verified email it gives | -| Device login for a terminal | [`AuthService/StartDeviceLogin`](/reference/api/authservice/) | [`TestE2E_Logout`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L1195)
[`auth.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/auth.spec.ts#L19): the CLI's device page stands alone and keeps its code through a sign-in | -| API keys for scripts and agents | [`spin api-key create`](/reference/cli/api-key/) | [`TestE2E_APIKeyCRUD`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L1150) | -| SSH keys, and plain ssh to spin.<workspace> | [`spin ssh-config`](/reference/cli/ssh-config/) | [`TestE2E_SSHConfigCarriesSSHToAWorkspace`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L663) | -| Who logs in to a workspace is what its owner signed | [`TestOnlyThePeopleTheAccessNamesLogInToAWorkspace`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/login_test.go#L259), a test of `internal/e2e` | [`TestOnlyThePeopleTheAccessNamesLogInToAWorkspace`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/login_test.go#L259) | -| Guests of a workspace, invited by its owner | [`spin workspace guests`](/reference/cli/workspace/) | [`TestOnlyThePeopleTheAccessNamesLogInToAWorkspace`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/login_test.go#L259) | -| A workspace's identity, signed by its host, for the audiences its owner allows | [`TestAWorkspacesIdentityIsTheHostsSignatureOfWhatItsOwnerSigned`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/identity_test.go#L60), a test of `internal/e2e` | [`TestAWorkspacesIdentityIsTheHostsSignatureOfWhatItsOwnerSigned`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/identity_test.go#L60) | -| VS Code over SSH, with the server the installation publishes and nothing downloaded
*The server is Microsoft's, for Remote-SSH; spin code also opens an editor with Open Remote - SSH, which downloads its own. spin code itself is run by its unit tests only: it opens a desktop editor, which no lane has.* | [`TestAVSCodeServerOfAnotherCommitIsHandedToTheRunningMachine`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vscodehotplug_test.go#L23), a test of `internal/e2e` | [`TestTheCarriedVSCodeServerRunsOfflineAndAnswersOverTheSSHTunnel`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vscodeserver_test.go#L86)
[`TestAVSCodeServerOfAnotherCommitIsHandedToTheRunningMachine`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vscodehotplug_test.go#L23) | -| Run a command in a workspace, copy files to and from it | [`spin exec`](/reference/cli/exec/) | [`TestE2E_ADetachedRunIsFollowedToItsEndAndFilesGoBothWays`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L178) | +| Device login for a terminal | [`AuthService/StartDeviceLogin`](/reference/api/authservice/) | [`TestE2E_Logout`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L1195)
[`auth.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/auth.spec.ts#L19): the CLI's device page stands alone and keeps its code through a sign-in | +| API keys for scripts and agents | [`spin api-key create`](/reference/cli/api-key/) | [`TestE2E_APIKeyCRUD`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L1150) | +| SSH keys, and plain ssh to spin.<workspace> | [`spin ssh-config`](/reference/cli/ssh-config/) | [`TestE2E_SSHConfigCarriesSSHToAWorkspace`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L663) | +| Who logs in to a workspace is what its owner signed | [`TestOnlyThePeopleTheAccessNamesLogInToAWorkspace`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/login_test.go#L259), a test of `internal/e2e` | [`TestOnlyThePeopleTheAccessNamesLogInToAWorkspace`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/login_test.go#L259) | +| Guests of a workspace, invited by its owner | [`spin workspace guests`](/reference/cli/workspace/) | [`TestOnlyThePeopleTheAccessNamesLogInToAWorkspace`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/login_test.go#L259) | +| A workspace's identity, signed by its host, for the audiences its owner allows | [`TestAWorkspacesIdentityIsTheHostsSignatureOfWhatItsOwnerSigned`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/identity_test.go#L60), a test of `internal/e2e` | [`TestAWorkspacesIdentityIsTheHostsSignatureOfWhatItsOwnerSigned`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/identity_test.go#L60) | +| VS Code over SSH, with the server the installation publishes and nothing downloaded
*The server is Microsoft's, for Remote-SSH; spin code also opens an editor with Open Remote - SSH, which downloads its own. spin code itself is run by its unit tests only: it opens a desktop editor, which no lane has.* | [`TestAVSCodeServerOfAnotherCommitIsHandedToTheRunningMachine`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vscodehotplug_test.go#L23), a test of `internal/e2e` | [`TestTheCarriedVSCodeServerRunsOfflineAndAnswersOverTheSSHTunnel`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vscodeserver_test.go#L86)
[`TestAVSCodeServerOfAnotherCommitIsHandedToTheRunningMachine`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vscodehotplug_test.go#L23) | +| Run a command in a workspace, copy files to and from it | [`spin exec`](/reference/cli/exec/) | [`TestE2E_ADetachedRunIsFollowedToItsEndAndFilesGoBothWays`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L178) | ### Administration | Feature | Exists | End to end | |---|---|---| -| Installation settings seeded from a file; a change in the file is a proposal to apply or dismiss | [`AdminService/DecideConfigChange`](/reference/api/adminservice/) | [`TestTheInstallationFileSeedsAndItsChangesAreAnAdministratorsToDecide`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/config_file_test.go#L92) | -| Resource presets | [`AdminService/CreateResourcePreset`](/reference/api/adminservice/) | [`admin.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/admin.spec.ts#L422): an admin's preset sizes a person's workspace, and is gone once deleted | -| Registration: open, by allowlist, or closed | [`AdminService/SetRegistrationMode`](/reference/api/adminservice/) | [`admin.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/admin.spec.ts#L216): closed, open and a domain on the allowlist decide who registers
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/admin.spec.ts#L146): the allowlist lets in who it names, and nobody else | -| An audit log | [`AdminService/ListAuditLog`](/reference/api/adminservice/) | [`TestE2E_AnAdministratorsActionIsAuditedWithItsActorAndTarget`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L606)
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/admin.spec.ts#L895): admin reads the log and can narrow it to one kind of event | -| The control plane's jobs, and running one now | [`spin admin jobs`](/reference/cli/admin/) | [`TestACarryResumesASuspendedWorkspaceAndStopsIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/carry_test.go#L21)
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/admin.spec.ts#L705): admin runs a job by hand and sees how it ended | +| Installation settings seeded from a file; a change in the file is a proposal to apply or dismiss | [`AdminService/DecideConfigChange`](/reference/api/adminservice/) | [`TestTheInstallationFileSeedsAndItsChangesAreAnAdministratorsToDecide`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/config_file_test.go#L92) | +| Resource presets | [`AdminService/CreateResourcePreset`](/reference/api/adminservice/) | [`admin.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/admin.spec.ts#L422): an admin's preset sizes a person's workspace, and is gone once deleted | +| Registration: open, by allowlist, or closed | [`AdminService/SetRegistrationMode`](/reference/api/adminservice/) | [`admin.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/admin.spec.ts#L216): closed, open and a domain on the allowlist decide who registers
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/admin.spec.ts#L146): the allowlist lets in who it names, and nobody else | +| An audit log | [`AdminService/ListAuditLog`](/reference/api/adminservice/) | [`TestE2E_AnAdministratorsActionIsAuditedWithItsActorAndTarget`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L606)
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/admin.spec.ts#L895): admin reads the log and can narrow it to one kind of event | +| The control plane's jobs, and running one now | [`spin admin jobs`](/reference/cli/admin/) | [`TestACarryResumesASuspendedWorkspaceAndStopsIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/carry_test.go#L21)
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/admin.spec.ts#L705): admin runs a job by hand and sees how it ended | | The month's bill, its forecast, and what each workspace cost | [`spin admin costs`](/reference/cli/admin/) | not yet: the cloud's real bill read: no lane has an AWS account, so the bill a test gives the reader stands in for it | -| The store: every volume, whose it is, and taking out what nothing needs | [`spin admin storage list`](/reference/cli/admin/) | [`TestAVolumeNothingNeedsIsTakenOutOfTheStore`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/orphan_test.go#L26) | -| Re-key a workspace's disk | [`spin admin volume rekey`](/reference/cli/admin/) | [`TestARekeyedDiskBootsWithWhatItHeldUnderANewKey`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/rekey_test.go#L24) | -| Runners: registration tokens, drain, activate, revoke, and a policy per host | [`spin admin runner drain`](/reference/cli/admin/) | [`TestARunnerRegisteredWithATokenTheAPIMadeIsRevokedByTheAdmin`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/runner_token_test.go#L99)
[`TestARegistrationTokenExpiredOrRevokedRegistersNothing`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/runner_token_test.go#L148) | +| The store: every volume, whose it is, and taking out what nothing needs | [`spin admin storage list`](/reference/cli/admin/) | [`TestAVolumeNothingNeedsIsTakenOutOfTheStore`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/orphan_test.go#L26) | +| Re-key a workspace's disk | [`spin admin volume rekey`](/reference/cli/admin/) | [`TestARekeyedDiskBootsWithWhatItHeldUnderANewKey`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/rekey_test.go#L24) | +| Runners: registration tokens, drain, activate, revoke, and a policy per host | [`spin admin runner drain`](/reference/cli/admin/) | [`TestARunnerRegisteredWithATokenTheAPIMadeIsRevokedByTheAdmin`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/runner_token_test.go#L99)
[`TestARegistrationTokenExpiredOrRevokedRegistersNothing`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/runner_token_test.go#L148) | | Runners start when a workspace waits for one and stop when nothing runs | [`HostService/GetFleet`](/reference/api/hostservice/) | not yet: an autoscaling group to start and stop: the one group is AWS's, and no lane has an account | -| A host that reboots brings its workspaces back | [`TestAHostRebootBringsItsWorkspacesBack`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/restart_test.go#L38), a test of `internal/e2e` | [`TestAHostRebootBringsItsWorkspacesBack`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/restart_test.go#L38) | -| A cloud's reclaim warning empties the host before the machine goes | [`TestACloudsReclaimWarningEmptiesTheHostBeforeAnySignal`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/preemption_test.go#L26), a test of `internal/e2e` | [`TestACloudsReclaimWarningEmptiesTheHostBeforeAnySignal`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/preemption_test.go#L26) | -| A writeback bound per host, measured on that host before it is taken | [`TestCustomWritebackValuesAreMeasuredOnTheRunner`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/writeback_test.go#L28), a test of `internal/e2e` | [`TestCustomWritebackValuesAreMeasuredOnTheRunner`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/writeback_test.go#L28) | -| What is running where: the control plane, each runner and its machine | [`spin admin versions`](/reference/cli/admin/) | [`TestE2E_Admin`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L1052) | +| A host that reboots brings its workspaces back | [`TestAHostRebootBringsItsWorkspacesBack`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/restart_test.go#L38), a test of `internal/e2e` | [`TestAHostRebootBringsItsWorkspacesBack`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/restart_test.go#L38) | +| A cloud's reclaim warning empties the host before the machine goes | [`TestACloudsReclaimWarningEmptiesTheHostBeforeAnySignal`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/preemption_test.go#L26), a test of `internal/e2e` | [`TestACloudsReclaimWarningEmptiesTheHostBeforeAnySignal`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/preemption_test.go#L26) | +| A writeback bound per host, measured on that host before it is taken | [`TestCustomWritebackValuesAreMeasuredOnTheRunner`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/writeback_test.go#L28), a test of `internal/e2e` | [`TestCustomWritebackValuesAreMeasuredOnTheRunner`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/writeback_test.go#L28) | +| What is running where: the control plane, each runner and its machine | [`spin admin versions`](/reference/cli/admin/) | [`TestE2E_Admin`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L1052) | ### Observability | Feature | Exists | End to end | |---|---|---| -| Platform logs, workspace logs and traces, searched in the product | [`LogService/SearchPlatformLogs`](/reference/api/logservice/) | [`TestAWorkspacesLinesAndTracesAreFoundBySearchingForIt`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/observe_test.go#L22)
[`TestE2E_TheInstallationsLogsAreSearchable`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L954) | -| Metrics, with Grafana on the control plane | [`AdminService/GetMonitoring`](/reference/api/adminservice/) | [`admin.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/admin.spec.ts#L1149): a series of the lane's host is in the metric store, read through Grafana
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/dashboard/e2e/admin.spec.ts#L1126): admin reads the installation's dashboards without leaving the page | -| A workspace's journal and console are collected only with its owner's consent | [`spin workspace logs-consent`](/reference/cli/workspace/) | [`TestE2E_AWorkspacesConsoleIsKeptAndSearchable`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/e2e_test.go#L975) | +| Platform logs, workspace logs and traces, searched in the product | [`LogService/SearchPlatformLogs`](/reference/api/logservice/) | [`TestAWorkspacesLinesAndTracesAreFoundBySearchingForIt`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/observe_test.go#L22)
[`TestE2E_TheInstallationsLogsAreSearchable`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L954) | +| Metrics, with Grafana on the control plane | [`AdminService/GetMonitoring`](/reference/api/adminservice/) | [`admin.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/admin.spec.ts#L1149): a series of the lane's host is in the metric store, read through Grafana
[`admin.spec.ts`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/dashboard/e2e/admin.spec.ts#L1126): admin reads the installation's dashboards without leaving the page | +| A workspace's journal and console are collected only with its owner's consent | [`spin workspace logs-consent`](/reference/cli/workspace/) | [`TestE2E_AWorkspacesConsoleIsKeptAndSearchable`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/e2e_test.go#L975) | ### Platform | Feature | Exists | End to end | |---|---|---| -| A smoke test of what an installation's API promises, with a workspace of its own | [`spin smoke`](/reference/cli/smoke/) | [`TestE2E_SmokePassesAndLeavesNothingBehind`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/cmd/cli/journeys_e2e_test.go#L314) | -| A host serves only the releases it carries
*A resume whose recorded release was collected since has no test against the stack.* | [`TestAMachineAdoptedWithoutItsReleasesIsSuspendedWithItsDisk`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/suspend_test.go#L126), a test of `internal/e2e` | [`TestAMachineAdoptedWithoutItsReleasesIsSuspendedWithItsDisk`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/suspend_test.go#L126)
[`TestAVSCodeServerOfAnotherCommitIsHandedToTheRunningMachine`](https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/internal/e2e/vscodehotplug_test.go#L23) | +| A smoke test of what an installation's API promises, with a workspace of its own | [`spin smoke`](/reference/cli/smoke/) | [`TestE2E_SmokePassesAndLeavesNothingBehind`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/cmd/cli/journeys_e2e_test.go#L314) | +| A host serves only the releases it carries
*A resume whose recorded release was collected since has no test against the stack.* | [`TestAMachineAdoptedWithoutItsReleasesIsSuspendedWithItsDisk`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/suspend_test.go#L126), a test of `internal/e2e` | [`TestAMachineAdoptedWithoutItsReleasesIsSuspendedWithItsDisk`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/suspend_test.go#L126)
[`TestAVSCodeServerOfAnotherCommitIsHandedToTheRunningMachine`](https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/internal/e2e/vscodehotplug_test.go#L23) | ## Partly there diff --git a/src/content/docs/use/dashboard.md b/src/content/docs/use/dashboard.md index 782df37..65e2a84 100644 --- a/src/content/docs/use/dashboard.md +++ b/src/content/docs/use/dashboard.md @@ -7,7 +7,7 @@ editUrl: false -The dashboard is at `https://app.`. These screenshots are of spin v20261026.01, taken by spin's dashboard suite on its end-to-end stack - real workspaces on a real runner - each by a test that first checks the screen shows what its title says. Everything here is also in the [CLI](/reference/cli/) and the [API](/reference/api/). +The dashboard is at `https://app.`. These screenshots are of spin v20261026.02, taken by spin's dashboard suite on its end-to-end stack - real workspaces on a real runner - each by a test that first checks the screen shows what its title says. Everything here is also in the [CLI](/reference/cli/) and the [API](/reference/api/). ## A person's workspaces diff --git a/src/data/figures.json b/src/data/figures.json index bc7b7bb..c59b8b6 100644 --- a/src/data/figures.json +++ b/src/data/figures.json @@ -1,6 +1,6 @@ { "datapath": { - "source": "https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/docs/network/datapath", + "source": "https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/docs/network/datapath", "width": 552, "words": [ "How a packet leaves a workspace", @@ -56,7 +56,7 @@ ] }, "egress-policy": { - "source": "https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/docs/network/egress-policy", + "source": "https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/docs/network/egress-policy", "width": 854, "words": [ "What the forward chain decides, in order", @@ -157,7 +157,7 @@ ] }, "isolation": { - "source": "https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/docs/network/isolation", + "source": "https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/docs/network/isolation", "width": 499, "words": [ "Same address, different segment", @@ -204,7 +204,7 @@ ] }, "traffic": { - "source": "https://github.com/spin-stack/spin/blob/55e6962b058f3d27f94255704b1ab96250a32de2/docs/security/traffic", + "source": "https://github.com/spin-stack/spin/blob/c02ffc3acfd56cb242d21547cb177da68a3d4f11/docs/security/traffic", "width": 1889, "words": [ "Traffic: every arrow is a connection opened in its direction, and nothing else is let in", diff --git a/src/data/reference.json b/src/data/reference.json index b1d966c..0ee7dfa 100644 --- a/src/data/reference.json +++ b/src/data/reference.json @@ -1,8 +1,8 @@ { "spin": { "installs": "v20261025.01", - "commit": "55e6962b058f3d27f94255704b1ab96250a32de2", - "tag": "v20261026.01", + "commit": "c02ffc3acfd56cb242d21547cb177da68a3d4f11", + "tag": "v20261026.02", "machine": "v20261014.01" }, "terraform": { diff --git a/src/data/shots.json b/src/data/shots.json index 989e4ee..33e1dfe 100644 --- a/src/data/shots.json +++ b/src/data/shots.json @@ -1,6 +1,6 @@ { - "release": "v20261026.01", - "commit": "55e6962b058f3d27f94255704b1ab96250a32de2", + "release": "v20261026.02", + "commit": "c02ffc3acfd56cb242d21547cb177da68a3d4f11", "shots": [ { "name": "workspaces", diff --git a/versions.yaml b/versions.yaml index 89ca57e..81c0e95 100644 --- a/versions.yaml +++ b/versions.yaml @@ -7,8 +7,8 @@ - name: spin kind: git source: https://github.com/spin-stack/spin - version: v20261026.01 - pin: 55e6962b058f3d27f94255704b1ab96250a32de2 + version: v20261026.02 + pin: c02ffc3acfd56cb242d21547cb177da68a3d4f11 track: github-release note: >- The release the site documents (D2: the newest, exactly). The daily sync moves it to the next