Skip to main content

GuestKit

Offline VM intelligence and migration assurance.

CI Crates.io PyPI License

🎬 Demos · 📖 Feature Guide · ⚡ Quick Start · 🐳 Run from GHCR · 📚 Docs

🎬 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

All four recorded live against real deployments (Machina KVM host + Forge lab) — no staged screenshots. Click a thumbnail to watch on YouTube.


📖 Feature Guide

GuestKit — Customer Feature Guide — a complete, customer-facing reference covering all 63 features across 10 areas, grounded in the product's actual capabilities. Also available as a print-ready PDF.

Customer manual (page-by-page) — getting started, admin basics, and a guide for every product surface (PDFs under docs/customer/pdf/).

Inspect QCOW2, VMDK, and RAW images without powering them on. Score boot readiness, generate hypervisor-aware fix plans, and explore disks from a carbon-themed TUI — Rust control plane, no libguestfs appliance (uses host NBD/loop for mount).

┌──────────────────────────────────────────────────────────────┐
│  Interfaces   guestkit CLI · guestctl TUI · Python bindings  │
├──────────────────────────────────────────────────────────────┤
│  Engine       Rust parsers + boot scoring · NBD/loop mount layer   │
├──────────────────────────────────────────────────────────────┤
│  Outputs      JSON · YAML · HTML · PDF · CI gate artifacts   │
└──────────────────────────────────────────────────────────────┘

Why GuestKit

Problem GuestKit answer
"Will it boot?" answered at power-on Offline doctor score before cutover
guestfish scripts don't scale Structured assurance APIs + exports
Migration surprises cost weekends Fix plans with driver injections
Fleet drift is invisible fleet analyze and forensic diff
No VM boot for deep inspection Carbon TUI explores partitions in place

Pairs with: hyper2kvm for VMware → KVM pipelines.


🆕 What's New — In-Guest Agent

GuestKit now runs inside the guest too, not just offline against the disk — same evidence schema, same fix-plan format, over the existing virtio-serial QGA channel.

  • Offline Windows install, no boot requiredagent-inject --windows writes the GuestKitAgent service and the virtio-serial (vioser) driver straight into the SYSTEM hive via hivex.
  • Stock qemu-guest-agent gets out of the way automatically — any QEMU-GA/qemu-ga/QEMUGuestAgent service found is disabled so GuestKit answers the channel uncontended, while still speaking QGA-compatible commands so KubeVirt/libvirt notice nothing.
  • Converted-image driver fix — deletes the stale cached PCI devnode so Windows re-detects the virtio-serial device and runs a full driver install on next boot, instead of staying stuck on "no driver."
  • Generic QGA passthroughguestkit-rpc exposes every agent RPC method through the standard QGA channel, so host-side automation needs only virsh qemu-agent-command.

Details, protocol reference, and the Linux path: docs/features/guest-agent.md · Protocol 1.3


Platform at a Glance

Layer What's in the repo
Core Rust disk engine + assurance APIs — crates/, src/
CLI guestkit + guestctl — doctor, migrate-plan, fleet
In-guest agent Linux + Windows, protocol 1.3 — agent-inject, agent-proxy, agent-call
TUI Carbon-themed multi-view dashboard
Python hypersdk-guestkit on PyPI
K8s KubeVirt integration hooks — k8s/
Web stack Prebuilt GHCR images — ghcr.io/hypersdk/{zyvor-ui,zyvor-api,guestkit-worker}
Deploy Docker/Helm, remote deploy scripts — deploy/

Quick Start

cargo install guestkit   # guestkit + guestctl

guestkit doctor vm.qcow2 --target proxmox --explain
# → boot assurance score · blockers · root-cause chain

guestkit migrate-plan vm.vmdk --target proxmox --export plan.yaml
# → migration score · driver injections · fix plan

guestctl tui vm.qcow2
# → carbon TUI · Assurance · fix-plan preview
Scenario Path
Getting started docs/user-guides/getting-started.md
CLI reference docs/user-guides/cli-guide.md
Migration assurance docs/features/migration-assurance.md
In-guest agent (Linux + Windows) docs/features/guest-agent.md
CE vs Enterprise docs/ce-vs-enterprise.md

Web console: self-hosted via GHCR or Helm. First-login credentials for packaged installs are documented in remote deploy — change defaults before exposing to a network.


Run from GHCR (prebuilt images)

The web stack is published to the GitHub Container Registry under ghcr.io/hypersdkpublic images, no docker login required.

Image Role
ghcr.io/hypersdk/zyvor-ui Web console + login
ghcr.io/hypersdk/zyvor-api API backend
ghcr.io/hypersdk/guestkit-worker Disk-inspection worker

Tags: latest, vX.Y.Z (e.g. v0.3.13), per-commit SHA. Bring the whole stack up straight from GHCR:

docker compose -f deploy/docker-compose.ghcr.yml pull
docker compose -f deploy/docker-compose.ghcr.yml up -d
open http://localhost:8088          # web console

Eval only: this stack runs without authentication. Do not expose it beyond localhost. For production, use deploy/docker-compose.prod.example.yml — see Docker guide.

For clusters, use the Helm chart. Full details: docs/guides/DOCKER.md → Published images.


Three Commands Before Cutover

Command Outcome
guestkit doctor Boot assurance score + blockers
guestkit migrate-plan Executable fix plan YAML
guestctl tui Interactive assurance workspace

Documentation

Goal Document
Docs index docs/README.md
Run from GHCR / Docker docs/guides/DOCKER.md
Remote deploy docs/guides/DEPLOY-REMOTE.md
User stories docs/USER_STORIES.md
Industry use cases docs/INDUSTRY_USE_CASES.md
Architecture docs/architecture/overview.md
Full index docs/INDEX.md

zyvor.dev/guestkit · Demo videos · Full Zyvor platform


Development

See project docs for CI, testing, and contribution guidelines. Historical build summaries in the repo root are snapshots — docs/ and this README are authoritative.


License

See LICENSE or project-specific licensing files in docs/legal/.

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-0.3.18.tar.gz (5.4 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-0.3.18-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-0.3.18-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-0.3.18.tar.gz.

File metadata

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

File hashes

Hashes for hypersdk_guestkit-0.3.18.tar.gz
Algorithm Hash digest
SHA256 6525e41ea996b8035febade13f3e25dd65c808a6aff80bf9638921cd171f4a21
MD5 6b406afba99314d230fb4bc7b3e56558
BLAKE2b-256 4d1c680ef2b9aba933b2987cb2bb6273b813d6773edd69df89d6e984b6a1bb39

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-0.3.18-cp38-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 4f86ea0d811c3ff85804ee2bca5e75c3c67d3dda8d738f46d1ae800998c27c3e
MD5 4e34277bba7e42214cdd190bd95a2e02
BLAKE2b-256 77932029edb2dd5394071fc64aaebce7c39e210a0780d483fced6a3fb1ee05d2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-0.3.18-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 459fe4469bde7ec91781d9def1c6d8ef8f3b432624a2a8d6ab42cbacd599170d
MD5 6499dfed2b6da60cf62b1c1ae32f0181
BLAKE2b-256 6963e4e842353f2c3f4e03bc5f19092577986485ed8e363cdaac6d5c675dbe75

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

1.0.0

3 files

0.3.20

3 files

0.3.19

3 files

This release

0.3.18 This release

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