Skip to main content

GuestKit

Offline VM intelligence. Migration assurance you can prove.
Score boot readiness before power-on · repair disks offline · certify cutover with a Passport

CI crates.io PyPI Apache-2.0 GHCR

Product · Demos · Quick start · h2kvm · Wiki · Open source vs Enterprise · 30-day Enterprise trial · Book a demo


The cutover problem — solved offline

Every hypervisor exit fails the same way: you discover the disk was broken at 2am, in the cutover window, after power-on.

GuestKit reads the disk while the guest is off, scores first-boot probability 0–100, and emits a reviewable fix plan — no appliance daemon, no “just try it and hope.”

  disk.qcow2 / .vmdk / .vhdx / .vhd / .vdi / .raw
                    │
                    ▼
         ┌──────────────────────┐
         │  Pure-Rust engine    │──►  doctor 0–100 + blockers
         │  NBD / loop mount    │──►  migrate-plan YAML
         └──────────────────────┘──►  Passport · repair · CI gate
                    │
      CLI · TUI · Python · Web · Agent · GitHub Action
70+ commands 6 disk formats
**0 appliance daemons 8 migration targets
Apache-2.0 Used in CI, labs, and hypervisor-exit programs

Certify with GuestKit → convert & deploy with h2kvm → operate on Zeus OS.


See it in action

GuestKit CLI and TUI demo
▶ CLI & TUI

Offline VM intelligence, explained
GuestKit web dashboard overview
▶ Web Dashboard — Overview

Server Image Vault, live KubeVirt cluster
GuestKit web dashboard deep dive
▶ Web Dashboard — Deep Dive

Sources, live cluster, one-click intelligence
Machina × GuestKit live guest-agent UX
▶ Machina × GuestKit

Live Linux guest agent — health, TRIM, netplan, services

Recorded live against real deployments — no staged screenshots.


Why teams switch

Before GuestKit With GuestKit
“Will it boot?” answered at power-on Offline doctor score + root-cause chain
guestkit scripts and tribal knowledge Structured plans, JSON/YAML, CI gates
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 waves
Deep inspect needs a running guest Carbon TUI + in-guest agent over QGA

60-second quick start

cargo install guestkit          # guestkit + guestctl

guestkit doctor vm.qcow2 --target proxmox --explain
guestkit migrate-plan vm.vmdk --target kvm --export plan.yaml
guestkit passport emit vm.qcow2 --target kvm -o passport.json
guestctl tui vm.qcow2           # Assurance · preview · export

CI gate — same score, no CLI install step:

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

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

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

Python (v1.1.0+)

Same assurance engine as CLI — used by h2kvm offline fixer:

pip install "hypersdk-guestkit>=1.1.0"
import guestkit

guestkit.run_doctor("vm.qcow2", target="kvm", explain=True)
guestkit.run_migrate_repair("vm.qcow2", target="kvm", apply=False)  # dry-run
guestkit.run_migrate_repair("vm.qcow2", target="kvm", apply=True)   # apply fixes

See python-bindings.md and examples/python/assurance_doctor.py.

You want… Go here
First hour Getting started
Python assurance APIs python-bindings.md
h2kvm pipeline hyper2kvm-integration.md
Remote SSH deploy DEPLOY-REMOTE.md
Cheat sheet Quick reference
Full feature map Customer feature guide
Open source vs Enterprise ce-vs-enterprise.md

h2kvm integration

GuestKit provides offline disk intelligence; h2kvm provides hypervisor-to-KVM conversion and deploy. Together:

  guestkit doctor / migrate-plan     ← pre-flight score + fix plan
              │
              ▼
  h2kvmctl local --backend guestkit  ← convert + run_migrate_repair
              │
              ▼
  libvirt · KubeVirt · OpenStack
# Pre-flight
guestkit doctor source.vmdk --target kvm --explain
guestkit migrate-repair source.vmdk --target kvm --apply

# Convert + deploy
h2kvmctl local --vmdk source.vmdk --to-output out.qcow2 --backend guestkit --libvirt-import

Deploy both to a lab host:

GUESTKIT_ZYVOR_ACCEPT=1 ./scripts/deploy-remote.sh HOST user --quick --key   # GuestKit CLI
cd /path/to/h2kvm && ./scripts/deploy-remote.sh HOST user --keep-sources      # h2kvm

Full guide: hyper2kvm-integration.md


What you can do

Assure · plan · certify

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

Repair offline (no boot required)

guestkit plan generate disk.qcow2 -p linux-ssh --user ubuntu --key-file ~/.ssh/id_ed25519.pub
guestkit rescue disk.qcow2 -o enable-ssh
guestkit rescue disk.qcow2 -o fix-grub --force
guestkit rescue win.qcow2 -o reset-password --user Administrator --password '…'
guestkit plan apply plan.yaml --vm disk.qcow2 --yes     # backups + rollback

