Units
Mebibytes is a branded number, so memory: 512 does not compile and the unit has to be
written at the call site. The mebibyte is the canonical unit — MiB(512) === 512 at runtime —
and the others convert into it.
JavaScript callers get the documentation value without the enforcement — the brand is erased at
runtime.
SandboxError
code to branch on, deliberately not a subclass hierarchy: callers
want to know whether to retry, rebuild or give up, and that is decided by a string.
Constants
DEFAULT_IMAGES and RUNTIME_DEFAULTS are frozen. Pass images to the constructor to change the mapping;
anything unrecognised falls back to node. A spec’s own shmSize overrides RUNTIME_DEFAULTS.
WATCHDOG is the shell script a self-stopping sandbox runs as its main process — exported so you
can read exactly what runs as PID 1. See the sandbox stops itself.
SandboxInfo
What list() returns.
state is passed through from the engine rather than translated, because the vocabulary is
the engine’s and inventing a parallel one hides what docker ps would tell you. exited is
the ordinary stopped state.Engine
The socket connection. Its constructor takes EngineOptions — a single optional
socketPath, which SandboxesOptions also accepts and passes through.
The socket connection. You should not need it — Sandboxes wraps everything this package does
— but it is exported so you can make a call this package does not, against the same socket.
defaultSocketPath() is the resolution described in
requirements: $DOCKER_HOST, then
Podman’s per-user socket, then Docker’s.