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
Cutover needs an audit trail MTV skips Cutover Passport → then hyper2kvm / HyperSDK
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.19.tar.gz (5.5 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.19-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.19-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.19.tar.gz.

File metadata

  • Download URL: hypersdk_guestkit-0.3.19.tar.gz
  • Upload date:
  • Size: 5.5 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.19.tar.gz
Algorithm Hash digest
SHA256 8bd335b99031f12fa3d391193c5159f0d3f22b46ad3962954948c5e1d3308536
MD5 b62827a191f3cd9bcdcbdd505c526558
BLAKE2b-256 1741bf374e41b1f9e38eecce5091e6a344f7d49f21799ce32d4d1549fd0ba263

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-0.3.19-cp38-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 6dd4c45b3fd1c14155fb6d6f6b805251f32f399783da853f37f5589c055f070f
MD5 1524b68e11906656cd860a404a588d92
BLAKE2b-256 18079a11fcaf93981bc449ee32fe59d9d045ac2463f78ecf87440374f86acbff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-0.3.19-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dd6b201521ad75ce56e337ff66e616f13a4ea91b95b51b1d8ba1ee52eda20741
MD5 8e65b3a93c7b7e9059fd113f752becfd
BLAKE2b-256 36c7cb5122647b34bc0d26bc1e3a26ac843ef641600ca1fbcf02511efb2c8e1c

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

This release

0.3.19 This release

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