Skip to content

docs(vm): clarify MicroVM driver use cases and limitations #2332

Description

@krishicks

Problem Statement

Documentation for the MicroVM compute driver is inconsistent about its maturity and intended use.

docs/reference/sandbox-compute-drivers.mdx correctly explains that MicroVM is for workloads that need a VM boundary instead of a container boundary. However:

  • architecture/compute-runtimes.md and the VM driver README call it experimental.
  • docs/reference/support-matrix.mdx calls it supported without qualification.
  • The documentation does not clearly state that the driver is primarily intended for experimentation or as a local alternative when Docker or Podman is unavailable or unsuitable.
  • Known limitations are scattered or undocumented.

This ambiguity also makes it difficult to judge whether added implementation complexity is appropriate for the driver’s intended scope.

Proposed Design

Make the MicroVM driver’s positioning consistent across:

  • docs/reference/sandbox-compute-drivers.mdx
  • docs/reference/support-matrix.mdx
  • architecture/compute-runtimes.md
  • crates/openshell-driver-vm/README.md
  • Other pages that characterize compute-driver maturity or use cases

Expand the MicroVM section in docs/reference/sandbox-compute-drivers.mdx with a concise limitations section covering:

  • The driver’s experimental maturity and production-readiness expectations.
  • Its intended use for VM-isolation experiments and local environments where Docker or Podman is unavailable or unsuitable.
  • Host virtualization and supported-platform requirements.
  • The fact that per-sandbox CPU and memory requests are currently ignored.
  • The current single-GPU limitation.
  • Initial image preparation and VM startup overhead.
  • Possible host firewall interaction.
  • OCI registry compatibility.

The registry limitation should explain that the VM driver currently uses the Rust oci-client library. It supports the registry workflows OpenShell tests, but compatibility with every OCI registry implementation is not guaranteed.

This limitation should provide context for evaluating proposals such as PR #2313: broader registry compatibility may be useful, but added build and maintenance complexity should be justified against the MicroVM driver’s documented use cases and maturity.

Alternatives Considered

Document only the registry limitation

This would address the immediate concern but leave the broader maturity and use-case inconsistencies unresolved.

Leave implementation guidance implicit

Contributors would still lack a shared basis for deciding whether production-grade compatibility or substantial new dependencies are appropriate for this experimental driver.

Definition of Done

  • MicroVM maturity and intended use are described consistently across user and developer documentation.
  • docs/reference/sandbox-compute-drivers.mdx includes a MicroVM limitations section.
  • The limitations include the current oci-client registry compatibility boundary.
  • docs/reference/support-matrix.mdx no longer conflicts with the experimental status documented elsewhere.
  • Developer-facing documentation connects feature complexity to the driver’s intended scope.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions