Kibotos

Choosing an environment

This page helps you get the software your Agent needs into a Workspace: use a Template the deployer published, install at runtime, or have a new Template built.

Overview

ApproachUse it whenSurvives a stopSurvives deletionStart cost
Use a published TemplateIt already has what you needYesThe next Workspace has it tooNone
Install at runtimeOne session needs something extraBest effort, or kept on a VolumeOnly what is on a Volume you keepInstalled every time it is lost
Build a TemplateEvery session needs itYesThe next Workspace has it tooOne build, then none

Published Templates

List what your deployment offers, and look at one:

kibo template list
kibo template get kibotos-minimal

With the E2B SDK, ask the deployer for the names, and pass one to Sandbox.create.

Kibotos maintains Template definitions, including these. A deployment offers only those its deployer built and published:

TemplateContents
kibotos-minimalA minimal system for verifying a deployment
kibotos-codingDebian 13 with build tools, Git, Node.js, Python, Go, and Rust, for coding Agents
kibotos-desktopDebian 13 with an XFCE desktop and Chromium, for Agents that operate a browser. See Desktop

A Workspace keeps the Template revision it was created from. A new default revision affects only new Workspaces. See Workspaces and Templates.

Installing at runtime

Installing needs network access and a user allowed to install. This example allows public internet access and installs a package as root, on a Template that has apt-get:

kibo workspace network set "$workspace_id" public-internet
kibo workspace exec "$workspace_id" --user root -- sh -c 'apt-get update && apt-get install -y jq'

Where the software ends up decides how long it lasts:

LocationStop and startDelete the Workspace
Root file system, such as /usrKept on a best-effort basisLost
Volume, such as /dataKeptKept when the Volume is bound as in Coding Agent with a persistent project
/tmp and /runLostLost

Package managers usually write to the root file system. To keep a tool reliably, install it on the Volume, for example with pip install --target /data/tools, or put it in a Template. See Guarantees and limits.

Building a Template

An Operator builds a Template from a container image, publishes it, and approves it. Your image needs no change for Kibotos at runtime, but check that it works: importing does not guarantee that every image boots on both backends.

  • If you are the Operator, follow Build your own Template.
  • Otherwise, give the deployer the exact image digest and the checks that show it works.

Software in a Template does not need network access at runtime and costs nothing at each start.

Notes

  • Environment variables are set per process: environment in the native API, -e in kibo, and envs in sandbox.commands.run. envs in Sandbox.create returns 501.
  • The kernel and guest programs belong to the Platform, not the Template. See Core concepts.

Next steps

On this page