zyvor-guestkit 1.2.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- zyvor_guestkit-1.2.2/.cargo/config.toml +9 -0
- zyvor_guestkit-1.2.2/.dockerignore +69 -0
- zyvor_guestkit-1.2.2/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
- zyvor_guestkit-1.2.2/.github/ISSUE_TEMPLATE/config.yml +23 -0
- zyvor_guestkit-1.2.2/.github/ISSUE_TEMPLATE/feature_request.md +16 -0
- zyvor_guestkit-1.2.2/.github/RELEASE_TEMPLATE.md +17 -0
- zyvor_guestkit-1.2.2/.github/actions/rescue-dry-run/action.yml +89 -0
- zyvor_guestkit-1.2.2/.github/copilot-instructions.md +115 -0
- zyvor_guestkit-1.2.2/.github/workflows/agent-release.yml +70 -0
- zyvor_guestkit-1.2.2/.github/workflows/build-wheels.yml +143 -0
- zyvor_guestkit-1.2.2/.github/workflows/ci.yml +373 -0
- zyvor_guestkit-1.2.2/.github/workflows/integration-tests.yml +328 -0
- zyvor_guestkit-1.2.2/.github/workflows/k3s-e2e.yml +106 -0
- zyvor_guestkit-1.2.2/.github/workflows/no-virsh.yml +34 -0
- zyvor_guestkit-1.2.2/.github/workflows/pages.yml +33 -0
- zyvor_guestkit-1.2.2/.github/workflows/passport-gate-demo.yml +68 -0
- zyvor_guestkit-1.2.2/.github/workflows/publish-zyvor-images.yml +58 -0
- zyvor_guestkit-1.2.2/.github/workflows/release.yml +253 -0
- zyvor_guestkit-1.2.2/.github/workflows/rpm.yml +418 -0
- zyvor_guestkit-1.2.2/.github/workflows/self-hosted-nbd-tests.yml +84 -0
- zyvor_guestkit-1.2.2/.gitignore +41 -0
- zyvor_guestkit-1.2.2/CHANGELOG.md +63 -0
- zyvor_guestkit-1.2.2/Cargo.lock +6214 -0
- zyvor_guestkit-1.2.2/Cargo.toml +207 -0
- zyvor_guestkit-1.2.2/Cargo.toml.workspace +152 -0
- zyvor_guestkit-1.2.2/Dockerfile +78 -0
- zyvor_guestkit-1.2.2/LICENSE +202 -0
- zyvor_guestkit-1.2.2/Makefile +96 -0
- zyvor_guestkit-1.2.2/Makefile.docker +107 -0
- zyvor_guestkit-1.2.2/NOTICE +19 -0
- zyvor_guestkit-1.2.2/PKG-INFO +502 -0
- zyvor_guestkit-1.2.2/README.md +464 -0
- zyvor_guestkit-1.2.2/SECURITY.md +322 -0
- zyvor_guestkit-1.2.2/action.yml +232 -0
- zyvor_guestkit-1.2.2/benches/benchmarks.rs +332 -0
- zyvor_guestkit-1.2.2/benches/operations.rs +318 -0
- zyvor_guestkit-1.2.2/benches/performance.rs +373 -0
- zyvor_guestkit-1.2.2/build_python.sh +93 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/Cargo.lock +128 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/Cargo.toml +17 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/capabilities.rs +240 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/error.rs +97 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/frame.rs +117 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/guest_info.rs +80 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/health.rs +229 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/heartbeat.rs +106 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/lib.rs +35 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/rpc.rs +492 -0
- zyvor_guestkit-1.2.2/crates/guestkit-agent-protocol/src/telemetry.rs +86 -0
- zyvor_guestkit-1.2.2/deploy/README.md +183 -0
- zyvor_guestkit-1.2.2/deploy/crd/zeus-guest-action-policy.yaml +41 -0
- zyvor_guestkit-1.2.2/deploy/crd/zeus-vmtools.yaml +203 -0
- zyvor_guestkit-1.2.2/deploy/docker-compose.ghcr.yml +105 -0
- zyvor_guestkit-1.2.2/deploy/docker-compose.lab-ui.yml +7 -0
- zyvor_guestkit-1.2.2/deploy/docker-compose.prod.example.yml +97 -0
- zyvor_guestkit-1.2.2/deploy/examples/agent-policy-self-update.yaml +16 -0
- zyvor_guestkit-1.2.2/deploy/examples/guest-action-policy-approval.yaml +10 -0
- zyvor_guestkit-1.2.2/deploy/examples/guest-action-policy-default.yaml +10 -0
- zyvor_guestkit-1.2.2/deploy/examples/kubevirt/migrated-vm.yaml +60 -0
- zyvor_guestkit-1.2.2/deploy/examples/packetwolf-correlation.yaml +20 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/Chart.yaml +6 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/_helpers.tpl +58 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/agent-mtls-ingress.yaml +23 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/fleet-drift-watch-cronjob.yaml +75 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/guestkit-worker-deployment.yaml +75 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/image-vault-backup-cronjob.yaml +80 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/ingress.yaml +46 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/minio.yaml +87 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/namespace.yaml +12 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/networkpolicy.yaml +23 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/postgresql.yaml +79 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/pvc-vm-images.yaml +16 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/redis.yaml +83 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/secrets.yaml +13 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/vmtools-bundle.yaml +25 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/vmtools-policy.yaml +16 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/vmtools-reconcile-cronjob.yaml +33 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/zyvor-api-auth-configmap.yaml +50 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/zyvor-api-deployment.yaml +224 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/zyvor-api-rbac.yaml +53 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/templates/zyvor-ui-deployment.yaml +41 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/values-ci.yaml +70 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/values-k3s.yaml +77 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/values-prod.yaml +94 -0
- zyvor_guestkit-1.2.2/deploy/helm/zyvor/values.yaml +181 -0
- zyvor_guestkit-1.2.2/deploy/migrations/001_init.sql +30 -0
- zyvor_guestkit-1.2.2/deploy/openapi/zyvor-vm-services.yaml +1076 -0
- zyvor_guestkit-1.2.2/deploy/scripts/ci-k3s-e2e.sh +102 -0
- zyvor_guestkit-1.2.2/deploy/scripts/deploy-remote-k3s.sh +165 -0
- zyvor_guestkit-1.2.2/deploy/scripts/e2e-agent-live.sh +226 -0
- zyvor_guestkit-1.2.2/deploy/scripts/e2e-photon-k3s.sh +239 -0
- zyvor_guestkit-1.2.2/deploy/scripts/e2e-smoke.sh +262 -0
- zyvor_guestkit-1.2.2/deploy/scripts/e2e-ubuntu-k3s.sh +338 -0
- zyvor_guestkit-1.2.2/deploy/scripts/install-k3s-ubuntu.sh +105 -0
- zyvor_guestkit-1.2.2/deploy/scripts/kind-kubevirt-quickstart.sh +93 -0
- zyvor_guestkit-1.2.2/deploy/scripts/publish-images.sh +80 -0
- zyvor_guestkit-1.2.2/deploy/scripts/publish-vmtools-bundle.sh +50 -0
- zyvor_guestkit-1.2.2/deploy/scripts/sync-ironwolf-theme.sh +18 -0
- zyvor_guestkit-1.2.2/deploy/scripts/watch-workflow-run.sh +77 -0
- zyvor_guestkit-1.2.2/deploy/ui/Dockerfile +7 -0
- zyvor_guestkit-1.2.2/deploy/ui/api.js +410 -0
- zyvor_guestkit-1.2.2/deploy/ui/demo-doctor.json +35 -0
- zyvor_guestkit-1.2.2/deploy/ui/demo-inspect.json +55 -0
- zyvor_guestkit-1.2.2/deploy/ui/index.html +759 -0
- zyvor_guestkit-1.2.2/deploy/ui/login.html +95 -0
- zyvor_guestkit-1.2.2/deploy/ui/serve-https.py +173 -0
- zyvor_guestkit-1.2.2/deploy/ui/zyvor-mark.svg +17 -0
- zyvor_guestkit-1.2.2/docker-compose.yml +61 -0
- zyvor_guestkit-1.2.2/docker-entrypoint.sh +22 -0
- zyvor_guestkit-1.2.2/docs/CLIENT_BUNDLE_POLICY.md +70 -0
- zyvor_guestkit-1.2.2/docs/INDEX.md +76 -0
- zyvor_guestkit-1.2.2/docs/INDUSTRY_USE_CASES.md +227 -0
- zyvor_guestkit-1.2.2/docs/PACKAGE_BINARY_REMOTE.md +81 -0
- zyvor_guestkit-1.2.2/docs/README.md +54 -0
- zyvor_guestkit-1.2.2/docs/USER_STORIES.md +91 -0
- zyvor_guestkit-1.2.2/docs/architecture/overview.md +93 -0
- zyvor_guestkit-1.2.2/docs/ce-vs-enterprise.md +106 -0
- zyvor_guestkit-1.2.2/docs/client-presentations/01-guestkit-overview.html +18 -0
- zyvor_guestkit-1.2.2/docs/client-presentations/02-guestkit-architecture.html +18 -0
- zyvor_guestkit-1.2.2/docs/client-presentations/03-guestkit-deployment.html +18 -0
- zyvor_guestkit-1.2.2/docs/client-presentations/README.md +11 -0
- zyvor_guestkit-1.2.2/docs/development/CHANGELOG.md +797 -0
- zyvor_guestkit-1.2.2/docs/development/CONTRIBUTING.md +452 -0
- zyvor_guestkit-1.2.2/docs/development/RPM-BUILD.md +342 -0
- zyvor_guestkit-1.2.2/docs/development/ai-guest-agent-roadmap.md +124 -0
- zyvor_guestkit-1.2.2/docs/development/publishing.md +38 -0
- zyvor_guestkit-1.2.2/docs/development/roadmap.md +66 -0
- zyvor_guestkit-1.2.2/docs/devops/01-passport-ci-gate.md +163 -0
- zyvor_guestkit-1.2.2/docs/devops/02-offline-repair-worker.md +93 -0
- zyvor_guestkit-1.2.2/docs/devops/03-airgap-packages-virtio.md +69 -0
- zyvor_guestkit-1.2.2/docs/devops/04-fleet-analyze.md +58 -0
- zyvor_guestkit-1.2.2/docs/devops/05-cutover-weekend.md +57 -0
- zyvor_guestkit-1.2.2/docs/devops/06-failure-triage.md +68 -0
- zyvor_guestkit-1.2.2/docs/devops/07-cloud-disk-sources.md +61 -0
- zyvor_guestkit-1.2.2/docs/devops/08-forensic-diff-ir.md +19 -0
- zyvor_guestkit-1.2.2/docs/devops/09-sbom-inventory-ci.md +13 -0
- zyvor_guestkit-1.2.2/docs/devops/10-rescue-sbom-ci.md +40 -0
- zyvor_guestkit-1.2.2/docs/devops/README.md +34 -0
- zyvor_guestkit-1.2.2/docs/enterprise-trial-install.md +89 -0
- zyvor_guestkit-1.2.2/docs/features/explore/EXPLORE-QUICKSTART.md +419 -0
- zyvor_guestkit-1.2.2/docs/features/export-formats.md +619 -0
- zyvor_guestkit-1.2.2/docs/features/fix-plans.md +634 -0
- zyvor_guestkit-1.2.2/docs/features/guest-agent.md +295 -0
- zyvor_guestkit-1.2.2/docs/features/guest-control-fabric.md +115 -0
- zyvor_guestkit-1.2.2/docs/features/guestkit-agent-protocol-1.3.md +190 -0
- zyvor_guestkit-1.2.2/docs/features/hyper2kvm-integration.md +157 -0
- zyvor_guestkit-1.2.2/docs/features/kubevirt-integration.md +87 -0
- zyvor_guestkit-1.2.2/docs/features/migration-assurance.md +381 -0
- zyvor_guestkit-1.2.2/docs/features/qemu-runtime.md +125 -0
- zyvor_guestkit-1.2.2/docs/features/tui-enhancements.md +358 -0
- zyvor_guestkit-1.2.2/docs/features/virtctl-guestkit.md +38 -0
- zyvor_guestkit-1.2.2/docs/features/vm-runtime.md +100 -0
- zyvor_guestkit-1.2.2/docs/features/zeus-vm-tools.md +156 -0
- zyvor_guestkit-1.2.2/docs/guestkit-user-feature-guide.html +78 -0
- zyvor_guestkit-1.2.2/docs/guestkit-user-feature-guide.md +296 -0
- zyvor_guestkit-1.2.2/docs/guestkit-user-feature-guide.pdf +0 -0
- zyvor_guestkit-1.2.2/docs/guides/DEPLOY-REMOTE.md +83 -0
- zyvor_guestkit-1.2.2/docs/guides/DOCKER.md +489 -0
- zyvor_guestkit-1.2.2/docs/guides/cloud-disk-sources.md +71 -0
- zyvor_guestkit-1.2.2/docs/img/machina-guestkit-demo-thumb.jpg +0 -0
- zyvor_guestkit-1.2.2/docs/img/zyvor-favicon.svg +13 -0
- zyvor_guestkit-1.2.2/docs/img/zyvor-logo.webp +0 -0
- zyvor_guestkit-1.2.2/docs/legal/CORPORATE.md +32 -0
- zyvor_guestkit-1.2.2/docs/legal/README.md +10 -0
- zyvor_guestkit-1.2.2/docs/legal/TRADEMARK-NOTICE.md +7 -0
- zyvor_guestkit-1.2.2/docs/user/PAGE_INDEX.md +111 -0
- zyvor_guestkit-1.2.2/docs/user/README.md +45 -0
- zyvor_guestkit-1.2.2/docs/user/admin-basics.md +37 -0
- zyvor_guestkit-1.2.2/docs/user/getting-started.md +42 -0
- zyvor_guestkit-1.2.2/docs/user/pages/README.md +108 -0
- zyvor_guestkit-1.2.2/docs/user/pages/assurance/doctor.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/assurance/migrate-plan.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/assurance/migration-assurance.md +41 -0
- zyvor_guestkit-1.2.2/docs/user/pages/assurance/policy.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/export/export-formats.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/fix-plans/fix-plans.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/fix-plans/repair.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/fleet/fleet.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/forensics/forensic-diff.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/guest-agent/guest-agent.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/guest-files/files.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/guest-files/guest-control-fabric.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/guides/vm-migration.md +40 -0
- zyvor_guestkit-1.2.2/docs/user/pages/inspection/filesystems.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/inspection/inspect.md +40 -0
- zyvor_guestkit-1.2.2/docs/user/pages/inspection/network.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/inspection/packages.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/inspection/services-users.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/integration/kubevirt-integration.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/integration/zeus-vm-tools.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/interfaces/python-bindings.md +41 -0
- zyvor_guestkit-1.2.2/docs/user/pages/interfaces/tui.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/onboarding/cli-guide.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/onboarding/getting-started.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/onboarding/interactive-mode.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/onboarding/quick-reference.md +39 -0
- zyvor_guestkit-1.2.2/docs/user/pages/profiles/profiles.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/support/faq.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pages/support/troubleshooting.md +38 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-Admin-Basics.html +75 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-Admin-Basics.pdf +0 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-Getting-Started.html +181 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-Getting-Started.pdf +0 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-Page-by-Page.html +1673 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-Page-by-Page.pdf +0 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-User-README.html +123 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/GuestKit-User-README.pdf +0 -0
- zyvor_guestkit-1.2.2/docs/user/pdf/PDF_INDEX.md +10 -0
- zyvor_guestkit-1.2.2/docs/user/using-the-dashboard.md +65 -0
- zyvor_guestkit-1.2.2/docs/user/workflows.md +35 -0
- zyvor_guestkit-1.2.2/docs/user-guides/cli-guide.md +85 -0
- zyvor_guestkit-1.2.2/docs/user-guides/cloud-init.md +28 -0
- zyvor_guestkit-1.2.2/docs/user-guides/cloud-policy-rego.md +43 -0
- zyvor_guestkit-1.2.2/docs/user-guides/cutover-bundle.md +27 -0
- zyvor_guestkit-1.2.2/docs/user-guides/cutover-prep.md +52 -0
- zyvor_guestkit-1.2.2/docs/user-guides/faq.md +761 -0
- zyvor_guestkit-1.2.2/docs/user-guides/getting-started.md +288 -0
- zyvor_guestkit-1.2.2/docs/user-guides/handoff-quarantine.md +55 -0
- zyvor_guestkit-1.2.2/docs/user-guides/img-firstboot.md +65 -0
- zyvor_guestkit-1.2.2/docs/user-guides/interactive-mode.md +722 -0
- zyvor_guestkit-1.2.2/docs/user-guides/profiles.md +559 -0
- zyvor_guestkit-1.2.2/docs/user-guides/python-bindings.md +169 -0
- zyvor_guestkit-1.2.2/docs/user-guides/quick-reference.md +412 -0
- zyvor_guestkit-1.2.2/docs/user-guides/troubleshooting.md +706 -0
- zyvor_guestkit-1.2.2/docs/user-guides/virsh-to-guestkit.md +110 -0
- zyvor_guestkit-1.2.2/docs/user-guides/vm-migration.md +700 -0
- zyvor_guestkit-1.2.2/docs/zyvor-enterprise.md +75 -0
- zyvor_guestkit-1.2.2/examples/batch/README.md +153 -0
- zyvor_guestkit-1.2.2/examples/batch/inspect.gk +26 -0
- zyvor_guestkit-1.2.2/examples/batch/security-audit.gk +33 -0
- zyvor_guestkit-1.2.2/examples/command_and_archive.rs +186 -0
- zyvor_guestkit-1.2.2/examples/convert_disk.rs +43 -0
- zyvor_guestkit-1.2.2/examples/create_disk_fluent.rs +141 -0
- zyvor_guestkit-1.2.2/examples/detect_format.rs +25 -0
- zyvor_guestkit-1.2.2/examples/disk_forensics.rs +304 -0
- zyvor_guestkit-1.2.2/examples/fluent_api.rs +199 -0
- zyvor_guestkit-1.2.2/examples/inspect_os_typed.rs +233 -0
- zyvor_guestkit-1.2.2/examples/inspect_vm.rs +140 -0
- zyvor_guestkit-1.2.2/examples/jobs/fix-offline.json +86 -0
- zyvor_guestkit-1.2.2/examples/jobs/inspect-full.json +102 -0
- zyvor_guestkit-1.2.2/examples/jobs/inspect-minimal.json +18 -0
- zyvor_guestkit-1.2.2/examples/jobs/profile-security.json +65 -0
- zyvor_guestkit-1.2.2/examples/lvm_luks_demo.rs +161 -0
- zyvor_guestkit-1.2.2/examples/mount_and_explore.rs +145 -0
- zyvor_guestkit-1.2.2/examples/podman_clone_test.rs +66 -0
- zyvor_guestkit-1.2.2/examples/policies/example-policy.yaml +57 -0
- zyvor_guestkit-1.2.2/examples/python/README.md +481 -0
- zyvor_guestkit-1.2.2/examples/python/archive_example.py +159 -0
- zyvor_guestkit-1.2.2/examples/python/assurance_doctor.py +49 -0
- zyvor_guestkit-1.2.2/examples/python/async_inspection.py +316 -0
- zyvor_guestkit-1.2.2/examples/python/basic_inspection.py +132 -0
- zyvor_guestkit-1.2.2/examples/python/comprehensive_example.py +246 -0
- zyvor_guestkit-1.2.2/examples/python/create_disk.py +292 -0
- zyvor_guestkit-1.2.2/examples/python/extract_files.py +117 -0
- zyvor_guestkit-1.2.2/examples/python/list_filesystems.py +141 -0
- zyvor_guestkit-1.2.2/examples/python/mount_and_explore.py +187 -0
- zyvor_guestkit-1.2.2/examples/python/package_inspection.py +255 -0
- zyvor_guestkit-1.2.2/examples/python/test_all_apis.py +219 -0
- zyvor_guestkit-1.2.2/examples/python/test_bindings.py +582 -0
- zyvor_guestkit-1.2.2/examples/python/test_enhancements.py +115 -0
- zyvor_guestkit-1.2.2/examples/retry_example.rs +50 -0
- zyvor_guestkit-1.2.2/examples/system_info.rs +232 -0
- zyvor_guestkit-1.2.2/examples/vm_clone_prep.rs +279 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/README.md +225 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/echo-test.json +31 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-agent-call-basic.json +14 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-agent-doctor-basic.json +13 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-agent-evidence-basic.json +13 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-doctor-basic.json +18 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-inspect-basic.json +42 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-inspect-full.json +77 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-migrate-plan-basic.json +19 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-profile-security.json +49 -0
- zyvor_guestkit-1.2.2/examples/worker-jobs/guestkit-repair-basic.json +18 -0
- zyvor_guestkit-1.2.2/guestkit-full.spec +263 -0
- zyvor_guestkit-1.2.2/guestkit.pyi +559 -0
- zyvor_guestkit-1.2.2/guestkit.spec +181 -0
- zyvor_guestkit-1.2.2/install.sh +107 -0
- zyvor_guestkit-1.2.2/integration/README.md +115 -0
- zyvor_guestkit-1.2.2/integration/python/guestkit_wrapper.py +351 -0
- zyvor_guestkit-1.2.2/integration/tests/test_integration.py +172 -0
- zyvor_guestkit-1.2.2/k8s/README.md +278 -0
- zyvor_guestkit-1.2.2/k8s/configmap.yaml +24 -0
- zyvor_guestkit-1.2.2/k8s/daemonset.yaml +103 -0
- zyvor_guestkit-1.2.2/k8s/kustomization.yaml +14 -0
- zyvor_guestkit-1.2.2/k8s/namespace.yaml +7 -0
- zyvor_guestkit-1.2.2/k8s/serviceaccount.yaml +39 -0
- zyvor_guestkit-1.2.2/node_modules/.bin/marked +16 -0
- zyvor_guestkit-1.2.2/node_modules/.package-lock.json +18 -0
- zyvor_guestkit-1.2.2/node_modules/marked/LICENSE +44 -0
- zyvor_guestkit-1.2.2/node_modules/marked/README.md +116 -0
- zyvor_guestkit-1.2.2/node_modules/marked/bin/main.js +284 -0
- zyvor_guestkit-1.2.2/node_modules/marked/bin/marked.js +16 -0
- zyvor_guestkit-1.2.2/node_modules/marked/lib/marked.d.ts +823 -0
- zyvor_guestkit-1.2.2/node_modules/marked/lib/marked.esm.js +78 -0
- zyvor_guestkit-1.2.2/node_modules/marked/lib/marked.esm.js.map +7 -0
- zyvor_guestkit-1.2.2/node_modules/marked/lib/marked.umd.js +80 -0
- zyvor_guestkit-1.2.2/node_modules/marked/lib/marked.umd.js.map +7 -0
- zyvor_guestkit-1.2.2/node_modules/marked/man/marked.1 +113 -0
- zyvor_guestkit-1.2.2/node_modules/marked/man/marked.1.md +93 -0
- zyvor_guestkit-1.2.2/node_modules/marked/package.json +103 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/Dockerfile +18 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/build-artifacts.sh +176 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/windows/README.md +32 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/windows/build-msi.sh +73 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/windows/guestkit-wixl.wxs +46 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/windows/install.ps1 +67 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/windows/zyvor-guest-agent.wxs +57 -0
- zyvor_guestkit-1.2.2/packaging/vmtools/zyvor-vm-tools.spec +87 -0
- zyvor_guestkit-1.2.2/policies/cutover.rego +17 -0
- zyvor_guestkit-1.2.2/presentations/client-overview.pdf +0 -0
- zyvor_guestkit-1.2.2/presentations/guestkit-client.pdf +0 -0
- zyvor_guestkit-1.2.2/proptest-regressions/core/binary_cache.txt +8 -0
- zyvor_guestkit-1.2.2/pyproject.toml +61 -0
- zyvor_guestkit-1.2.2/scripts/analyze-performance.sh +328 -0
- zyvor_guestkit-1.2.2/scripts/build-linux-bundle.sh +107 -0
- zyvor_guestkit-1.2.2/scripts/build-linux-release.sh +55 -0
- zyvor_guestkit-1.2.2/scripts/build-windows-bundle.sh +90 -0
- zyvor_guestkit-1.2.2/scripts/ci-cloud-disk-sources.sh +21 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/.gitignore +10 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/README.md +80 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/build-web.sh +98 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/build.sh +71 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/rec-doctor.tape +17 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/rec-inspect.tape +17 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/rec-migrate.tape +17 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/rec-tui.tape +25 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/rec-web-tour.mjs +60 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/rec-web-tutorial.mjs +78 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/render-cards-web.mjs +90 -0
- zyvor_guestkit-1.2.2/scripts/demo-videos/render-cards.mjs +82 -0
- zyvor_guestkit-1.2.2/scripts/deploy-remote.sh +613 -0
- zyvor_guestkit-1.2.2/scripts/deploy-to-k3d.sh +81 -0
- zyvor_guestkit-1.2.2/scripts/deploy-ui-remote.sh +308 -0
- zyvor_guestkit-1.2.2/scripts/lib/HOST_SETUP.txt +61 -0
- zyvor_guestkit-1.2.2/scripts/lib/PREREQUISITES.txt +27 -0
- zyvor_guestkit-1.2.2/scripts/lib/START_HERE.txt +46 -0
- zyvor_guestkit-1.2.2/scripts/lib/copy-legal-to-bundle.sh +8 -0
- zyvor_guestkit-1.2.2/scripts/lib/copy-zyvor-legal-to-bundle.sh +60 -0
- zyvor_guestkit-1.2.2/scripts/lib/deploy-ui-remote-common.sh +38 -0
- zyvor_guestkit-1.2.2/scripts/lib/deploy-ui-remote-lib.sh +212 -0
- zyvor_guestkit-1.2.2/scripts/lib/finalize-user-bundle.sh +24 -0
- zyvor_guestkit-1.2.2/scripts/lib/generate-user-pdfs.py +574 -0
- zyvor_guestkit-1.2.2/scripts/lib/generate-user-pdfs.sh +66 -0
- zyvor_guestkit-1.2.2/scripts/lib/install-everything.sh +78 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-auth-bootstrap.sh +140 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-bundle-client.sh +60 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-client-install.sh +26 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-client-test.sh +25 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-cluster-prereqs-run.sh +39 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-cluster-test.sh +91 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-guestkit-client-bundle.sh +144 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-host-test.sh +24 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-install.sh +49 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-remote-ui.sh +50 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-ui.sh +689 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-uninstall-lib.sh +234 -0
- zyvor_guestkit-1.2.2/scripts/lib/package-uninstall.sh +16 -0
- zyvor_guestkit-1.2.2/scripts/lib/test-packages-remote-only.sh +260 -0
- zyvor_guestkit-1.2.2/scripts/lib/verify-bundle-script-paths.sh +60 -0
- zyvor_guestkit-1.2.2/scripts/lib/write-user-help.sh +278 -0
- zyvor_guestkit-1.2.2/scripts/package-binary-release.sh +109 -0
- zyvor_guestkit-1.2.2/scripts/package-binary-remote.sh +150 -0
- zyvor_guestkit-1.2.2/scripts/profile-flamegraph.sh +126 -0
- zyvor_guestkit-1.2.2/scripts/rebuild-all-user-tarballs-remote.sh +68 -0
- zyvor_guestkit-1.2.2/scripts/run_all_tests_individual.sh +134 -0
- zyvor_guestkit-1.2.2/scripts/run_arch_tests.sh +135 -0
- zyvor_guestkit-1.2.2/scripts/run_debian_tests.sh +179 -0
- zyvor_guestkit-1.2.2/scripts/run_ubuntu_tests.sh +154 -0
- zyvor_guestkit-1.2.2/scripts/run_windows_realistic_tests.sh +177 -0
- zyvor_guestkit-1.2.2/scripts/selftest.sh +274 -0
- zyvor_guestkit-1.2.2/scripts/setup_test_env.sh +90 -0
- zyvor_guestkit-1.2.2/scripts/smoke-ui-remote.sh +85 -0
- zyvor_guestkit-1.2.2/scripts/test-docker.sh +95 -0
- zyvor_guestkit-1.2.2/scripts/test-feature-matrix-remote.sh +93 -0
- zyvor_guestkit-1.2.2/scripts/test-feature-matrix.sh +167 -0
- zyvor_guestkit-1.2.2/scripts/test-packages-remote-only.sh +260 -0
- zyvor_guestkit-1.2.2/scripts/test-user-e2e-remote.sh +91 -0
- zyvor_guestkit-1.2.2/scripts/test_pypi_build.sh +196 -0
- zyvor_guestkit-1.2.2/scripts/track-performance.sh +74 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/build-user-pdfs.mjs +195 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/check-links.mjs +39 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/generate-guide-index.mjs +61 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/generate-guides.mjs +64 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/generate-page-index.mjs +63 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/page-purposes.json +31 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/product.env +4 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/routes.json +178 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/sync-to-website.mjs +166 -0
- zyvor_guestkit-1.2.2/scripts/user-docs/ux-inventory.json +539 -0
- zyvor_guestkit-1.2.2/scripts/validate-docker.sh +144 -0
- zyvor_guestkit-1.2.2/scripts/validate-performance.sh +139 -0
- zyvor_guestkit-1.2.2/scripts/zyvor-branding/ZYVOR_INSTALL.txt +32 -0
- zyvor_guestkit-1.2.2/scripts/zyvor-branding/ZyvorBrand.tsx +155 -0
- zyvor_guestkit-1.2.2/scripts/zyvor-branding/zyvor-logo.png +0 -0
- zyvor_guestkit-1.2.2/src/agent/agent_call.rs +52 -0
- zyvor_guestkit-1.2.2/src/agent/audit.rs +35 -0
- zyvor_guestkit-1.2.2/src/agent/certificates.rs +370 -0
- zyvor_guestkit-1.2.2/src/agent/cli.rs +156 -0
- zyvor_guestkit-1.2.2/src/agent/containers.rs +392 -0
- zyvor_guestkit-1.2.2/src/agent/customization.rs +200 -0
- zyvor_guestkit-1.2.2/src/agent/daemon.rs +263 -0
- zyvor_guestkit-1.2.2/src/agent/exec.rs +54 -0
- zyvor_guestkit-1.2.2/src/agent/executor.rs +222 -0
- zyvor_guestkit-1.2.2/src/agent/executor_ipc.rs +365 -0
- zyvor_guestkit-1.2.2/src/agent/file_ops.rs +259 -0
- zyvor_guestkit-1.2.2/src/agent/handler.rs +1382 -0
- zyvor_guestkit-1.2.2/src/agent/heartbeat.rs +361 -0
- zyvor_guestkit-1.2.2/src/agent/inject.rs +730 -0
- zyvor_guestkit-1.2.2/src/agent/integrity.rs +579 -0
- zyvor_guestkit-1.2.2/src/agent/inventory_cache.rs +203 -0
- zyvor_guestkit-1.2.2/src/agent/local_client.rs +148 -0
- zyvor_guestkit-1.2.2/src/agent/mod.rs +75 -0
- zyvor_guestkit-1.2.2/src/agent/netintel.rs +335 -0
- zyvor_guestkit-1.2.2/src/agent/nettest.rs +192 -0
- zyvor_guestkit-1.2.2/src/agent/packages.rs +315 -0
- zyvor_guestkit-1.2.2/src/agent/policy.rs +546 -0
- zyvor_guestkit-1.2.2/src/agent/posture.rs +409 -0
- zyvor_guestkit-1.2.2/src/agent/proxy.rs +366 -0
- zyvor_guestkit-1.2.2/src/agent/qga.rs +1034 -0
- zyvor_guestkit-1.2.2/src/agent/qga_client.rs +140 -0
- zyvor_guestkit-1.2.2/src/agent/rdp.rs +60 -0
- zyvor_guestkit-1.2.2/src/agent/snapshot/mod.rs +295 -0
- zyvor_guestkit-1.2.2/src/agent/snapshot/plugins.rs +272 -0
- zyvor_guestkit-1.2.2/src/agent/snapshot/vss.rs +111 -0
- zyvor_guestkit-1.2.2/src/agent/snapshot_hooks.rs +87 -0
- zyvor_guestkit-1.2.2/src/agent/state.rs +185 -0
- zyvor_guestkit-1.2.2/src/agent/storage_ops.rs +151 -0
- zyvor_guestkit-1.2.2/src/agent/support_bundle.rs +116 -0
- zyvor_guestkit-1.2.2/src/agent/telemetry/mod.rs +400 -0
- zyvor_guestkit-1.2.2/src/agent/telemetry/ring.rs +97 -0
- zyvor_guestkit-1.2.2/src/agent/telemetry/sampler.rs +175 -0
- zyvor_guestkit-1.2.2/src/agent/transport/mod.rs +176 -0
- zyvor_guestkit-1.2.2/src/agent/transport/named_pipe.rs +72 -0
- zyvor_guestkit-1.2.2/src/agent/transport/stdio.rs +16 -0
- zyvor_guestkit-1.2.2/src/agent/transport/unix_listen.rs +67 -0
- zyvor_guestkit-1.2.2/src/agent/transport/virtio.rs +60 -0
- zyvor_guestkit-1.2.2/src/agent/transport/vsock.rs +130 -0
- zyvor_guestkit-1.2.2/src/agent/transport/vsock_host.rs +239 -0
- zyvor_guestkit-1.2.2/src/agent/transport/zeus_push.rs +440 -0
- zyvor_guestkit-1.2.2/src/agent/update_sign.rs +121 -0
- zyvor_guestkit-1.2.2/src/agent/updater.rs +494 -0
- zyvor_guestkit-1.2.2/src/agent/users.rs +184 -0
- zyvor_guestkit-1.2.2/src/ai/agent.rs +336 -0
- zyvor_guestkit-1.2.2/src/ai/drift.rs +98 -0
- zyvor_guestkit-1.2.2/src/ai/intelligence.rs +51 -0
- zyvor_guestkit-1.2.2/src/ai/mcp.rs +111 -0
- zyvor_guestkit-1.2.2/src/ai/memory.rs +260 -0
- zyvor_guestkit-1.2.2/src/ai/mod.rs +57 -0
- zyvor_guestkit-1.2.2/src/ai/platform.rs +124 -0
- zyvor_guestkit-1.2.2/src/ai/prompts.rs +31 -0
- zyvor_guestkit-1.2.2/src/ai/providers.rs +217 -0
- zyvor_guestkit-1.2.2/src/ai/recommendations.rs +148 -0
- zyvor_guestkit-1.2.2/src/ai/reports.rs +124 -0
- zyvor_guestkit-1.2.2/src/ai/rig_tools.rs +156 -0
- zyvor_guestkit-1.2.2/src/ai/security_profiles.rs +164 -0
- zyvor_guestkit-1.2.2/src/ai/semantic.rs +336 -0
- zyvor_guestkit-1.2.2/src/ai/tools.rs +113 -0
- zyvor_guestkit-1.2.2/src/ai/whatif.rs +74 -0
- zyvor_guestkit-1.2.2/src/assurance/copilot.rs +518 -0
- zyvor_guestkit-1.2.2/src/assurance/handoff.rs +180 -0
- zyvor_guestkit-1.2.2/src/assurance/mod.rs +529 -0
- zyvor_guestkit-1.2.2/src/assurance/passport.rs +1130 -0
- zyvor_guestkit-1.2.2/src/assurance/repair_extras.rs +134 -0
- zyvor_guestkit-1.2.2/src/bin/guestctl.rs +6 -0
- zyvor_guestkit-1.2.2/src/bin/guestkit-qemu.rs +403 -0
- zyvor_guestkit-1.2.2/src/bin/virtctl-guestkit.rs +520 -0
- zyvor_guestkit-1.2.2/src/bin/zyvor-guest-agent.rs +21 -0
- zyvor_guestkit-1.2.2/src/boot/checks.rs +774 -0
- zyvor_guestkit-1.2.2/src/boot/engine.rs +152 -0
- zyvor_guestkit-1.2.2/src/boot/live.rs +73 -0
- zyvor_guestkit-1.2.2/src/boot/mod.rs +14 -0
- zyvor_guestkit-1.2.2/src/boot/report.rs +79 -0
- zyvor_guestkit-1.2.2/src/cli/agent_sign.rs +70 -0
- zyvor_guestkit-1.2.2/src/cli/ai/assistant.rs +269 -0
- zyvor_guestkit-1.2.2/src/cli/ai/mod.rs +22 -0
- zyvor_guestkit-1.2.2/src/cli/ai/tools.rs +188 -0
- zyvor_guestkit-1.2.2/src/cli/batch.rs +455 -0
- zyvor_guestkit-1.2.2/src/cli/blueprint/ansible.rs +118 -0
- zyvor_guestkit-1.2.2/src/cli/blueprint/compose.rs +164 -0
- zyvor_guestkit-1.2.2/src/cli/blueprint/kubernetes.rs +207 -0
- zyvor_guestkit-1.2.2/src/cli/blueprint/mod.rs +542 -0
- zyvor_guestkit-1.2.2/src/cli/blueprint/terraform.rs +280 -0
- zyvor_guestkit-1.2.2/src/cli/cache.rs +300 -0
- zyvor_guestkit-1.2.2/src/cli/commands/analysis.rs +2222 -0
- zyvor_guestkit-1.2.2/src/cli/commands/assurance.rs +1339 -0
- zyvor_guestkit-1.2.2/src/cli/commands/batch.rs +203 -0
- zyvor_guestkit-1.2.2/src/cli/commands/disk_ops.rs +1238 -0
- zyvor_guestkit-1.2.2/src/cli/commands/file_ops.rs +982 -0
- zyvor_guestkit-1.2.2/src/cli/commands/inspect.rs +1486 -0
- zyvor_guestkit-1.2.2/src/cli/commands/mcp.rs +44 -0
- zyvor_guestkit-1.2.2/src/cli/commands/mod.rs +419 -0
- zyvor_guestkit-1.2.2/src/cli/commands/security.rs +5176 -0
- zyvor_guestkit-1.2.2/src/cli/commands/systemd.rs +414 -0
- zyvor_guestkit-1.2.2/src/cli/commands/tools.rs +654 -0
- zyvor_guestkit-1.2.2/src/cli/commands_list.rs +151 -0
- zyvor_guestkit-1.2.2/src/cli/cost/analyzer.rs +318 -0
- zyvor_guestkit-1.2.2/src/cli/cost/estimator.rs +230 -0
- zyvor_guestkit-1.2.2/src/cli/cost/mod.rs +460 -0
- zyvor_guestkit-1.2.2/src/cli/cost/reporter.rs +225 -0
- zyvor_guestkit-1.2.2/src/cli/cutover_cmd.rs +115 -0
- zyvor_guestkit-1.2.2/src/cli/dependencies/analyzer.rs +223 -0
- zyvor_guestkit-1.2.2/src/cli/dependencies/graph.rs +213 -0
- zyvor_guestkit-1.2.2/src/cli/dependencies/mod.rs +505 -0
- zyvor_guestkit-1.2.2/src/cli/dependencies/visualizer.rs +325 -0
- zyvor_guestkit-1.2.2/src/cli/diff.rs +513 -0
- zyvor_guestkit-1.2.2/src/cli/domain_disks.rs +330 -0
- zyvor_guestkit-1.2.2/src/cli/entry.rs +4707 -0
- zyvor_guestkit-1.2.2/src/cli/errors.rs +445 -0
- zyvor_guestkit-1.2.2/src/cli/exporters/html.rs +146 -0
- zyvor_guestkit-1.2.2/src/cli/exporters/markdown.rs +821 -0
- zyvor_guestkit-1.2.2/src/cli/exporters/mod.rs +132 -0
- zyvor_guestkit-1.2.2/src/cli/exporters/pdf.rs +194 -0
- zyvor_guestkit-1.2.2/src/cli/firstboot.rs +252 -0
- zyvor_guestkit-1.2.2/src/cli/forensic_diff.rs +201 -0
- zyvor_guestkit-1.2.2/src/cli/formatters.rs +445 -0
- zyvor_guestkit-1.2.2/src/cli/gate.rs +196 -0
- zyvor_guestkit-1.2.2/src/cli/img.rs +69 -0
- zyvor_guestkit-1.2.2/src/cli/interactive.rs +5342 -0
- zyvor_guestkit-1.2.2/src/cli/inventory/cve.rs +441 -0
- zyvor_guestkit-1.2.2/src/cli/inventory/formats.rs +644 -0
- zyvor_guestkit-1.2.2/src/cli/inventory/licenses.rs +297 -0
- zyvor_guestkit-1.2.2/src/cli/inventory/mod.rs +501 -0
- zyvor_guestkit-1.2.2/src/cli/inventory/sbom.rs +76 -0
- zyvor_guestkit-1.2.2/src/cli/invocation.rs +74 -0
- zyvor_guestkit-1.2.2/src/cli/license/analyzer.rs +71 -0
- zyvor_guestkit-1.2.2/src/cli/license/database.rs +193 -0
- zyvor_guestkit-1.2.2/src/cli/license/mod.rs +393 -0
- zyvor_guestkit-1.2.2/src/cli/license/reporter.rs +122 -0
- zyvor_guestkit-1.2.2/src/cli/license/scanner.rs +56 -0
- zyvor_guestkit-1.2.2/src/cli/migrate/analyzer.rs +103 -0
- zyvor_guestkit-1.2.2/src/cli/migrate/mod.rs +550 -0
- zyvor_guestkit-1.2.2/src/cli/migrate/plan.rs +177 -0
- zyvor_guestkit-1.2.2/src/cli/migrate/planner.rs +570 -0
- zyvor_guestkit-1.2.2/src/cli/migrate/reporter.rs +336 -0
- zyvor_guestkit-1.2.2/src/cli/mod.rs +83 -0
- zyvor_guestkit-1.2.2/src/cli/output.rs +528 -0
- zyvor_guestkit-1.2.2/src/cli/parallel.rs +945 -0
- zyvor_guestkit-1.2.2/src/cli/plan/apply.rs +1123 -0
- zyvor_guestkit-1.2.2/src/cli/plan/cloud_init.rs +191 -0
- zyvor_guestkit-1.2.2/src/cli/plan/command.rs +905 -0
- zyvor_guestkit-1.2.2/src/cli/plan/cutover_prep.rs +281 -0
- zyvor_guestkit-1.2.2/src/cli/plan/executor_live.rs +1018 -0
- zyvor_guestkit-1.2.2/src/cli/plan/export.rs +906 -0
- zyvor_guestkit-1.2.2/src/cli/plan/firstboot_stage.rs +323 -0
- zyvor_guestkit-1.2.2/src/cli/plan/generator.rs +2419 -0
- zyvor_guestkit-1.2.2/src/cli/plan/linux_boot.rs +86 -0
- zyvor_guestkit-1.2.2/src/cli/plan/mod.rs +59 -0
- zyvor_guestkit-1.2.2/src/cli/plan/package_fetch.rs +312 -0
- zyvor_guestkit-1.2.2/src/cli/plan/package_stage.rs +373 -0
- zyvor_guestkit-1.2.2/src/cli/plan/preview.rs +654 -0
- zyvor_guestkit-1.2.2/src/cli/plan/serial_console.rs +458 -0
- zyvor_guestkit-1.2.2/src/cli/plan/topo_sort.rs +57 -0
- zyvor_guestkit-1.2.2/src/cli/plan/types.rs +883 -0
- zyvor_guestkit-1.2.2/src/cli/profiles/compliance.rs +568 -0
- zyvor_guestkit-1.2.2/src/cli/profiles/hardening.rs +573 -0
- zyvor_guestkit-1.2.2/src/cli/profiles/migration.rs +409 -0
- zyvor_guestkit-1.2.2/src/cli/profiles/mod.rs +338 -0
- zyvor_guestkit-1.2.2/src/cli/profiles/performance.rs +308 -0
- zyvor_guestkit-1.2.2/src/cli/profiles/security.rs +394 -0
- zyvor_guestkit-1.2.2/src/cli/profiles/windows_migration.rs +263 -0
- zyvor_guestkit-1.2.2/src/cli/sbom_diff.rs +182 -0
- zyvor_guestkit-1.2.2/src/cli/shell/commands/ai.rs +218 -0
- zyvor_guestkit-1.2.2/src/cli/shell/commands/analysis.rs +7005 -0
- zyvor_guestkit-1.2.2/src/cli/shell/commands/core.rs +610 -0
- zyvor_guestkit-1.2.2/src/cli/shell/commands/mod.rs +142 -0
- zyvor_guestkit-1.2.2/src/cli/shell/commands/navigation.rs +280 -0
- zyvor_guestkit-1.2.2/src/cli/shell/commands/workflow.rs +5498 -0
- zyvor_guestkit-1.2.2/src/cli/shell/completion.rs +254 -0
- zyvor_guestkit-1.2.2/src/cli/shell/explore.rs +1328 -0
- zyvor_guestkit-1.2.2/src/cli/shell/mod.rs +11 -0
- zyvor_guestkit-1.2.2/src/cli/shell/repl.rs +563 -0
- zyvor_guestkit-1.2.2/src/cli/templates/inspection_report.html +700 -0
- zyvor_guestkit-1.2.2/src/cli/tui/app.rs +3049 -0
- zyvor_guestkit-1.2.2/src/cli/tui/app_load.rs +1124 -0
- zyvor_guestkit-1.2.2/src/cli/tui/cache.rs +113 -0
- zyvor_guestkit-1.2.2/src/cli/tui/config.rs +402 -0
- zyvor_guestkit-1.2.2/src/cli/tui/events.rs +34 -0
- zyvor_guestkit-1.2.2/src/cli/tui/fleet.rs +64 -0
- zyvor_guestkit-1.2.2/src/cli/tui/icons.rs +84 -0
- zyvor_guestkit-1.2.2/src/cli/tui/loading.rs +89 -0
- zyvor_guestkit-1.2.2/src/cli/tui/mod.rs +605 -0
- zyvor_guestkit-1.2.2/src/cli/tui/palette.rs +286 -0
- zyvor_guestkit-1.2.2/src/cli/tui/plan_preview.rs +152 -0
- zyvor_guestkit-1.2.2/src/cli/tui/splash.rs +91 -0
- zyvor_guestkit-1.2.2/src/cli/tui/theme.rs +393 -0
- zyvor_guestkit-1.2.2/src/cli/tui/ui.rs +2587 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/ai_insights.rs +94 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/analytics.rs +344 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/assurance.rs +197 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/dashboard.rs +402 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/databases.rs +211 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/files.rs +529 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/issues.rs +319 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/kernel.rs +193 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/logs.rs +438 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/mod.rs +26 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/network.rs +257 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/packages.rs +534 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/profiles.rs +199 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/recommendations.rs +641 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/security.rs +216 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/services.rs +542 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/storage.rs +285 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/systemd_deep.rs +118 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/timeline.rs +341 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/topology.rs +537 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/users.rs +484 -0
- zyvor_guestkit-1.2.2/src/cli/tui/views/webservers.rs +241 -0
- zyvor_guestkit-1.2.2/src/cli/tui/widgets.rs +196 -0
- zyvor_guestkit-1.2.2/src/cli/validate/benchmarks.rs +242 -0
- zyvor_guestkit-1.2.2/src/cli/validate/cloud_profiles.rs +227 -0
- zyvor_guestkit-1.2.2/src/cli/validate/expr.rs +144 -0
- zyvor_guestkit-1.2.2/src/cli/validate/mod.rs +733 -0
- zyvor_guestkit-1.2.2/src/cli/validate/policy.rs +187 -0
- zyvor_guestkit-1.2.2/src/cli/validate/rego.rs +276 -0
- zyvor_guestkit-1.2.2/src/cli/validate/rules.rs +26 -0
- zyvor_guestkit-1.2.2/src/cli/virtio_win.rs +296 -0
- zyvor_guestkit-1.2.2/src/cli/welcome.rs +82 -0
- zyvor_guestkit-1.2.2/src/collectors/dbus/login1.rs +68 -0
- zyvor_guestkit-1.2.2/src/collectors/dbus/mod.rs +75 -0
- zyvor_guestkit-1.2.2/src/collectors/dbus/resolve1.rs +38 -0
- zyvor_guestkit-1.2.2/src/collectors/dbus/systemd1.rs +318 -0
- zyvor_guestkit-1.2.2/src/collectors/dbus/systemd_events.rs +181 -0
- zyvor_guestkit-1.2.2/src/collectors/dbus/timedate1.rs +31 -0
- zyvor_guestkit-1.2.2/src/collectors/hardware.rs +65 -0
- zyvor_guestkit-1.2.2/src/collectors/mod.rs +22 -0
- zyvor_guestkit-1.2.2/src/collectors/network_live.rs +220 -0
- zyvor_guestkit-1.2.2/src/collectors/pressure.rs +29 -0
- zyvor_guestkit-1.2.2/src/collectors/process.rs +226 -0
- zyvor_guestkit-1.2.2/src/collectors/windows_live.rs +715 -0
- zyvor_guestkit-1.2.2/src/converters/disk_converter.rs +206 -0
- zyvor_guestkit-1.2.2/src/converters/mod.rs +8 -0
- zyvor_guestkit-1.2.2/src/core/binary_cache.rs +827 -0
- zyvor_guestkit-1.2.2/src/core/diagnostics.rs +234 -0
- zyvor_guestkit-1.2.2/src/core/error.rs +65 -0
- zyvor_guestkit-1.2.2/src/core/mem_optimize.rs +561 -0
- zyvor_guestkit-1.2.2/src/core/mod.rs +24 -0
- zyvor_guestkit-1.2.2/src/core/progress.rs +177 -0
- zyvor_guestkit-1.2.2/src/core/retry.rs +185 -0
- zyvor_guestkit-1.2.2/src/core/systemd/boot.rs +286 -0
- zyvor_guestkit-1.2.2/src/core/systemd/journal.rs +336 -0
- zyvor_guestkit-1.2.2/src/core/systemd/services.rs +329 -0
- zyvor_guestkit-1.2.2/src/core/systemd.rs +253 -0
- zyvor_guestkit-1.2.2/src/core/types.rs +122 -0
- zyvor_guestkit-1.2.2/src/detectors/guest_detector.rs +226 -0
- zyvor_guestkit-1.2.2/src/detectors/mod.rs +8 -0
- zyvor_guestkit-1.2.2/src/disk/filesystem.rs +428 -0
- zyvor_guestkit-1.2.2/src/disk/loop_device.rs +392 -0
- zyvor_guestkit-1.2.2/src/disk/mod.rs +26 -0
- zyvor_guestkit-1.2.2/src/disk/nbd.rs +658 -0
- zyvor_guestkit-1.2.2/src/disk/partition.rs +236 -0
- zyvor_guestkit-1.2.2/src/disk/reader.rs +180 -0
- zyvor_guestkit-1.2.2/src/evidence/builder.rs +865 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/cloud_init_live.rs +74 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/kubevirt_live.rs +101 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/mod.rs +36 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/network_probes_live.rs +74 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/snapshot_live.rs +42 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/systemd.rs +461 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/windows.rs +196 -0
- zyvor_guestkit-1.2.2/src/evidence/collectors/windows_live.rs +59 -0
- zyvor_guestkit-1.2.2/src/evidence/live.rs +670 -0
- zyvor_guestkit-1.2.2/src/evidence/mod.rs +25 -0
- zyvor_guestkit-1.2.2/src/evidence/snapshot.rs +774 -0
- zyvor_guestkit-1.2.2/src/export/html.rs +764 -0
- zyvor_guestkit-1.2.2/src/export/kubevirt.rs +513 -0
- zyvor_guestkit-1.2.2/src/export/mod.rs +19 -0
- zyvor_guestkit-1.2.2/src/export/pdf.rs +508 -0
- zyvor_guestkit-1.2.2/src/export/template.rs +399 -0
- zyvor_guestkit-1.2.2/src/fleet/analyzer.rs +168 -0
- zyvor_guestkit-1.2.2/src/fleet/baseline.rs +182 -0
- zyvor_guestkit-1.2.2/src/fleet/mod.rs +16 -0
- zyvor_guestkit-1.2.2/src/fleet/quarantine.rs +144 -0
- zyvor_guestkit-1.2.2/src/fleet/report.rs +47 -0
- zyvor_guestkit-1.2.2/src/fleet/wave.rs +391 -0
- zyvor_guestkit-1.2.2/src/guestfs/acl_ops.rs +289 -0
- zyvor_guestkit-1.2.2/src/guestfs/archive.rs +641 -0
- zyvor_guestkit-1.2.2/src/guestfs/attr_ops.rs +208 -0
- zyvor_guestkit-1.2.2/src/guestfs/backup_ops.rs +210 -0
- zyvor_guestkit-1.2.2/src/guestfs/base64_ops.rs +70 -0
- zyvor_guestkit-1.2.2/src/guestfs/bcache_ops.rs +195 -0
- zyvor_guestkit-1.2.2/src/guestfs/blockdev_ops.rs +303 -0
- zyvor_guestkit-1.2.2/src/guestfs/boot.rs +297 -0
- zyvor_guestkit-1.2.2/src/guestfs/btrfs.rs +409 -0
- zyvor_guestkit-1.2.2/src/guestfs/builder.rs +298 -0
- zyvor_guestkit-1.2.2/src/guestfs/cap_ops.rs +143 -0
- zyvor_guestkit-1.2.2/src/guestfs/checksum.rs +275 -0
- zyvor_guestkit-1.2.2/src/guestfs/command.rs +177 -0
- zyvor_guestkit-1.2.2/src/guestfs/compress_ops.rs +207 -0
- zyvor_guestkit-1.2.2/src/guestfs/cpio_ops.rs +171 -0
- zyvor_guestkit-1.2.2/src/guestfs/dd_ops.rs +167 -0
- zyvor_guestkit-1.2.2/src/guestfs/device.rs +517 -0
- zyvor_guestkit-1.2.2/src/guestfs/device_inventory.rs +348 -0
- zyvor_guestkit-1.2.2/src/guestfs/diagnostics.rs +63 -0
- zyvor_guestkit-1.2.2/src/guestfs/disk_mgmt.rs +327 -0
- zyvor_guestkit-1.2.2/src/guestfs/disk_ops.rs +425 -0
- zyvor_guestkit-1.2.2/src/guestfs/dosfs_ops.rs +252 -0
- zyvor_guestkit-1.2.2/src/guestfs/ext_ops.rs +398 -0
- zyvor_guestkit-1.2.2/src/guestfs/f2fs_ops.rs +208 -0
- zyvor_guestkit-1.2.2/src/guestfs/file_ops.rs +942 -0
- zyvor_guestkit-1.2.2/src/guestfs/filesystem.rs +373 -0
- zyvor_guestkit-1.2.2/src/guestfs/forensic.rs +95 -0
- zyvor_guestkit-1.2.2/src/guestfs/fstab.rs +366 -0
- zyvor_guestkit-1.2.2/src/guestfs/fstab_rewriter.rs +240 -0
- zyvor_guestkit-1.2.2/src/guestfs/glob_ops.rs +239 -0
- zyvor_guestkit-1.2.2/src/guestfs/grub_ops.rs +266 -0
- zyvor_guestkit-1.2.2/src/guestfs/grub_repair.rs +554 -0
- zyvor_guestkit-1.2.2/src/guestfs/handle.rs +1085 -0
- zyvor_guestkit-1.2.2/src/guestfs/hivex_ffi.rs +808 -0
- zyvor_guestkit-1.2.2/src/guestfs/hivex_ops.rs +595 -0
- zyvor_guestkit-1.2.2/src/guestfs/inotify_ops.rs +119 -0
- zyvor_guestkit-1.2.2/src/guestfs/inspect.rs +1188 -0
- zyvor_guestkit-1.2.2/src/guestfs/inspect_enhanced.rs +2151 -0
- zyvor_guestkit-1.2.2/src/guestfs/inspect_ext_ops.rs +293 -0
- zyvor_guestkit-1.2.2/src/guestfs/internal.rs +245 -0
- zyvor_guestkit-1.2.2/src/guestfs/iso.rs +179 -0
- zyvor_guestkit-1.2.2/src/guestfs/jfs_ops.rs +207 -0
- zyvor_guestkit-1.2.2/src/guestfs/journal_ops.rs +212 -0
- zyvor_guestkit-1.2.2/src/guestfs/label_ops.rs +147 -0
- zyvor_guestkit-1.2.2/src/guestfs/ldm_ops.rs +283 -0
- zyvor_guestkit-1.2.2/src/guestfs/link_ops.rs +162 -0
- zyvor_guestkit-1.2.2/src/guestfs/luks.rs +453 -0
- zyvor_guestkit-1.2.2/src/guestfs/lvm.rs +592 -0
- zyvor_guestkit-1.2.2/src/guestfs/lvm_clone.rs +3781 -0
- zyvor_guestkit-1.2.2/src/guestfs/md_ops.rs +245 -0
- zyvor_guestkit-1.2.2/src/guestfs/metadata.rs +579 -0
- zyvor_guestkit-1.2.2/src/guestfs/minix_ops.rs +123 -0
- zyvor_guestkit-1.2.2/src/guestfs/misc.rs +290 -0
- zyvor_guestkit-1.2.2/src/guestfs/mod.rs +121 -0
- zyvor_guestkit-1.2.2/src/guestfs/mount.rs +1080 -0
- zyvor_guestkit-1.2.2/src/guestfs/mpath_ops.rs +157 -0
- zyvor_guestkit-1.2.2/src/guestfs/network.rs +214 -0
- zyvor_guestkit-1.2.2/src/guestfs/nilfs_ops.rs +221 -0
- zyvor_guestkit-1.2.2/src/guestfs/node_ops.rs +290 -0
- zyvor_guestkit-1.2.2/src/guestfs/ntfs.rs +276 -0
- zyvor_guestkit-1.2.2/src/guestfs/owner_ops.rs +226 -0
- zyvor_guestkit-1.2.2/src/guestfs/package.rs +221 -0
- zyvor_guestkit-1.2.2/src/guestfs/package_install.rs +204 -0
- zyvor_guestkit-1.2.2/src/guestfs/part_mgmt.rs +401 -0
- zyvor_guestkit-1.2.2/src/guestfs/part_type_ops.rs +240 -0
- zyvor_guestkit-1.2.2/src/guestfs/partition.rs +286 -0
- zyvor_guestkit-1.2.2/src/guestfs/pread_ops.rs +184 -0
- zyvor_guestkit-1.2.2/src/guestfs/reiserfs_ops.rs +255 -0
- zyvor_guestkit-1.2.2/src/guestfs/rsync_ops.rs +113 -0
- zyvor_guestkit-1.2.2/src/guestfs/sam_aes.rs +703 -0
- zyvor_guestkit-1.2.2/src/guestfs/sam_password.rs +407 -0
- zyvor_guestkit-1.2.2/src/guestfs/security.rs +303 -0
- zyvor_guestkit-1.2.2/src/guestfs/security_utils.rs +223 -0
- zyvor_guestkit-1.2.2/src/guestfs/sed_ops.rs +213 -0
- zyvor_guestkit-1.2.2/src/guestfs/selinux_ops.rs +113 -0
- zyvor_guestkit-1.2.2/src/guestfs/service.rs +272 -0
- zyvor_guestkit-1.2.2/src/guestfs/shrink.rs +592 -0
- zyvor_guestkit-1.2.2/src/guestfs/smart_ops.rs +233 -0
- zyvor_guestkit-1.2.2/src/guestfs/squashfs_ops.rs +129 -0
- zyvor_guestkit-1.2.2/src/guestfs/ssh.rs +308 -0
- zyvor_guestkit-1.2.2/src/guestfs/swap_ops.rs +262 -0
- zyvor_guestkit-1.2.2/src/guestfs/sync_ops.rs +106 -0
- zyvor_guestkit-1.2.2/src/guestfs/syslinux_ops.rs +98 -0
- zyvor_guestkit-1.2.2/src/guestfs/sysprep_ops.rs +223 -0
- zyvor_guestkit-1.2.2/src/guestfs/system.rs +349 -0
- zyvor_guestkit-1.2.2/src/guestfs/system_info.rs +163 -0
- zyvor_guestkit-1.2.2/src/guestfs/template_ops.rs +239 -0
- zyvor_guestkit-1.2.2/src/guestfs/time_ops.rs +215 -0
- zyvor_guestkit-1.2.2/src/guestfs/transfer.rs +479 -0
- zyvor_guestkit-1.2.2/src/guestfs/tsk_ops.rs +213 -0
- zyvor_guestkit-1.2.2/src/guestfs/types.rs +396 -0
- zyvor_guestkit-1.2.2/src/guestfs/ufs_ops.rs +171 -0
- zyvor_guestkit-1.2.2/src/guestfs/util_ops.rs +115 -0
- zyvor_guestkit-1.2.2/src/guestfs/utils.rs +324 -0
- zyvor_guestkit-1.2.2/src/guestfs/validation.rs +207 -0
- zyvor_guestkit-1.2.2/src/guestfs/virt_ops.rs +177 -0
- zyvor_guestkit-1.2.2/src/guestfs/windows.rs +259 -0
- zyvor_guestkit-1.2.2/src/guestfs/windows_registry.rs +1819 -0
- zyvor_guestkit-1.2.2/src/guestfs/xfs.rs +231 -0
- zyvor_guestkit-1.2.2/src/guestfs/yara_ops.rs +112 -0
- zyvor_guestkit-1.2.2/src/guestfs/zfs_ops.rs +324 -0
- zyvor_guestkit-1.2.2/src/health/guest_info.rs +86 -0
- zyvor_guestkit-1.2.2/src/health/mod.rs +545 -0
- zyvor_guestkit-1.2.2/src/health/platform.rs +22 -0
- zyvor_guestkit-1.2.2/src/inference/engine.rs +125 -0
- zyvor_guestkit-1.2.2/src/inference/mod.rs +10 -0
- zyvor_guestkit-1.2.2/src/inference/report.rs +22 -0
- zyvor_guestkit-1.2.2/src/journal/analyze.rs +81 -0
- zyvor_guestkit-1.2.2/src/journal/live.rs +25 -0
- zyvor_guestkit-1.2.2/src/journal/mod.rs +12 -0
- zyvor_guestkit-1.2.2/src/journal/sd_journal.rs +198 -0
- zyvor_guestkit-1.2.2/src/journal/sd_journal_native.rs +247 -0
- zyvor_guestkit-1.2.2/src/journal/windows_event.rs +101 -0
- zyvor_guestkit-1.2.2/src/lib.rs +140 -0
- zyvor_guestkit-1.2.2/src/main.rs +8 -0
- zyvor_guestkit-1.2.2/src/metrics/live.rs +164 -0
- zyvor_guestkit-1.2.2/src/metrics/mod.rs +10 -0
- zyvor_guestkit-1.2.2/src/migration/baseline.rs +333 -0
- zyvor_guestkit-1.2.2/src/migration/checks.rs +929 -0
- zyvor_guestkit-1.2.2/src/migration/mod.rs +21 -0
- zyvor_guestkit-1.2.2/src/migration/readiness.rs +154 -0
- zyvor_guestkit-1.2.2/src/migration/repair.rs +670 -0
- zyvor_guestkit-1.2.2/src/migration/score.rs +160 -0
- zyvor_guestkit-1.2.2/src/migration/workflow.rs +338 -0
- zyvor_guestkit-1.2.2/src/python.rs +4335 -0
- zyvor_guestkit-1.2.2/src/qemu/config.rs +1080 -0
- zyvor_guestkit-1.2.2/src/qemu/guestkit.rs +380 -0
- zyvor_guestkit-1.2.2/src/qemu/img.rs +174 -0
- zyvor_guestkit-1.2.2/src/qemu/mod.rs +25 -0
- zyvor_guestkit-1.2.2/src/qemu/qmp.rs +186 -0
- zyvor_guestkit-1.2.2/src/storage/azure.rs +131 -0
- zyvor_guestkit-1.2.2/src/storage/cloud_cache.rs +107 -0
- zyvor_guestkit-1.2.2/src/storage/gcs.rs +98 -0
- zyvor_guestkit-1.2.2/src/storage/local.rs +55 -0
- zyvor_guestkit-1.2.2/src/storage/mod.rs +18 -0
- zyvor_guestkit-1.2.2/src/storage/s3.rs +99 -0
- zyvor_guestkit-1.2.2/src/storage/uri.rs +72 -0
- zyvor_guestkit-1.2.2/src/templates/report.css +284 -0
- zyvor_guestkit-1.2.2/src/virtctl_guestfs.rs +494 -0
- zyvor_guestkit-1.2.2/src/vm.rs +1223 -0
- zyvor_guestkit-1.2.2/templates/agent/agent-policy.yaml +63 -0
- zyvor_guestkit-1.2.2/templates/agent/guest-agent-windows.toml +11 -0
- zyvor_guestkit-1.2.2/templates/agent/guest-agent.toml +9 -0
- zyvor_guestkit-1.2.2/templates/agent/guestkit-agent.service +50 -0
- zyvor_guestkit-1.2.2/templates/agent/hooks/pre-snapshot/mysql-flush.sh +15 -0
- zyvor_guestkit-1.2.2/templates/agent/hooks/pre-snapshot/postgres-flush.sh +15 -0
- zyvor_guestkit-1.2.2/templates/agent/windows/register-updater-task.ps1 +18 -0
- zyvor_guestkit-1.2.2/templates/agent/zyvor-guest-agent-exec.service +17 -0
- zyvor_guestkit-1.2.2/templates/agent/zyvor-guest-agent.service +35 -0
- zyvor_guestkit-1.2.2/templates/agent/zyvor-guest-updater.service +12 -0
- zyvor_guestkit-1.2.2/templates/agent/zyvor-guest-updater.timer +11 -0
- zyvor_guestkit-1.2.2/templates/html_detailed.tpl +132 -0
- zyvor_guestkit-1.2.2/templates/html_minimal.tpl +21 -0
- zyvor_guestkit-1.2.2/templates/html_standard.tpl +80 -0
- zyvor_guestkit-1.2.2/templates/markdown_detailed.tpl +71 -0
- zyvor_guestkit-1.2.2/templates/markdown_minimal.tpl +10 -0
- zyvor_guestkit-1.2.2/templates/markdown_standard.tpl +26 -0
- zyvor_guestkit-1.2.2/templates/text_minimal.tpl +10 -0
- zyvor_guestkit-1.2.2/templates/text_standard.tpl +25 -0
- zyvor_guestkit-1.2.2/test_colors_demo.sh +74 -0
- zyvor_guestkit-1.2.2/test_results.txt +157 -0
- zyvor_guestkit-1.2.2/tests/agent_heartbeat_push.rs +143 -0
- zyvor_guestkit-1.2.2/tests/agent_integration.rs +314 -0
- zyvor_guestkit-1.2.2/tests/arch_realistic.rs +733 -0
- zyvor_guestkit-1.2.2/tests/assurance_integration.rs +352 -0
- zyvor_guestkit-1.2.2/tests/blueprint/mod.rs +375 -0
- zyvor_guestkit-1.2.2/tests/cli_guestctl_test.rs +94 -0
- zyvor_guestkit-1.2.2/tests/cost/mod.rs +342 -0
- zyvor_guestkit-1.2.2/tests/debian_realistic.rs +947 -0
- zyvor_guestkit-1.2.2/tests/dependencies/mod.rs +496 -0
- zyvor_guestkit-1.2.2/tests/helpers/mock_disk.rs +359 -0
- zyvor_guestkit-1.2.2/tests/helpers/mod.rs +8 -0
- zyvor_guestkit-1.2.2/tests/integration_basic.rs +412 -0
- zyvor_guestkit-1.2.2/tests/integration_error_handling.rs +355 -0
- zyvor_guestkit-1.2.2/tests/integration_lvm_luks.rs +297 -0
- zyvor_guestkit-1.2.2/tests/license/mod.rs +321 -0
- zyvor_guestkit-1.2.2/tests/migrate/mod.rs +361 -0
- zyvor_guestkit-1.2.2/tests/output_formats_test.rs +86 -0
- zyvor_guestkit-1.2.2/tests/panic_safety.rs +258 -0
- zyvor_guestkit-1.2.2/tests/performance_validation.rs +431 -0
- zyvor_guestkit-1.2.2/tests/phase3_comprehensive.rs +445 -0
- zyvor_guestkit-1.2.2/tests/phase3_windows.rs +479 -0
- zyvor_guestkit-1.2.2/tests/qemu_runtime.rs +55 -0
- zyvor_guestkit-1.2.2/tests/registry_write.rs +90 -0
- zyvor_guestkit-1.2.2/tests/security_tests.rs +225 -0
- zyvor_guestkit-1.2.2/tests/test_license.rs +188 -0
- zyvor_guestkit-1.2.2/tests/test_python_bindings.py +382 -0
- zyvor_guestkit-1.2.2/tests/ubuntu_realistic.rs +666 -0
- zyvor_guestkit-1.2.2/tests/vm_runtime.rs +185 -0
- zyvor_guestkit-1.2.2/tests/windows_realistic.rs +680 -0
- zyvor_guestkit-1.2.2/website/.gitignore +20 -0
- zyvor_guestkit-1.2.2/website/README.md +23 -0
- zyvor_guestkit-1.2.2/website/docusaurus.config.ts +113 -0
- zyvor_guestkit-1.2.2/website/package-lock.json +19555 -0
- zyvor_guestkit-1.2.2/website/package.json +49 -0
- zyvor_guestkit-1.2.2/website/sidebars.ts +9 -0
- zyvor_guestkit-1.2.2/website/src/components/FeatureHighlights/index.tsx +74 -0
- zyvor_guestkit-1.2.2/website/src/components/FeatureHighlights/styles.module.css +30 -0
- zyvor_guestkit-1.2.2/website/src/components/Reveal/index.tsx +49 -0
- zyvor_guestkit-1.2.2/website/src/css/custom.css +199 -0
- zyvor_guestkit-1.2.2/website/src/pages/index.module.css +76 -0
- zyvor_guestkit-1.2.2/website/src/pages/index.tsx +156 -0
- zyvor_guestkit-1.2.2/website/static/.nojekyll +0 -0
- zyvor_guestkit-1.2.2/website/static/img/favicon.svg +13 -0
- zyvor_guestkit-1.2.2/website/tsconfig.json +12 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
[target.x86_64-pc-windows-gnu]
|
|
2
|
+
linker = "x86_64-w64-mingw32-gcc"
|
|
3
|
+
|
|
4
|
+
[target.aarch64-apple-darwin]
|
|
5
|
+
# Homebrew on Apple Silicon installs to /opt/homebrew, which isn't on the
|
|
6
|
+
# default linker search path - needed to link libhivex (registry-write
|
|
7
|
+
# feature). No-op on Linux (production target) or x86_64 Mac (Homebrew
|
|
8
|
+
# uses /usr/local, already searched by default).
|
|
9
|
+
rustflags = ["-L", "/opt/homebrew/lib"]
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Build artifacts
|
|
2
|
+
target/
|
|
3
|
+
**/target/
|
|
4
|
+
crates/*/target/
|
|
5
|
+
*.so
|
|
6
|
+
*.pyc
|
|
7
|
+
*.pyo
|
|
8
|
+
__pycache__/
|
|
9
|
+
|
|
10
|
+
# IDE and editor files
|
|
11
|
+
.vscode/
|
|
12
|
+
.idea/
|
|
13
|
+
*.swp
|
|
14
|
+
*.swo
|
|
15
|
+
*~
|
|
16
|
+
.DS_Store
|
|
17
|
+
|
|
18
|
+
# Git
|
|
19
|
+
.git/
|
|
20
|
+
.gitignore
|
|
21
|
+
.github/
|
|
22
|
+
|
|
23
|
+
# Documentation
|
|
24
|
+
*.md
|
|
25
|
+
!README.md
|
|
26
|
+
docs/
|
|
27
|
+
|
|
28
|
+
# Test files
|
|
29
|
+
*.qcow2
|
|
30
|
+
*.vmdk
|
|
31
|
+
*.vdi
|
|
32
|
+
*.vhdx
|
|
33
|
+
*.raw
|
|
34
|
+
*.img
|
|
35
|
+
*.iso
|
|
36
|
+
vms/
|
|
37
|
+
|
|
38
|
+
# Python
|
|
39
|
+
.venv/
|
|
40
|
+
venv/
|
|
41
|
+
*.egg-info/
|
|
42
|
+
dist/
|
|
43
|
+
build/
|
|
44
|
+
.pytest_cache/
|
|
45
|
+
|
|
46
|
+
# Temporary files
|
|
47
|
+
*.tmp
|
|
48
|
+
*.log
|
|
49
|
+
.cache/
|
|
50
|
+
|
|
51
|
+
# Docker files (don't need in build context except Dockerfile)
|
|
52
|
+
docker-compose.yml
|
|
53
|
+
.dockerignore
|
|
54
|
+
|
|
55
|
+
# CI/CD
|
|
56
|
+
.github/
|
|
57
|
+
.claude/
|
|
58
|
+
|
|
59
|
+
# RPM build
|
|
60
|
+
*.spec
|
|
61
|
+
RPM-BUILD.md
|
|
62
|
+
|
|
63
|
+
# Integration tests
|
|
64
|
+
integration/
|
|
65
|
+
|
|
66
|
+
# Scripts
|
|
67
|
+
scripts/
|
|
68
|
+
test_*.sh
|
|
69
|
+
build_python.sh
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Bug Report
|
|
3
|
+
about: Report a bug in the open-source repo (not for sales or enterprise quotes)
|
|
4
|
+
title: "[BUG] "
|
|
5
|
+
labels: bug
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
> **Enterprise / sales / SLAs / VMware exit programs** → [zyvor.dev/contact](https://zyvor.dev/contact?utm_source=github&utm_medium=guestkit) or [sales@zyvor.dev](mailto:sales@zyvor.dev) — do not use this form.
|
|
9
|
+
|
|
10
|
+
## Bug Description
|
|
11
|
+
|
|
12
|
+
## To Reproduce
|
|
13
|
+
|
|
14
|
+
1.
|
|
15
|
+
2.
|
|
16
|
+
3.
|
|
17
|
+
|
|
18
|
+
## Expected Behavior
|
|
19
|
+
|
|
20
|
+
## Actual Behavior
|
|
21
|
+
|
|
22
|
+
## Environment
|
|
23
|
+
|
|
24
|
+
- guestctl version:
|
|
25
|
+
- OS:
|
|
26
|
+
- Disk format:
|
|
27
|
+
|
|
28
|
+
## Logs
|
|
29
|
+
|
|
30
|
+
```text
|
|
31
|
+
(paste relevant output)
|
|
32
|
+
```
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
blank_issues_enabled: false
|
|
2
|
+
contact_links:
|
|
3
|
+
- name: "▶ Watch migration demo (video + dashboard)"
|
|
4
|
+
url: https://zyvor.dev/demo?utm_source=github&utm_medium=guestkit
|
|
5
|
+
about: Migration video and live dashboard tour at zyvor.dev/demo
|
|
6
|
+
- name: "🏢 Enterprise, sales & SLAs (Zyvor)"
|
|
7
|
+
url: https://zyvor.dev/contact?utm_source=github&utm_medium=guestkit
|
|
8
|
+
about: Production migrations, VMware exit, licensing, and guided demos — not for GitHub Issues
|
|
9
|
+
- name: "📧 Email sales"
|
|
10
|
+
url: mailto:sales@zyvor.dev
|
|
11
|
+
about: sales@zyvor.dev — enterprise quotes and migration programs
|
|
12
|
+
- name: "ROI calculator"
|
|
13
|
+
url: https://zyvor.dev/roi?utm_source=github&utm_medium=guestkit
|
|
14
|
+
about: Estimate savings from VMware exit and platform migration
|
|
15
|
+
- name: "CE vs Enterprise"
|
|
16
|
+
url: https://github.com/zyvorai/guestkit/blob/main/docs/ce-vs-enterprise.md
|
|
17
|
+
about: When to use this GitHub repo vs contact Zyvor for production
|
|
18
|
+
- name: "💬 Discussions"
|
|
19
|
+
url: https://github.com/zyvorai/guestkit/discussions
|
|
20
|
+
about: Community questions and ideas
|
|
21
|
+
- name: "🔐 Security"
|
|
22
|
+
url: https://github.com/zyvorai/guestkit/blob/main/SECURITY.md
|
|
23
|
+
about: Report vulnerabilities privately (not for sales)
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Feature Request
|
|
3
|
+
about: Suggest an enhancement for the open-source repo
|
|
4
|
+
title: "[FEATURE] "
|
|
5
|
+
labels: enhancement
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
> **Enterprise platform features** (dashboard, SLAs, fleet orchestration) → [zyvor.dev/contact](https://zyvor.dev/contact?utm_source=github&utm_medium=guestkit)
|
|
9
|
+
|
|
10
|
+
## Problem
|
|
11
|
+
|
|
12
|
+
## Proposed Solution
|
|
13
|
+
|
|
14
|
+
## Alternatives
|
|
15
|
+
|
|
16
|
+
## Additional Context
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
## Release notes
|
|
2
|
+
|
|
3
|
+
<!-- Describe changes -->
|
|
4
|
+
|
|
5
|
+
## Open source
|
|
6
|
+
|
|
7
|
+
This release is the open-source **GuestKit** toolkit on GitHub.
|
|
8
|
+
|
|
9
|
+
## Enterprise & production
|
|
10
|
+
|
|
11
|
+
For VMware exit programs, fleet migrations, SLAs, and the full **HyperSDK Platform** suite ([HyperSDK](https://zyvor.dev/hypersdk) · [hyper2kvm](https://zyvor.dev/hyper2kvm) · GuestKit · [v9s](https://zyvor.dev/v9s) · [PacketWolf](https://zyvor.dev/packetwolf)):
|
|
12
|
+
|
|
13
|
+
- **Platform:** https://zyvor.dev/?utm_source=github&utm_medium=guestkit
|
|
14
|
+
- **Contact:** https://zyvor.dev/contact?utm_source=github&utm_medium=guestkit
|
|
15
|
+
- **Sales:** sales@zyvor.dev
|
|
16
|
+
|
|
17
|
+
**Full comparison:** [docs/ce-vs-enterprise.md](docs/ce-vs-enterprise.md)
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
name: 'GuestKit rescue dry-run'
|
|
2
|
+
description: 'Export a reviewable rescue FixPlan from a disk image. Does not mutate the image.'
|
|
3
|
+
author: 'zyvorai'
|
|
4
|
+
|
|
5
|
+
branding:
|
|
6
|
+
icon: 'life-buoy'
|
|
7
|
+
color: 'purple'
|
|
8
|
+
|
|
9
|
+
inputs:
|
|
10
|
+
disk:
|
|
11
|
+
description: 'Path to the disk image.'
|
|
12
|
+
required: true
|
|
13
|
+
operation:
|
|
14
|
+
description: 'Rescue operation (enable-ssh, fix-fstab, enable-rdp, set-hostname, …).'
|
|
15
|
+
required: true
|
|
16
|
+
user:
|
|
17
|
+
description: 'Username when the operation needs one.'
|
|
18
|
+
required: false
|
|
19
|
+
default: ''
|
|
20
|
+
hostname:
|
|
21
|
+
description: 'Hostname for set-hostname.'
|
|
22
|
+
required: false
|
|
23
|
+
default: ''
|
|
24
|
+
version:
|
|
25
|
+
description: 'GuestKit release to install. Defaults to latest.'
|
|
26
|
+
required: false
|
|
27
|
+
default: 'latest'
|
|
28
|
+
artifact-name:
|
|
29
|
+
description: 'Upload artifact name. Empty disables upload.'
|
|
30
|
+
required: false
|
|
31
|
+
default: 'guestkit-rescue-plan'
|
|
32
|
+
|
|
33
|
+
outputs:
|
|
34
|
+
plan-path:
|
|
35
|
+
description: 'Path to the exported FixPlan YAML.'
|
|
36
|
+
value: ${{ steps.run.outputs.plan-path }}
|
|
37
|
+
|
|
38
|
+
runs:
|
|
39
|
+
using: 'composite'
|
|
40
|
+
steps:
|
|
41
|
+
- name: Resolve and install GuestKit
|
|
42
|
+
id: install
|
|
43
|
+
shell: bash
|
|
44
|
+
run: |
|
|
45
|
+
set -euo pipefail
|
|
46
|
+
VERSION="${{ inputs.version }}"
|
|
47
|
+
if [[ "${VERSION}" == "latest" ]]; then
|
|
48
|
+
BODY="$(curl -fsSL https://api.github.com/repos/zyvorai/guestkit/releases/latest)"
|
|
49
|
+
VERSION="$(printf '%s' "${BODY}" | grep -m1 '"tag_name"' | sed -E 's/.*"v?([^"]+)".*/\1/')"
|
|
50
|
+
fi
|
|
51
|
+
VERSION="${VERSION#v}"
|
|
52
|
+
ASSET="guestkit-${VERSION}-linux-amd64.tar.gz"
|
|
53
|
+
BASE_URL="https://github.com/zyvorai/guestkit/releases/download/v${VERSION}"
|
|
54
|
+
WORKDIR="${RUNNER_TEMP}/guestkit-rescue-install"
|
|
55
|
+
mkdir -p "${WORKDIR}"
|
|
56
|
+
cd "${WORKDIR}"
|
|
57
|
+
curl -fsSL -o "${ASSET}" "${BASE_URL}/${ASSET}"
|
|
58
|
+
tar -xzf "${ASSET}"
|
|
59
|
+
BIN_PATH="$(find "${WORKDIR}" -mindepth 1 -maxdepth 2 -type f -name guestkit | head -n1)"
|
|
60
|
+
chmod +x "${BIN_PATH}"
|
|
61
|
+
echo "GUESTKIT_BIN=${BIN_PATH}" >> "$GITHUB_ENV"
|
|
62
|
+
|
|
63
|
+
- name: Export rescue plan (no apply)
|
|
64
|
+
id: run
|
|
65
|
+
shell: bash
|
|
66
|
+
env:
|
|
67
|
+
GK_DISK: ${{ inputs.disk }}
|
|
68
|
+
GK_OP: ${{ inputs.operation }}
|
|
69
|
+
GK_USER: ${{ inputs.user }}
|
|
70
|
+
GK_HOST: ${{ inputs.hostname }}
|
|
71
|
+
run: |
|
|
72
|
+
set -euo pipefail
|
|
73
|
+
OUT="${RUNNER_TEMP}/guestkit-rescue"
|
|
74
|
+
mkdir -p "${OUT}"
|
|
75
|
+
guestkit() { sudo "${GUESTKIT_BIN}" "$@"; }
|
|
76
|
+
ARGS=(rescue "${GK_DISK}" -o "${GK_OP}" --export-plan "${OUT}/rescue.yaml")
|
|
77
|
+
[[ -n "${GK_USER}" ]] && ARGS+=(-u "${GK_USER}")
|
|
78
|
+
[[ -n "${GK_HOST}" ]] && ARGS+=(--hostname "${GK_HOST}")
|
|
79
|
+
guestkit "${ARGS[@]}"
|
|
80
|
+
echo "plan-path=${OUT}/rescue.yaml" >> "$GITHUB_OUTPUT"
|
|
81
|
+
echo "GK_RESCUE_OUT=${OUT}" >> "$GITHUB_ENV"
|
|
82
|
+
|
|
83
|
+
- name: Upload rescue plan
|
|
84
|
+
if: always() && inputs.artifact-name != ''
|
|
85
|
+
uses: actions/upload-artifact@v4
|
|
86
|
+
with:
|
|
87
|
+
name: ${{ inputs.artifact-name }}
|
|
88
|
+
path: ${{ env.GK_RESCUE_OUT }}/rescue.yaml
|
|
89
|
+
if-no-files-found: ignore
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# Copilot instructions for guestkit
|
|
2
|
+
|
|
3
|
+
Purpose: quick, actionable guidance for AI-assisted coding sessions in this repository.
|
|
4
|
+
|
|
5
|
+
Build, test, and lint
|
|
6
|
+
- Build (dev): cargo build
|
|
7
|
+
- Build (release): cargo build --release
|
|
8
|
+
- Cross / musl: cargo build --release --target x86_64-unknown-linux-musl
|
|
9
|
+
- Install locally: cargo install --path .
|
|
10
|
+
- Build examples: cargo build --examples
|
|
11
|
+
- Build docs: cargo doc --no-deps --all-features
|
|
12
|
+
|
|
13
|
+
Rust tests
|
|
14
|
+
- Run all tests: cargo test
|
|
15
|
+
- Run a single test by name (pattern): cargo test <test_name>
|
|
16
|
+
Example: cargo test test_partition_parsing
|
|
17
|
+
- Run a single test exact name: cargo test -- --test-threads=1 <filter>
|
|
18
|
+
(Usually: cargo test <fn_name> -- --nocapture)
|
|
19
|
+
- CI runs: cargo test --verbose
|
|
20
|
+
|
|
21
|
+
Python (PyO3) tests
|
|
22
|
+
- Build the Python extension first: maturin develop --release --features python-bindings
|
|
23
|
+
- Run Python tests: pytest tests/ or pytest integration/tests/test_integration.py::test_version_command
|
|
24
|
+
|
|
25
|
+
Linting & formatting
|
|
26
|
+
- Formatting check (CI): cargo fmt -- --check
|
|
27
|
+
- Apply formatting: cargo fmt
|
|
28
|
+
- Linting (CI): cargo clippy --all-targets --all-features -- -D warnings
|
|
29
|
+
|
|
30
|
+
High-level architecture (big picture)
|
|
31
|
+
- Purpose: offline VM disk inspection (qcow2, vmdk, raw) with reporting, TUI, REPL, and optional Python bindings.
|
|
32
|
+
- Layers (top → bottom):
|
|
33
|
+
1. Applications / CLI / TUI / Python bindings (entrypoints in src/cli/, src/python.rs)
|
|
34
|
+
2. High-level Rust API (converters, guest detection, pipelines)
|
|
35
|
+
3. Pure-Rust disk layer (src/disk/): DiskReader, partition parsing, filesystem detection
|
|
36
|
+
4. Core utilities: error types, retry logic, types
|
|
37
|
+
5. Optional external tools: qemu-img / qemu-nbd used only for conversion/fallback
|
|
38
|
+
- Key modules to consult:
|
|
39
|
+
- src/cli/ — commands, profiles, exporters, TUI, interactive shell
|
|
40
|
+
- src/disk/ — reader, partition, filesystem, loop_device, nbd fallback
|
|
41
|
+
- src/detectors/ — guest OS detection logic
|
|
42
|
+
- src/converters — qemu-img wrapper for format conversion
|
|
43
|
+
- src/python.rs — PyO3 bindings and Python integration surface
|
|
44
|
+
- docs/architecture/overview.md — more detailed design notes
|
|
45
|
+
|
|
46
|
+
Key conventions and repository-specific patterns
|
|
47
|
+
- No C dependencies: core disk parsing is implemented in pure Rust; qemu-img/qemu-nbd are optional external tools used only for conversion or advanced formats.
|
|
48
|
+
- Device strategy: LoopDevice is preferred (fast path for RAW/IMG); NBD (qemu-nbd) used as fallback for QCOW2/VMDK; this strategy is implemented in Guestfs::launch().
|
|
49
|
+
- Cargo features:
|
|
50
|
+
- default = ["guest-inspect", "journal-native"]
|
|
51
|
+
- python-bindings (enable PyO3 / maturin)
|
|
52
|
+
- ai (optional rig-core + reqwest)
|
|
53
|
+
Build with features where relevant: cargo build --features python-bindings
|
|
54
|
+
- Tests:
|
|
55
|
+
- Rust unit tests live inline in modules (use cargo test)
|
|
56
|
+
- Python integration/tests under tests/ and integration/tests/ (use maturin then pytest)
|
|
57
|
+
- CI expectations:
|
|
58
|
+
- Formatting (rustfmt) and clippy warnings are enforced as errors in CI. Keep changes clean: run cargo fmt and cargo clippy locally before opening PRs.
|
|
59
|
+
- Examples, docs and release artifacts are built in CI; see .github/workflows/ci.yml for exact steps.
|
|
60
|
+
- Error handling: use the crate Result<T> alias and the central Error enum (thiserror) — follow existing patterns in src/core and modules.
|
|
61
|
+
- Minimal unsafe: unsafe blocks are rare and audited; assume disk byte reads and memmap2 use are the main areas.
|
|
62
|
+
|
|
63
|
+
Where to look first
|
|
64
|
+
- README.md (quick start & examples)
|
|
65
|
+
- docs/architecture/overview.md (design + module map)
|
|
66
|
+
- src/disk/ and src/detectors/ for the core inspection logic
|
|
67
|
+
- src/cli/ for how CLI commands wire into the API
|
|
68
|
+
|
|
69
|
+
Notes for Copilot sessions
|
|
70
|
+
- Suggest concrete edits: add tiny, focused changes (tests, docs, clippy fixes). Broad redesigns should be broken into multiple PR-sized steps.
|
|
71
|
+
- When changing behavior touching disk handling, run unit tests and, where applicable, the Python integration tests after rebuilding the Python extension.
|
|
72
|
+
- Respect CI: run cargo fmt and cargo clippy locally with the CI flags to avoid churn.
|
|
73
|
+
|
|
74
|
+
Reference files
|
|
75
|
+
- .github/workflows/ci.yml — CI steps (formatting, clippy, build, tests, docs)
|
|
76
|
+
- Cargo.toml — features, dev-dependencies and targets
|
|
77
|
+
- docs/architecture/overview.md — expanded architecture
|
|
78
|
+
|
|
79
|
+
Releasing & publishing
|
|
80
|
+
|
|
81
|
+
Publishing crate to crates.io
|
|
82
|
+
- Prepare:
|
|
83
|
+
- Bump version in Cargo.toml and optionally update CHANGELOG.md and release notes.
|
|
84
|
+
- Ensure repo is clean, all tests pass, and cargo fmt/clippy run without warnings.
|
|
85
|
+
- Verify package contents: cargo package --allow-dirty --no-verify (recommended to run without --allow-dirty on CI)
|
|
86
|
+
- Dry run: cargo publish --dry-run
|
|
87
|
+
- Publish: cargo publish
|
|
88
|
+
- Requires a crates.io API token configured via `cargo login <TOKEN>` or CARGO_REGISTRY_TOKEN env var.
|
|
89
|
+
- Tag & release: create an annotated git tag and push tags; create a GitHub Release with notes.
|
|
90
|
+
Commands (example):
|
|
91
|
+
git tag -s vX.Y.Z -m "guestkit vX.Y.Z" && git push && git push --tags
|
|
92
|
+
gh release create vX.Y.Z target/x86_64-unknown-linux-gnu/release/guestkit -t "guestkit vX.Y.Z" -n "Release notes"
|
|
93
|
+
|
|
94
|
+
Publishing Python wheels to PyPI (PyO3)
|
|
95
|
+
- Build and test locally:
|
|
96
|
+
- maturin build --release --features python-bindings
|
|
97
|
+
- pip install --force-reinstall target/wheels/guestkit-*.whl && pytest tests/
|
|
98
|
+
- Publish to PyPI: maturin publish -u __token__ -p "$PYPI_API_TOKEN"
|
|
99
|
+
- Provide PYPI_API_TOKEN via secrets (recommended) or pass credentials interactively.
|
|
100
|
+
- Alternative: build wheel then upload via twine: twine upload target/wheels/*
|
|
101
|
+
|
|
102
|
+
GitHub Releases (binaries & artifacts)
|
|
103
|
+
- `.github/workflows/release.yml` already automates this end to end on a tag push: it builds/uploads binary artifacts per target, creates the GitHub Release via `softprops/action-gh-release@v2`, and runs `cargo publish`. Pushing an annotated tag is normally all that's needed.
|
|
104
|
+
- To publish manually instead: download artifacts from CI or build locally for each target, then `gh release create vX.Y.Z path/to/artifact -t "vX.Y.Z" -n "Notes"`.
|
|
105
|
+
|
|
106
|
+
Release checklist (quick)
|
|
107
|
+
- Run cargo fmt && cargo clippy --all-targets --all-features -- -D warnings
|
|
108
|
+
- cargo test && cargo doc --no-deps
|
|
109
|
+
- cargo package && cargo publish --dry-run
|
|
110
|
+
- Create signed git tag and push
|
|
111
|
+
- Create GitHub Release (attach CI artifacts)
|
|
112
|
+
- For Python: maturin build, test wheel, maturin publish
|
|
113
|
+
|
|
114
|
+
Automation
|
|
115
|
+
- `.github/workflows/release.yml` is the fully automated tag→release pipeline described above — it already exists, gated to trusted maintainers via repo secrets.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
name: Agent Release (manual)
|
|
2
|
+
|
|
3
|
+
# Agent artifacts are built and attached to GitHub Releases by release.yml on v* tags.
|
|
4
|
+
# Use this workflow only to rebuild VM tools artifacts without cutting a release.
|
|
5
|
+
|
|
6
|
+
on:
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
inputs:
|
|
9
|
+
version:
|
|
10
|
+
description: "Attach artifacts to GitHub release v<version> (e.g. 1.0.1); leave empty for CI artifacts only"
|
|
11
|
+
required: false
|
|
12
|
+
default: ""
|
|
13
|
+
|
|
14
|
+
jobs:
|
|
15
|
+
build-agent-musl:
|
|
16
|
+
runs-on: ubuntu-latest
|
|
17
|
+
permissions:
|
|
18
|
+
contents: write
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
|
|
22
|
+
- name: Install toolchain
|
|
23
|
+
run: |
|
|
24
|
+
sudo apt-get update
|
|
25
|
+
sudo apt-get install -y musl-tools genisoimage
|
|
26
|
+
rustup target add x86_64-unknown-linux-musl
|
|
27
|
+
|
|
28
|
+
- name: Build Zeus VM Tools artifacts
|
|
29
|
+
env:
|
|
30
|
+
VERSION: ${{ inputs.version != '' && inputs.version || '0.0.0-dev' }}
|
|
31
|
+
run: bash packaging/vmtools/build-artifacts.sh
|
|
32
|
+
|
|
33
|
+
- name: Upload Linux tarball
|
|
34
|
+
uses: actions/upload-artifact@v4
|
|
35
|
+
with:
|
|
36
|
+
name: zyvor-vm-tools-linux-amd64
|
|
37
|
+
path: |
|
|
38
|
+
dist/vmtools/linux/zyvor-vm-tools-linux-amd64.tar.gz
|
|
39
|
+
dist/vmtools/linux/zyvor-vm-tools-linux-amd64.tar.gz.sha256
|
|
40
|
+
|
|
41
|
+
- name: Upload DEB
|
|
42
|
+
uses: actions/upload-artifact@v4
|
|
43
|
+
with:
|
|
44
|
+
name: zyvor-vm-tools-deb
|
|
45
|
+
path: dist/vmtools/linux/zyvor-vm-tools_*_amd64.deb
|
|
46
|
+
|
|
47
|
+
- name: Upload ISO
|
|
48
|
+
uses: actions/upload-artifact@v4
|
|
49
|
+
with:
|
|
50
|
+
name: zyvor-vm-tools-iso
|
|
51
|
+
path: dist/vmtools/zyvor-vm-tools.iso
|
|
52
|
+
if-no-files-found: ignore
|
|
53
|
+
|
|
54
|
+
- name: Upload to GitHub Release
|
|
55
|
+
if: inputs.version != ''
|
|
56
|
+
env:
|
|
57
|
+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
58
|
+
VERSION: ${{ inputs.version }}
|
|
59
|
+
run: |
|
|
60
|
+
set -euo pipefail
|
|
61
|
+
TAG="v${VERSION}"
|
|
62
|
+
FILES=(
|
|
63
|
+
dist/vmtools/linux/zyvor-vm-tools-linux-amd64.tar.gz
|
|
64
|
+
dist/vmtools/linux/zyvor-vm-tools-linux-amd64.tar.gz.sha256
|
|
65
|
+
"dist/vmtools/linux/zyvor-vm-tools_${VERSION}_amd64.deb"
|
|
66
|
+
)
|
|
67
|
+
if [[ -f dist/vmtools/zyvor-vm-tools.iso ]]; then
|
|
68
|
+
FILES+=(dist/vmtools/zyvor-vm-tools.iso)
|
|
69
|
+
fi
|
|
70
|
+
gh release upload "${TAG}" "${FILES[@]}" --clobber
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
name: Build and Publish Python Wheels
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
tags:
|
|
6
|
+
- 'v*'
|
|
7
|
+
workflow_dispatch:
|
|
8
|
+
inputs:
|
|
9
|
+
publish:
|
|
10
|
+
description: 'Publish to PyPI'
|
|
11
|
+
required: false
|
|
12
|
+
default: 'false'
|
|
13
|
+
|
|
14
|
+
permissions:
|
|
15
|
+
contents: read
|
|
16
|
+
|
|
17
|
+
jobs:
|
|
18
|
+
linux:
|
|
19
|
+
name: Build wheels for Linux ${{ matrix.target }}
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
strategy:
|
|
22
|
+
matrix:
|
|
23
|
+
# aarch64 manylinux cross image fails in CI; macOS needs Linux-only libc gated
|
|
24
|
+
target: [x86_64]
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v4
|
|
27
|
+
|
|
28
|
+
- uses: actions/setup-python@v5
|
|
29
|
+
with:
|
|
30
|
+
python-version: '3.11'
|
|
31
|
+
|
|
32
|
+
- name: Build wheels
|
|
33
|
+
uses: PyO3/maturin-action@v1
|
|
34
|
+
with:
|
|
35
|
+
target: ${{ matrix.target }}
|
|
36
|
+
args: --release --out dist --features python-bindings
|
|
37
|
+
sccache: 'true'
|
|
38
|
+
manylinux: auto
|
|
39
|
+
before-script-linux: |
|
|
40
|
+
yum install -y openssl-devel systemd-devel
|
|
41
|
+
|
|
42
|
+
- name: Upload wheels
|
|
43
|
+
uses: actions/upload-artifact@v4
|
|
44
|
+
with:
|
|
45
|
+
name: wheels-linux-${{ matrix.target }}
|
|
46
|
+
path: dist
|
|
47
|
+
retention-days: 7
|
|
48
|
+
|
|
49
|
+
sdist:
|
|
50
|
+
name: Build source distribution
|
|
51
|
+
runs-on: ubuntu-latest
|
|
52
|
+
steps:
|
|
53
|
+
- uses: actions/checkout@v4
|
|
54
|
+
|
|
55
|
+
- name: Build sdist
|
|
56
|
+
uses: PyO3/maturin-action@v1
|
|
57
|
+
with:
|
|
58
|
+
command: sdist
|
|
59
|
+
args: --out dist
|
|
60
|
+
|
|
61
|
+
- name: Upload sdist
|
|
62
|
+
uses: actions/upload-artifact@v4
|
|
63
|
+
with:
|
|
64
|
+
name: wheels-sdist
|
|
65
|
+
path: dist
|
|
66
|
+
retention-days: 7
|
|
67
|
+
|
|
68
|
+
publish:
|
|
69
|
+
name: Publish to PyPI
|
|
70
|
+
runs-on: ubuntu-latest
|
|
71
|
+
needs: [linux, sdist]
|
|
72
|
+
# Only publish on tag pushes or manual workflow with publish=true
|
|
73
|
+
if: |
|
|
74
|
+
startsWith(github.ref, 'refs/tags/') ||
|
|
75
|
+
(github.event_name == 'workflow_dispatch' && github.event.inputs.publish == 'true')
|
|
76
|
+
environment:
|
|
77
|
+
name: pypi
|
|
78
|
+
url: https://pypi.org/p/zyvor-guestkit
|
|
79
|
+
permissions:
|
|
80
|
+
id-token: write # IMPORTANT: this permission is mandatory for trusted publishing
|
|
81
|
+
steps:
|
|
82
|
+
- name: Download all artifacts
|
|
83
|
+
uses: actions/download-artifact@v4
|
|
84
|
+
with:
|
|
85
|
+
pattern: wheels-*
|
|
86
|
+
merge-multiple: true
|
|
87
|
+
path: dist
|
|
88
|
+
|
|
89
|
+
- name: List distributions
|
|
90
|
+
run: ls -lh dist/
|
|
91
|
+
|
|
92
|
+
- name: Publish to PyPI
|
|
93
|
+
uses: pypa/gh-action-pypi-publish@release/v1
|
|
94
|
+
with:
|
|
95
|
+
password: ${{ secrets.PYPI_API_TOKEN }}
|
|
96
|
+
skip-existing: true
|
|
97
|
+
verbose: true
|
|
98
|
+
|
|
99
|
+
test-install:
|
|
100
|
+
name: Test installation
|
|
101
|
+
runs-on: ${{ matrix.os }}
|
|
102
|
+
needs: [linux]
|
|
103
|
+
strategy:
|
|
104
|
+
matrix:
|
|
105
|
+
os: [ubuntu-latest]
|
|
106
|
+
python-version: ['3.8', '3.11', '3.12']
|
|
107
|
+
steps:
|
|
108
|
+
- name: Download wheels
|
|
109
|
+
uses: actions/download-artifact@v4
|
|
110
|
+
with:
|
|
111
|
+
pattern: wheels-*
|
|
112
|
+
merge-multiple: true
|
|
113
|
+
path: dist
|
|
114
|
+
|
|
115
|
+
- uses: actions/setup-python@v5
|
|
116
|
+
with:
|
|
117
|
+
python-version: ${{ matrix.python-version }}
|
|
118
|
+
|
|
119
|
+
- name: Install from wheel
|
|
120
|
+
run: |
|
|
121
|
+
pip install --no-index --find-links dist --only-binary=:all: zyvor-guestkit
|
|
122
|
+
|
|
123
|
+
- name: Test import
|
|
124
|
+
run: |
|
|
125
|
+
python -c "from guestkit import Guestfs; print('✓ Guestfs imported successfully')"
|
|
126
|
+
python -c "from guestkit import DiskConverter; print('✓ DiskConverter imported successfully')"
|
|
127
|
+
|
|
128
|
+
- name: Test assurance APIs (v1.1.0+)
|
|
129
|
+
run: |
|
|
130
|
+
python -c "
|
|
131
|
+
import guestkit
|
|
132
|
+
for fn in ('run_doctor','run_boot_inspect','run_migrate_plan','run_repair_plan','run_migrate_repair'):
|
|
133
|
+
assert hasattr(guestkit, fn), fn
|
|
134
|
+
print('✓ assurance APIs present')
|
|
135
|
+
"
|
|
136
|
+
|
|
137
|
+
- name: Test context manager
|
|
138
|
+
run: |
|
|
139
|
+
python -c "from guestkit import Guestfs; g = Guestfs(); print('✓ Guestfs instantiated')"
|
|
140
|
+
|
|
141
|
+
- name: Show version
|
|
142
|
+
run: |
|
|
143
|
+
python -c "import guestkit; print('guestkit version:', getattr(guestkit, '__version__', 'unknown'))"
|