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.17.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.17-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.17-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.17.tar.gz.

File metadata

  • Download URL: hypersdk_guestkit-0.3.17.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.17.tar.gz
Algorithm Hash digest
SHA256 9e5ae37963561607c8b5d933680a6d7f8e984c4259dbb58be6219f679f839a1f
MD5 3904e6f75f740e6c3353201045892d54
BLAKE2b-256 bc5a8bc8e33cc3dbda2bbb59c99b269f89912f4dbbbda36f6aacfc1d83702380

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-0.3.17-cp38-abi3-manylinux_2_39_x86_64.whl
Algorithm Hash digest
SHA256 c771fb72fa633a29a90bfbfbba4a8a3c1cfb13a847bb8be8bb5184b38542f3cc
MD5 d1778501b1b97f6c004bc00244d2f315
BLAKE2b-256 fff8fbd32d15930384a8882ad5a593a0cef756300a581883dc21fd98849849b2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for hypersdk_guestkit-0.3.17-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 856986b8dfcbfaa77a59edd5825b720079a10ef0d51713e7a352b48bf8806978
MD5 6de0c48f2c986ac27235c2b73899dbff
BLAKE2b-256 7bdde876dafda191b1152cf6eebcb92e53f1634ef228dfbdc2d41ec632e54ce7

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

0.3.18

3 files

This release

0.3.17 This release

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