Skip to content

Environments

An environment is a named sandbox profile: where an agent runs and how big it is. A template's role names one (vm: medium).

Field Meaning
name What templates call it.
provider firecracker (microVMs on a host running vmd) or nevia (Aiven's computers).
profile The provider's own size name.
vcpus, memory_mib, disk_gib The size, where the provider takes one.
checkpoint_id For Nevia, the golden checkpoint a new computer is restored from.
idle_after_seconds, deep_sleep_after_seconds When an idle agent is snapshotted and when it goes into deep sleep.
image Read only. A Firecracker VM boots the current image build (GET /images); the environment does not choose it.
used_by How many current agent and template versions name it.

Rules

  • Editing an environment changes none of its users: a template version copies the environment's values when the version is created, and a team copies them from its template. To roll a change out, create a template version, then refresh the teams.
  • Deleting is refused with 409 while something uses it.
  • Reading is open to every role; changing environments is for admins (POST /environments, PUT /environments/{name}, DELETE /environments/{name}).
  • Images and Nevia checkpoints are listed read-only under GET /images and in the Console's Images view.

Sleep

An idle agent is snapshotted to disk and its VM process stops (on Nevia the computer sleeps), so it uses no CPU or memory. New work wakes it from the snapshot, or cold-boots it from its disk when the snapshot cannot be used. Snapshots are bound to their host, so a cold boot is the fallback and conversations that were running come back as errors; nothing restarts them for you.

Providers

Both providers sit behind one sandbox-provider interface, so a team does not change when its environment moves from one to the other. What each needs: deployment; the measured wake times and the isolation model: architecture, Agent microVMs.