Open
Conversation
Expose a boot-scoped runtime identity so callers can detect when a sandbox starts a new container without writing marker files inside the container. This keeps the API as a small primitive that users can compare against previously stored state to decide when reconciliation is needed.
🦋 Changeset detectedLatest commit: 54cf204 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
commit: |
Contributor
🐳 Docker Images Published
Usage: FROM cloudflare/sandbox:0.0.0-pr-564-54cf204Version: 📦 Standalone BinaryFor arbitrary Dockerfiles: COPY --from=cloudflare/sandbox:0.0.0-pr-564-54cf204 /container-server/sandbox /sandbox
ENTRYPOINT ["/sandbox"]Download via GitHub CLI: gh run download 24100598517 -n sandbox-binaryExtract from Docker: docker run --rm cloudflare/sandbox:0.0.0-pr-564-54cf204 cat /container-server/sandbox > sandbox && chmod +x sandbox |
Raise an explicit error when older containers do not expose the runtime identity endpoint so callers get a clear upgrade path instead of a raw missing endpoint failure.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
sandbox.getRuntimeIdentity()as a small primitive for detecting when a sandbox starts a new container runtime/api/runtimecontainer endpoint and wire it through the SDK utility clientWhy
Customers currently need to write marker files or tokens inside the container to detect whether the underlying runtime changed. This adds a direct runtime identity primitive so callers can compare the current
runtimeIdwith the last value they observed and decide when reconciliation is needed.Reviewer Notes
generationcounter and noversionfield on the new methodruntimeIdis boot-scoped identity, not an ordered generation number/api/runtimeendpoint into a clear compatibility error instead of returning a fallback value, since this API is used for correctness rather than diagnostics/api/runtime/identityonly for test coverage; the public SDK surface issandbox.getRuntimeIdentity()Testing
npm run typecheck -w @cloudflare/sandboxnpm run typecheck -w @repo/sandbox-containernpm test -w @cloudflare/sandbox -- utility-client.test.ts -t \"runtime identity\"npm test -w @cloudflare/sandbox -- sandbox.test.ts -t \"runtime identity\"bun test tests/handlers/misc-handler.test.ts -t \"handleRuntime\"npm run test:e2e:vitest -- -- tests/e2e/runtime-identity-workflow.test.ts(deferred to CI)