Skip to main content

GuestKit

Offline VM intelligence. Migration assurance you can prove.

Score boot readiness before power-on. Generate reviewable fix plans. Repair disks offline. Certify cutover with a signed Passport — then hand off to hyper2kvm / HyperSDK.

CI Crates.io PyPI License GHCR

Demos · Wiki · Feature guide · Quick start · GHCR · Docs · zyvor.dev

  disk.qcow2 / .vmdk / .vhdx
           │
           ▼
   ┌───────────────────┐     doctor 0–100     migrate-plan YAML
   │  Pure-Rust engine │ ──────────────────►  passport emit
   │  NBD/loop mount   │     rescue / plan apply (offline)
   └───────────────────┘
           │
     CLI · TUI · Python · Web · Agent

70+ commands · 6 disk formats · 0 libguestfs appliances · 8 migration targets · Apache-2.0


See it in action

Machina × GuestKit live guest-agent UX
Machina × GuestKit
Live Linux guest agent — health, TRIM, netplan, services
GuestKit CLI and TUI demo
CLI & TUI
Offline VM intelligence, explained
GuestKit web dashboard tour
Web Dashboard Tour
Server Image Vault, live KubeVirt cluster
GuestKit web dashboard tutorial
Web Dashboard Tutorial
Sources, live cluster, one-click intelligence

Recorded live against real deployments — no staged screenshots.


Why teams use it

Before GuestKit With GuestKit
“Will it boot?” answered at power-on Offline doctor score + root-cause chain
guestfish scripts and tribal knowledge Structured plans, JSON/YAML, CI gates
Migration surprises on cutover weekend Hypervisor-aware migrate-plan + day-0 packs
No audit trail MTV / virt-v2v can skip Signed Cutover Passport
Fleet drift invisible until outage fleet analyze/watch, forensic diff, policy-as-code
Migration order guessed by hand fleet wave-plan — dependency-aware migration waves
Deep inspect needs a running guest Carbon TUI + in-guest agent over QGA

Pairs with: hyper2kvm for VMware → KVM. GuestKit certifies; hyper2kvm converts.


What you can do

Assurance before cutover

guestkit doctor vm.qcow2 --target proxmox --explain
guestkit migrate-plan vm.vmdk --target proxmox --export plan.yaml
guestkit passport emit vm.qcow2 --target kvm -o passport.json
guestkit passport verify passport.json --fail-below 80

Targets: kvm · proxmox · qemu · aws · azure · gcp · cloud · hyperv

GitHub Actions: gate conversion on the same score, no CLI install step — see action.yml and the runbook at docs/devops/01-passport-ci-gate.md.

- uses: hypersdk/guestkit@v1
  with:
    disk: vm.qcow2
    target: kvm
    fail-below: '80'

Offline repair (no boot required)

# Day-0 plans
guestkit plan generate win.qcow2 -p windows-rdp -o rdp.yaml
guestkit plan generate win.qcow2 -p windows-domain-leave --workgroup WORKGROUP
guestkit plan generate disk.qcow2 -p linux-ssh --user ubuntu --key-file ~/.ssh/id_ed25519.pub

# Rescue shortcuts
guestkit rescue disk.qcow2 -o enable-ssh
guestkit rescue disk.qcow2 -o fix-grub --force          # BIOS or UEFI ESP
guestkit rescue win.qcow2 -o reset-password --user Administrator --password '…'
# → AES/RC4 SAM NT-hash when registry-write is built; RunOnce fallback

guestkit plan apply plan.yaml --vm disk.qcow2 --yes     # backups + rollback

PackageInstall can stage from cache, host-fetch (GUESTKIT_PACKAGE_FETCH=1), or HTTP mirror (GUESTKIT_PACKAGE_MIRROR). Service enable/disable and CommandExec stage first-boot oneshots when chroot can’t run them live.

Live control + platform

  • In-guest agent (Linux + Windows) over virtio-serial / QGA — inject offline, then agent-proxy / agent-call
  • AI copilot (optional, --features ai) — read-only tool-calling loop over the offline evidence snapshot: doctor --explain --ai, migrate-plan --ai. Native tool-calling for OpenAI (rig-core), cross-run memory across repeated runs on the same VM, and an MCP server (guestkit mcp-serve, --features mcp) for external hosts like Claude Desktop. OpenAI/xAI/Anthropic/Ollama. Not the in-guest agent above — see AI Guest Agent roadmap
  • KubeVirt boot-inspect hooks and Guest Control Fabric
  • Web console + worker on GHCR; Helm chart under deploy/helm/zyvor
  • Python: pip install hypersdk-guestkitfrom guestkit import Guestfs

Full map: Customer Feature Guide (PDF) · Customer manuals


Quick start

cargo install guestkit          # installs guestkit + guestctl

