GuestKit
Offline VM intelligence and migration assurance.
Score boot readiness before power-on, repair disks offline, and certify cutover with a Passport.
Book a demo · Start a 30-day PoC · 30-day Enterprise trial
Quick start · Gallery · Docs · Product · Wiki · FluxVM · h2kvm
Know it will boot. Before you power it on.
GuestKit reads a VM disk while the guest is off — qcow2, VMDK, VHDX, VHD, VDI or raw — through its own pure-Rust engine (NBD or loop mount). There is no appliance daemon and no "power it on and see". It scores first-boot probability 0–100, explains the blockers, and writes a reviewable fix plan.
Fixes are never implicit. Repairs go through a plan you can read, applied with backups and rollback, and the same score drives the CI gate, the signed Cutover Passport, and assured QEMU launch.
The bundled OSS web console rendering its offline demo data, not a live deployment. More in the gallery.
|
Boot-readiness scoring First-boot probability 0–100, the blockers explained, and a reviewable fix plan. The cutover problem |
Offline repair Repairs go through a plan you can read, applied with backups and rollback. What you can do |
Migration assurance The same score drives the CI gate, the signed Cutover Passport and assured QEMU launch. Quick start |
|
Engine and formats A pure-Rust engine over qcow2, VMDK, VHDX, VHD, VDI and raw, through NBD or loop mount. Platform layout |
Suite hand-offs Export with Transiva, convert and deploy with h2kvm, assure with GuestKit, operate on Zorvia or Zeus OS. Who does what |
CLI, TUI, web, CI CLI, TUI, QEMU, Python, web console, in-guest agent and a GitHub Action. Run the web stack |
70+ commands · 6 disk formats · 0 appliance daemons · 8 migration targets · Apache-2.0
60-second quick start
# v1.2.5 GitHub Release — crates.io `guestkit` is still 0.3.2
curl -fsSL -O https://github.com/zyvorai/guestkit/releases/download/v1.2.5/guestkit-1.2.5-linux-amd64.tar.gz
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
guestkit-qemu plan vm.qcow2 --json # assurance → QEMU definition
CI gate — same score, no CLI install step:
- uses: zyvorai/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+), on PyPI: pip install zyvor-guestkit, then guestkit.run_doctor("vm.qcow2", target="kvm", explain=True). The full quick start, shrink and Python examples: docs/quick-start.md.
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.
disk.qcow2 / .vmdk / .vhdx / .vhd / .vdi / .raw
│
▼
┌──────────────────────┐
│ Pure-Rust engine │──► doctor 0–100 + blockers
│ NBD / loop mount │──► migrate-plan YAML
└──────────────────────┘──► Passport · repair · CI gate
│ guestkit-qemu (assured launch)
CLI · TUI · QEMU · Python · Web · Agent · GitHub Action
Export with Transiva (Apache-2.0) → convert & deploy with h2kvm (Zyvor Production License) → assure with GuestKit (Apache-2.0) → operate on Zorvia or Zeus OS. Run and manage VMs with FluxVM. Who does what · h2kvm integration
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 |
| Migration order guessed by hand | fleet wave-plan — dependency-aware waves |
The full comparison has four more rows.
Open source, Enterprise
Open source — free under Apache-2.0. This repo · personal, lab, and commercial production. Full offline doctor, migrate-plan, repair, fleet, policy · CLI · TUI · Python · self-hosted web/workers.
Enterprise — buy for programs. Same engine — not a locked doctor. Command Center · Portfolio · Assurance · Migration Factory · Passport Authority · OIDC / RBAC / audit · SLA · air-gap · hypervisor exit workshops.
Open source vs Enterprise · Full feature matrix · 30-day Enterprise trial · Pricing
Trial expired or want a guided evaluation? Book a demo or start a 30-day PoC — no email needed. sales@zyvor.dev remains as a fallback.
Documentation
| Goal | Document |
|---|---|
| Docs site | zyvorai.github.io/guestkit |
| Docs home | docs/README.md · INDEX |
| DevOps runbooks | docs/devops |
| Feature guide | guestkit-user-feature-guide.md |
| h2kvm integration | h2kvm integration |
| QEMU / VirtIO runtime | qemu-runtime.md |
| Dump virsh → GuestKit | virsh-to-guestkit.md |
| Architecture | overview |
The complete map, with the changelog and roadmap, is in docs/documentation-map.md.
Go deeper
- Gallery: console screenshots and demo videos — docs/gallery.md.
- Who does what: the suite split and the libvirt/virsh map — docs/who-does-what.md.
- h2kvm integration: docs/h2kvm-at-a-glance.md.
- What you can do: assure, plan, certify, repair, launch — docs/capabilities.md.
- Free web stack (GHCR): docs/web-stack-ghcr.md.
- Open source vs Enterprise: docs/oss-vs-enterprise.md.
- Platform layout: docs/platform-layout.md.
- Repository: docs/repository-layout.md.
- Prerequisites and build: docs/prerequisites-and-build.md;
docs/and this README are authoritative.
License
Commercial subscriptions and support: see docs/SUBSCRIPTION-MODEL.md.
Open source (Apache-2.0)
This repository is licensed under the Apache License, Version 2.0.
You may use, modify, and run it for personal, lab, and commercial production
use at no charge, subject to Apache-2.0 (preserve notices / NOTICE where required).
See NOTICE and docs/legal/ where applicable.
Enterprise
Production support, SLAs, and Zyvor Enterprise products are licensed separately. Book a demo, start a 30-day PoC, or see zyvor.dev. Email sales@zyvor.dev as a fallback.
More at zyvor.dev/guestkit · docs · blog
Metadata
Release files for zyvor-guestkit 1.2.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| zyvor_guestkit-1.2.5.tar.gz | 7.4 MB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zyvor_guestkit-1.2.5-cp38-abi3-manylinux_2_39_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.39+ x86-64 | Details |
| zyvor_guestkit-1.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.8 | abi3 | Linux glibc 2.17+ x86-64 | Details |
Total release size: 12.4 MB
Release files / zyvor_guestkit-1.2.5.tar.gz
| Download URL | zyvor_guestkit-1.2.5.tar.gz |
|---|---|
| Size | 7.4 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
dd728817007f518b84156cf0233b3bab958e80e6f36f2b3b812532c645305c0c
|
|
BLAKE2b-256 checksum How to use checksums |
9fa5e8d74802ab8ebbee5863a5730e4b31d65b8e3aed94d71db450b8aee010fb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / zyvor_guestkit-1.2.5-cp38-abi3-manylinux_2_39_x86_64.whl
| Download URL | zyvor_guestkit-1.2.5-cp38-abi3-manylinux_2_39_x86_64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.8 Linux glibc 2.39+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
816a3b8c5c7d3ca049b38aebcd189f6ef37f4a6409a858837f7aa0085b5e9874
|
|
BLAKE2b-256 checksum How to use checksums |
c04971ec4ab88cb26285ca9314a5c29978168aca19c3c2363193ff114ab8271c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
maturin/1.15.0
|
Release files / zyvor_guestkit-1.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | zyvor_guestkit-1.2.5-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 2.5 MB |
| Tags | CPython 3.8 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
da79b2fda934c5bc719925c56499c49a1094224a3aa3c4f4bcd15b1e41d4f189
|
|
BLAKE2b-256 checksum How to use checksums |
fd044e4fb9f898bcfb316041847d3eb22573842122aa9a01b207f24a2a97bd85
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|