Skip to content

PROD-250 docs: sandbox OpenShell microVM provider (additional) - #165

Open
salamisandwich77 wants to merge 4 commits into
docs/PROD-318-behavioral-constrain-docsfrom
docs/sandbox-openshell-provider-v2
Open

PROD-250 docs: sandbox OpenShell microVM provider (additional)#165
salamisandwich77 wants to merge 4 commits into
docs/PROD-318-behavioral-constrain-docsfrom
docs/sandbox-openshell-provider-v2

Conversation

@salamisandwich77

Copy link
Copy Markdown
Contributor

OpenShell Provider (VM)

Documentation for the optional microVM sandbox provider.

openshell runs the admitted command inside a libkrun microVM, giving a guest-kernel boundary rather than the host-kernel isolation the default native provider applies. It uses Hypervisor.framework on macOS and KVM on Linux.

The page covers supported platforms and the assets published for each, the prepared VM cache that keeps warm-up to a cache hit, the OCI registry mode for development, registry CA trust per platform, and the security properties and limits.

Provider selection is explicit and fails closed; there is no fallback to native.

Stacked on #157. The base sandbox section must land first, since this page links to Provisioning, Native Provider, and Concept.


Replaces #160. That pull request was closed as merged on 2026-08-26 by an accidental git pull that pulled this branch into its own base branch. The merge commit was reverted, so none of this work reached the base branch. GitHub cannot reopen a pull request once it records it as merged, so this is a new one against the same base with the same branch.

@vercel

vercel Bot commented Aug 27, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
openbox-document Ready Ready Preview Aug 27, 2026 1:00pm

Request Review

@salamisandwich77
salamisandwich77 changed the base branch from docs/constrain-temporal-python-integration to docs/PROD-318-behavioral-constrain-docs August 27, 2026 12:24
Adds the OpenShell provider page on top of the base sandbox section: the
supported platforms and their published assets, the prepared VM cache, the
OCI registry mode for development, registry CA trust on each platform, and
the security properties and limitations.

Restores the sidebar entry and the four cross-references from the native
provider, provisioning, configuration, and sandbox-execution pages.

The page states what this provider costs relative to the default: it needs a
prepared image cache and a hypervisor, and OpenBox publishes a complete asset
set only for Apple Silicon macOS and x86_64 glibc Linux.
The flag did nothing and has now been removed from the launcher, so a
command carrying it fails rather than being ignored. The page also
described it as accepting defaults and not bypassing the KVM, signing, and
CA-trust checks; provisioning never prompts, and those checks stand on
their own.
Configuration listed seven environment variables and said parameters
override them. The package reads the process environment once, in
sandbox/deployment.py, and that read has nothing to do with plugin
configuration. Setting OPENBOX_GOVERNANCE_TIMEOUT, OPENBOX_ENABLED,
OPENBOX_GOVERNANCE_POLICY, OPENBOX_SEND_START_EVENT or
OPENBOX_SEND_ACTIVITY_START_EVENT changed nothing.

The plugin takes constructor parameters. OPENBOX_URL and OPENBOX_API_KEY
are conventional names that your own code reads and passes in, which is why
the example does exactly that.

The walkthrough's .env carried four of the inert variables, including
OPENBOX_GOVERNANCE_MAX_RETRIES, which is not a parameter either.

Also relabels a constructor signature in the SDK reference as text, since
it is an illustration rather than code that parses.
Saying the variables have no effect answered half the question. The SDK's
own README documents OPENBOX_GOVERNANCE_TIMEOUT and
OPENBOX_GOVERNANCE_POLICY as names an application reads and passes in, the
same way the examples already treat OPENBOX_URL and OPENBOX_API_KEY. The
page now shows that pattern.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant