thin guest vm image for agentcomputer https://agentcomputer.ai
Find a file
Hari 5e969590a4 host api alignment (#7)
* feat: add Firecracker API client methods for VM pause/resume and snapshots

Add PatchVm, GetVm, PutSnapshotCreate, and PutSnapshotLoad methods to the
API client, along with supporting types (VmState, SnapshotCreateParams,
SnapshotLoadParams, MemBackend).

* feat: add snapshot data layer - contract types, model, store, config

Add SnapshotID and snapshot contract types, SnapshotRecord model,
store interface CRUD methods with file store implementation,
snapshot paths helper, SnapshotsDir config, and directory creation.

* feat: add runtime methods for VM pause, resume, snapshot, and restore

Implement Pause, Resume, CreateSnapshot, and RestoreBoot on the
firecracker Runtime. RestoreBoot launches a jailer, stages snapshot
files into the chroot, loads the snapshot, and resumes the VM.

* feat: add daemon snapshot create, restore, and reconciliation logic

Implement CreateSnapshot (pause, snapshot, COW-copy disk, resume),
RestoreSnapshot (COW-copy disk, RestoreBoot, wait for guest),
GetSnapshot, ListSnapshots, DeleteSnapshotByID, and crash recovery
reconciliation for snapshot and restore operations.

* feat: add HTTP endpoints for snapshot create, get, list, delete, restore

Wire 5 snapshot routes: POST /machines/{id}/snapshots (create),
GET /machines/{id}/snapshots (list), GET /snapshots/{id} (get),
DELETE /snapshots/{id} (delete), POST /snapshots/{id}/restore (restore).

* fix: cross-device rename, restore network, and snapshot cleanup

- Replace os.Rename with copy+remove for moving snapshot files out of
  /proc/<pid>/root/ (cross-device link error on Linux)
- Reconfigure network interface after snapshot load so the restored VM
  uses its own tap device instead of the source VM's
- Clean partial snapshot dirs immediately on failure instead of only
  via reconcile
- Reject snapshot requests while a machine operation is already pending

* fix: test and modify snapshot runtime

* feat: snapshot lifecycle update, align runtime issues between host image
and daemon
2026-04-08 22:21:46 -04:00
defaults host api alignment (#7) 2026-04-08 22:21:46 -04:00
terminfo feat: guestOS docker config (#3) 2026-04-08 12:30:04 -04:00
Dockerfile feat: preloaded-packages and bundle (#5) 2026-04-08 17:38:27 -04:00
microagent-desktop-session.sh fix: supervise guest init and desktop services 2026-04-08 14:02:14 -04:00
microagent-init.sh feat: update pure prompt zsh naming nad other guest os files (#6) 2026-04-08 18:19:41 -04:00
microagent-network-up.sh feat: update pure prompt zsh naming nad other guest os files (#6) 2026-04-08 18:19:41 -04:00
README.md feat: guestOS docker config (#3) 2026-04-08 12:30:04 -04:00
sshd_config feat: guestOS docker config (#3) 2026-04-08 12:30:04 -04:00

Guest Image

This directory is a selective extraction point from the old agentcomputer/docker/computer guest.

It is intentionally not a wholesale copy.

The first version only targets the minimal microagentcomputer guest contract:

  • SSH on 2222
  • browser desktop access on 6080
  • user root access via sudo

The goal here is to keep the guest small, explicit, and easy to reason about, while still reusing the proven parts of the old image where they are actually useful.

Import Rules

Keep:

  • SSH server configuration
  • desktop packages needed for a visible session
  • x11vnc
  • noVNC and websockify
  • entropy support

Do not import yet:

  • sandbox-agent
  • agent-ui
  • workspace/runtime shims
  • old AgentComputer bootstrap services
  • old multi-port service surface

Expected Ports

  • 2222 for SSH
  • 6080 for browser VNC

Runtime Shape

The guest is expected to boot from a normal Firecracker kernel plus rootfs and start through a small custom init script rather than the older AgentComputer runtime stack. That PID 1 helper is responsible for:

  • bringing up guest networking
  • starting SSH and desktop services
  • staying alive as the runtime supervisor for the VM