§03 — Exo Operator

Runtime images

The operator doesn't run your agents itself — it launches pods from a set of adaptivelive/* images. Here's the full matrix and how to repoint any of it.

5 min read·Set by Exo Editorial·v0.3.0 Beta

When the operator reconciles a CR it creates pods from published images. The manager image is one; the rest are launched on demand based on an Agent's runtime and session recording. Knowing the matrix matters for capacity planning and for air-gapped mirroring.

Operator-launched infrastructure

infra images· text
1Component Default image (under adaptivelive/) Override env var
2───────── ─────────────────────────────────── ────────────────
3Manager agentkube-manager AGENTKUBE_IMAGE_MANAGER
4Agentlet (per run) agentkube-agentlet AGENTKUBE_IMAGE_AGENTLET
5Session recorder agentkube-session-recorder AGENTKUBE_IMAGE_SESSION_RECORDER

The agentlet is the sidecar/wrapper that runs inside an Agent and drives the runtime CLI; the session recorder captures the asciicast stream.

Agent runtimes

An Agent's spec.runtime selects which coding-agent image the pod runs. Each has a pinned tag and a token env var the operator wires from the Agent's agentToken Secret.

runtime images· text
1runtime image (adaptivelive/) token env override
2─────── ───────────────────── ───────── ────────
3ClaudeCode claudecode ANTHROPIC_API_KEY AGENTKUBE_IMAGE_CLAUDECODE
4Codex codex OPENAI_API_KEY AGENTKUBE_IMAGE_CODEX
5OpenCode opencode OPENCODE_API_KEY AGENTKUBE_IMAGE_OPENCODE
6Aider aider OPENAI_API_KEY AGENTKUBE_IMAGE_AIDER
7Cline cline ANTHROPIC_API_KEY AGENTKUBE_IMAGE_CLINE
8Goose goose OPENAI_API_KEY AGENTKUBE_IMAGE_GOOSE
9Cursor cursor CURSOR_API_KEY AGENTKUBE_IMAGE_CURSOR
10Custom (you supply spec.image) — —

Overriding images

Three levers, in precedence order:

  • Per resource. An Agent's spec.image (or a Tool's custom image) wins for that object.
  • Per image, cluster-wide. The AGENTKUBE_IMAGE_* env vars above, set on the manager Deployment, override one image verbatim.
  • Registry prefix. AGENTKUBE_IMAGE_REGISTRY rewrites every default ref onto your mirror.