From 5e969590a43031695a284ed6e420e80d5b7f1b5e Mon Sep 17 00:00:00 2001 From: Hari <73809867+harivansh-afk@users.noreply.github.com> Date: Wed, 8 Apr 2026 22:21:46 -0400 Subject: [PATCH] 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//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 --- defaults/.bashrc | 10 +++++----- defaults/.zshrc | 10 +++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/defaults/.bashrc b/defaults/.bashrc index 54b5cae..3b2c3aa 100644 --- a/defaults/.bashrc +++ b/defaults/.bashrc @@ -5,14 +5,14 @@ esac computer_prompt_base_name() { local name="" - if [ -n "${COMPUTER_NAME:-}" ]; then - name="${COMPUTER_NAME}" - elif [ -n "${COMPUTER_HANDLE:-}" ]; then - name="${COMPUTER_HANDLE}" - elif [ -r /etc/microagent/machine-name ]; then + if [ -r /etc/microagent/machine-name ]; then IFS= read -r name