guestkit doctor vm.qcow2 --target proxmox --explain
guestkit migrate-plan vm.vmdk --target proxmox --export plan.yaml
guestctl tui vm.qcow2           # Assurance · preview · export
You want… Go here
First hour Getting started
Command cheat sheet Quick reference
CLI depth CLI guide
Migration story Migration assurance
Fix plans / rescue Fix plans
Guest agent Guest agent
CE vs Enterprise ce-vs-enterprise

Host needs: Linux with qemu-img, losetup, and qemu-nbd (mount/repair may need root).


Run from GHCR

Public images under ghcr.io/hypersdk — no docker login required.

Image Role
ghcr.io/hypersdk/zyvor-ui Web console
ghcr.io/hypersdk/zyvor-api API
ghcr.io/hypersdk/guestkit-worker Disk-inspection worker
docker compose -f deploy/docker-compose.ghcr.yml pull
docker compose -f deploy/docker-compose.ghcr.yml up -d
open http://localhost:8088

Eval only — unauthenticated stack. Do not expose beyond localhost.
Production: deploy/docker-compose.prod.example.yml · Docker guide · Helm

Default console login for packaged installs is documented in remote deploy — change it before any network exposure.


Platform layout

Layer In this repo
Engine Pure-Rust parsers + evidence schema · NBD/loop mount (src/, crates/)
CLI / TUI guestkit · guestctl — doctor, passport, fleet, rescue, carbon TUI
Agent Linux + Windows · protocol 1.3 · agent-inject / agent-proxy
Python hypersdk-guestkit
K8s KubeVirt hooks · k8s/
Web / worker GHCR images · deploy/
┌────────────────────────────────────────────────────────────┐
│  guestkit CLI · guestctl TUI · Python · Web · Agent        │
├────────────────────────────────────────────────────────────┤
│  Rust evidence engine · boot scoring · fix-plan apply      │
├────────────────────────────────────────────────────────────┤
│  JSON · YAML · HTML · PDF · Passport · CI exit codes       │
└────────────────────────────────────────────────────────────┘

Documentation

Goal Document
Operator wiki hypersdk/guestkit/wiki
Docs home docs/README.md · INDEX
DevOps runbooks docs/devops — Passport CI, workers, air-gap, fleet, cutover, triage
Feature guide (all areas) guestkit-customer-feature-guide.md
Docker / GHCR DOCKER.md
Remote deploy DEPLOY-REMOTE.md
Architecture overview
User stories / industry USER_STORIES · INDUSTRY_USE_CASES
Changelog / roadmap CHANGELOG · roadmap

zyvor.dev/guestkit · Full Zyvor platform


Development

cargo build --release
cargo test

See CONTRIBUTING and CI under .github/workflows/. docs/ and this README are authoritative over any historical build notes in the tree.


License

Apache-2.0 · additional notes in docs/legal/ where applicable.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hypersdk_guestkit-1.0.0.tar.gz (5.6 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

hypersdk_guestkit-1.0.0-cp38-abi3-manylinux_2_39_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.39+ x86-64

hypersdk_guestkit-1.0.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.8 MB view details)

Uploaded CPython 3.8+manylinux: glibc 2.17+ x86-64

File details

Details for the file hypersdk_guestkit-1.0.0.tar.gz.

File metadata

  • Download URL: hypersdk_guestkit-1.0.0.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hypersdk_guestkit-1.0.0.tar.gz
Algorithm Hash digest
SHA256 da93370d839dde329bf998bf390757a87c2985aa5f8a19e3f42c219728267812
MD5 32eede78b38b137f2e2b187f943fe9aa
BLAKE2b-256 5b687d52f03cab58211018332f4564edb8e442c93ab1d0e54d759fd37e2496f8

See more details on using hashes here.

File details

Details for the file hypersdk_guestkit-1.0.0-cp38-abi3-manylinux_2_39_x86_64.whl.

File metadata

File hashes

Hashes for hypersdk_guestkit-1.0.0-cp38-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6c5c1182b554b41944e104413219d6571243b50a20f0195879bdce14dc6c3054
MD5 df1b99cd120b656c9e0325d16efa1613
BLAKE2b-256 c6183d8eb1d71bf6a97022de7f33ab49627df7af1e7a9430221b48fd979d532f

See more details on using hashes here.

File details

Details for the file hypersdk_guestkit-1.0.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for hypersdk_guestkit-1.0.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32b1437a610d168f317fe1b55ae2455b77fceb90bed6a57858421f35541b354a
MD5 e10953549a08d3e7fa4a8041c9f72647
BLAKE2b-256 f22b7204497921f9e5e029c8cb3ca643213c44efac7341c3e7e3dc038c8e7c94

See more details on using hashes here.

Release history Release notifications | RSS feed

1.2.2

3 files

1.2.1

2 files

1.2.0

2 files

1.1.0

3 files

1.0.1

3 files

This release

1.0.0 This release

3 files

0.3.20

3 files

0.3.19

3 files

0.3.18

3 files

0.3.17

3 files

0.3.15

5 files

0.3.14

1 file

0.3.13

1 file

0.3.12

1 file

0.3.11

1 file

0.3.9

3 files

0.3.3

3 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page