Live control · platform · AI

  • In-guest agent (Linux + Windows) over virtio-serial / QGA — inject offline, then agent-proxy / agent-call
  • Optional AI (--features ai) — read-only tool-calling over the offline evidence snapshot; MCP server via --features mcp
  • KubeVirt boot-inspect hooks and Guest Control Fabric
  • Web console + worker on GHCR · Helm under deploy/helm/zyvor
  • Python: pip install hypersdk-guestkitimport guestkit + run_doctor / run_migrate_repair (v1.1.0+)

Run the free web stack (GHCR)

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

Image Role
ghcr.io/hypersdk/zyvor-ui Web console — Image Vault, KubeVirt cluster
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


Open source vs Enterprise

Open source — free forever

This repo · Apache-2.0

  • Full offline doctor, migrate-plan, repair, fleet, policy
  • CLI · TUI · Python · self-hosted web/workers
  • GitHub Action Passport gate
  • Free zyvor-ui Image Vault dock
  • Best for labs, CI, and small fleets

Enterprise — buy for programs

zyvor.dev/guestkit

  • Same engine — not a locked doctor
  • Command Center · Portfolio · Assurance
  • Image Vault (inspect/doctor/repair/migrate-plan, sources, batch, launch YAML, agent)
  • Migration Factory · Passport Authority (+ JSON download)
  • Dependencies · Policies · Compliance · Reports (JSON/CSV)
  • Sites & Workers · KubeVirt · Integrations · Copilot · Admin
  • OIDC / RBAC / audit · mobile console · command palette
  • SLA · air-gap · hypervisor exit workshops
  • Pipeline: HyperSDK → h2kvm → GuestKit → Zeus OS → PacketWolf

One failed first-boot weekend costs more than the license.
Enterprise turns offline scores into shared, gated decisions your board can fund.

30-day Enterprise trial (binary)

Try the control plane before you buy — same packaging pattern as Veyron:

  1. Download the trial asset from GitHub Releases (guestkit-enterprise-*-trial-linux-amd64.tar.gz)
  2. Verify the .sha256, extract, run ./install.sh
  3. Keep bundled trial.token next to the install — after 30 days email sales@zyvor.dev

Full install instructions →

Full feature matrix (every screen) → · What Zyvor sells → · Book a demo · Pricing · sales@zyvor.dev


Platform layout

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

Documentation

Goal Document
Operator wiki hypersdk/guestkit/wiki
Docs home docs/README.md · INDEX
DevOps runbooks docs/devops
Feature guide guestkit-customer-feature-guide.md
Docker / GHCR DOCKER.md
Remote deploy DEPLOY-REMOTE.md
h2kvm integration hyper2kvm-integration.md
Architecture overview
Changelog / roadmap CHANGELOG · roadmap

zyvor.dev/guestkit · docs · blog


Development

cargo build --release
cargo test

See CONTRIBUTING and CI under .github/workflows/. docs/ and this README are authoritative.


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.1.0.tar.gz (6.0 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.1.0-cp38-abi3-manylinux_2_39_x86_64.whl (2.4 MB view details)

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

hypersdk_guestkit-1.1.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

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

File details

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

File metadata

  • Download URL: hypersdk_guestkit-1.1.0.tar.gz
  • Upload date:
  • Size: 6.0 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.1.0.tar.gz
Algorithm Hash digest
SHA256 f0a44ce9973c5a6df0840d4f17fe32c366d21e19863acf50c2b75d7f72d9f639
MD5 2acc3afb594ce9a1296395ff3a715583
BLAKE2b-256 3cbe56777e4e5b05c9f70cbaf318413b0cc2fd70dc57fe743e1e5581b7f19647

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-1.1.0-cp38-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 845a6a7bbcaf45d39a5842064782bc4dc65f0b310062fb6f32d28c09f1207e1c
MD5 6957bf1e744cdbe1fd5e864b4f968f86
BLAKE2b-256 e50ef6b0841e960c7e14345c9eb25a96bc2e686cf1bfa59246d88582e6360184

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-1.1.0-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d96f3910f03a0e867267344674f8c57cc0492a66932ce2265ba0916bc4f0d3f3
MD5 34b5ab2bde29ad7f904b1b38a57b2323
BLAKE2b-256 7fdac1c19365682ea6ff7f6bea84e62382a15cad5248a1f57c41b9850c0d066a

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

This release

1.1.0 This release

3 files

1.0.1

3 files

1.0.0

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