# bsdkrun_ex v0.1.0 - Table of Contents

> Elixir SDK for bsdkrun — a Firecracker-style microVM launcher for BSD and Linux guests.

## Pages

- [bsdkrun_ex (Elixir SDK)](readme.md)

## Modules

- [Bsdkrun](Bsdkrun.md): Elixir SDK for [**bsdkrun**](https://github.com/tsirysndr/bsdkrun) — a
Firecracker-style microVM launcher for **BSD and Linux** guests on macOS and
Linux, built on [libkrun](https://github.com/containers/libkrun).
- [Bsdkrun.Args](Bsdkrun.Args.md): Builds the full `bsdkrun` argv (minus the binary and global flags) for a
detached `create`. Ported verbatim from the TypeScript SDK's `args.ts`; every
path ends with `-d` so `create` yields a handle.
- [Bsdkrun.Binary](Bsdkrun.Binary.md): Resolves the `bsdkrun` binary. First match wins; the result is cached in
`:persistent_term`. Resolution order
- [Bsdkrun.Cli](Bsdkrun.Cli.md): Shells out to the `bsdkrun` binary via `System.cmd/3`.
- [Bsdkrun.Images](Bsdkrun.Images.md): Image operations: list downloaded OCI + fetched BSD images.
- [Bsdkrun.Networks](Bsdkrun.Networks.md): Global-network operations: opt machines into a shared subnet so they get
distinct IPs and reach each other by IP and by name (docker-compose style).
- [Bsdkrun.Sandbox](Bsdkrun.Sandbox.md): A handle to a running (or stopped) `bsdkrun` microVM. Create one with
`create/1`, reconnect with `get/1`, or enumerate with `list/1`.
- [Bsdkrun.System](Bsdkrun.System.md): Host-level toolchain + image operations.
- [Bsdkrun.Types](Bsdkrun.Types.md): Typed structs mirroring `bsdkrun`'s JSON output, plus mapping helpers that
turn a decoded `--json` row (string keys) into the corresponding struct.

- [Bsdkrun.Types.ImageInfo](Bsdkrun.Types.ImageInfo.md): An image as reported by `bsdkrun images --json`.
- [Bsdkrun.Types.NetworkInfo](Bsdkrun.Types.NetworkInfo.md): A global network as reported by `bsdkrun network ls --json`.
- [Bsdkrun.Types.Result](Bsdkrun.Types.Result.md): The captured result of running a command in the guest (`Bsdkrun.Sandbox.exec/3`).

- [Bsdkrun.Types.SandboxInfo](Bsdkrun.Types.SandboxInfo.md): A machine as reported by `bsdkrun ps --json`.
- [Bsdkrun.Types.VolumeInfo](Bsdkrun.Types.VolumeInfo.md): A volume as reported by `bsdkrun volume ls --json`.
- [Bsdkrun.Volumes](Bsdkrun.Volumes.md): Persistent volume operations.

- Exceptions
  - [Bsdkrun.Error](Bsdkrun.Error.md): The single exception type raised (or returned in `{:error, _}` tuples) by the
SDK. `kind` discriminates the failure

