hypersdk-guestkit 0.3.3__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.
- hypersdk_guestkit-0.3.3/.dockerignore +67 -0
- hypersdk_guestkit-0.3.3/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
- hypersdk_guestkit-0.3.3/.github/ISSUE_TEMPLATE/config.yml +20 -0
- hypersdk_guestkit-0.3.3/.github/ISSUE_TEMPLATE/feature_request.md +16 -0
- hypersdk_guestkit-0.3.3/.github/RELEASE_TEMPLATE.md +17 -0
- hypersdk_guestkit-0.3.3/.github/workflows/build-wheels.yml +134 -0
- hypersdk_guestkit-0.3.3/.github/workflows/ci.yml +186 -0
- hypersdk_guestkit-0.3.3/.github/workflows/integration-tests.yml +289 -0
- hypersdk_guestkit-0.3.3/.github/workflows/release.yml +125 -0
- hypersdk_guestkit-0.3.3/.github/workflows/rpm.yml +401 -0
- hypersdk_guestkit-0.3.3/.gitignore +25 -0
- hypersdk_guestkit-0.3.3/Cargo.lock +4181 -0
- hypersdk_guestkit-0.3.3/Cargo.toml +139 -0
- hypersdk_guestkit-0.3.3/Cargo.toml.workspace +152 -0
- hypersdk_guestkit-0.3.3/Dockerfile +73 -0
- hypersdk_guestkit-0.3.3/LICENSE +165 -0
- hypersdk_guestkit-0.3.3/Makefile +64 -0
- hypersdk_guestkit-0.3.3/Makefile.docker +107 -0
- hypersdk_guestkit-0.3.3/PKG-INFO +315 -0
- hypersdk_guestkit-0.3.3/README.md +278 -0
- hypersdk_guestkit-0.3.3/SECURITY.md +322 -0
- hypersdk_guestkit-0.3.3/benches/benchmarks.rs +328 -0
- hypersdk_guestkit-0.3.3/benches/operations.rs +314 -0
- hypersdk_guestkit-0.3.3/benches/performance.rs +388 -0
- hypersdk_guestkit-0.3.3/build_python.sh +91 -0
- hypersdk_guestkit-0.3.3/docker-compose.yml +61 -0
- hypersdk_guestkit-0.3.3/docker-entrypoint.sh +20 -0
- hypersdk_guestkit-0.3.3/docs/INDEX.md +52 -0
- hypersdk_guestkit-0.3.3/docs/architecture/overview.md +603 -0
- hypersdk_guestkit-0.3.3/docs/ce-vs-enterprise.md +12 -0
- hypersdk_guestkit-0.3.3/docs/development/CHANGELOG.md +820 -0
- hypersdk_guestkit-0.3.3/docs/development/CONTRIBUTING.md +452 -0
- hypersdk_guestkit-0.3.3/docs/development/RPM-BUILD.md +342 -0
- hypersdk_guestkit-0.3.3/docs/development/roadmap.md +344 -0
- hypersdk_guestkit-0.3.3/docs/features/explore/EXPLORE-QUICKSTART.md +419 -0
- hypersdk_guestkit-0.3.3/docs/features/export-formats.md +619 -0
- hypersdk_guestkit-0.3.3/docs/features/fix-plans.md +569 -0
- hypersdk_guestkit-0.3.3/docs/features/tui-enhancements.md +240 -0
- hypersdk_guestkit-0.3.3/docs/guides/DEPLOY-REMOTE.md +54 -0
- hypersdk_guestkit-0.3.3/docs/guides/DOCKER.md +354 -0
- hypersdk_guestkit-0.3.3/docs/img/zyvor-favicon.svg +13 -0
- hypersdk_guestkit-0.3.3/docs/img/zyvor-logo.webp +0 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/cli-guide.md +3588 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/faq.md +693 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/getting-started.md +221 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/interactive-mode.md +722 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/profiles.md +555 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/python-bindings.md +97 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/quick-reference.md +308 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/troubleshooting.md +714 -0
- hypersdk_guestkit-0.3.3/docs/user-guides/vm-migration.md +648 -0
- hypersdk_guestkit-0.3.3/docs/zyvor-enterprise.md +57 -0
- hypersdk_guestkit-0.3.3/examples/batch/README.md +153 -0
- hypersdk_guestkit-0.3.3/examples/batch/inspect.gk +26 -0
- hypersdk_guestkit-0.3.3/examples/batch/security-audit.gk +33 -0
- hypersdk_guestkit-0.3.3/examples/command_and_archive.rs +184 -0
- hypersdk_guestkit-0.3.3/examples/convert_disk.rs +41 -0
- hypersdk_guestkit-0.3.3/examples/create_disk_fluent.rs +139 -0
- hypersdk_guestkit-0.3.3/examples/detect_format.rs +23 -0
- hypersdk_guestkit-0.3.3/examples/disk_forensics.rs +302 -0
- hypersdk_guestkit-0.3.3/examples/fluent_api.rs +197 -0
- hypersdk_guestkit-0.3.3/examples/inspect_os_typed.rs +231 -0
- hypersdk_guestkit-0.3.3/examples/inspect_vm.rs +138 -0
- hypersdk_guestkit-0.3.3/examples/jobs/fix-offline.json +86 -0
- hypersdk_guestkit-0.3.3/examples/jobs/inspect-full.json +102 -0
- hypersdk_guestkit-0.3.3/examples/jobs/inspect-minimal.json +18 -0
- hypersdk_guestkit-0.3.3/examples/jobs/profile-security.json +65 -0
- hypersdk_guestkit-0.3.3/examples/lvm_luks_demo.rs +162 -0
- hypersdk_guestkit-0.3.3/examples/mount_and_explore.rs +143 -0
- hypersdk_guestkit-0.3.3/examples/podman_clone_test.rs +60 -0
- hypersdk_guestkit-0.3.3/examples/policies/example-policy.yaml +57 -0
- hypersdk_guestkit-0.3.3/examples/python/README.md +481 -0
- hypersdk_guestkit-0.3.3/examples/python/archive_example.py +157 -0
- hypersdk_guestkit-0.3.3/examples/python/async_inspection.py +314 -0
- hypersdk_guestkit-0.3.3/examples/python/basic_inspection.py +130 -0
- hypersdk_guestkit-0.3.3/examples/python/comprehensive_example.py +244 -0
- hypersdk_guestkit-0.3.3/examples/python/create_disk.py +290 -0
- hypersdk_guestkit-0.3.3/examples/python/extract_files.py +115 -0
- hypersdk_guestkit-0.3.3/examples/python/list_filesystems.py +139 -0
- hypersdk_guestkit-0.3.3/examples/python/mount_and_explore.py +185 -0
- hypersdk_guestkit-0.3.3/examples/python/package_inspection.py +253 -0
- hypersdk_guestkit-0.3.3/examples/python/test_all_apis.py +217 -0
- hypersdk_guestkit-0.3.3/examples/python/test_bindings.py +580 -0
- hypersdk_guestkit-0.3.3/examples/python/test_enhancements.py +113 -0
- hypersdk_guestkit-0.3.3/examples/retry_example.rs +48 -0
- hypersdk_guestkit-0.3.3/examples/system_info.rs +236 -0
- hypersdk_guestkit-0.3.3/examples/vm_clone_prep.rs +280 -0
- hypersdk_guestkit-0.3.3/examples/worker-jobs/README.md +225 -0
- hypersdk_guestkit-0.3.3/examples/worker-jobs/echo-test.json +31 -0
- hypersdk_guestkit-0.3.3/examples/worker-jobs/guestkit-inspect-basic.json +42 -0
- hypersdk_guestkit-0.3.3/examples/worker-jobs/guestkit-inspect-full.json +77 -0
- hypersdk_guestkit-0.3.3/examples/worker-jobs/guestkit-profile-security.json +49 -0
- hypersdk_guestkit-0.3.3/guestkit-full.spec +203 -0
- hypersdk_guestkit-0.3.3/guestkit.pyi +444 -0
- hypersdk_guestkit-0.3.3/guestkit.spec +123 -0
- hypersdk_guestkit-0.3.3/install.sh +106 -0
- hypersdk_guestkit-0.3.3/integration/README.md +183 -0
- hypersdk_guestkit-0.3.3/integration/python/guestkit_wrapper.py +267 -0
- hypersdk_guestkit-0.3.3/integration/tests/test_integration.py +170 -0
- hypersdk_guestkit-0.3.3/k8s/README.md +277 -0
- hypersdk_guestkit-0.3.3/k8s/configmap.yaml +24 -0
- hypersdk_guestkit-0.3.3/k8s/daemonset.yaml +103 -0
- hypersdk_guestkit-0.3.3/k8s/kustomization.yaml +14 -0
- hypersdk_guestkit-0.3.3/k8s/namespace.yaml +7 -0
- hypersdk_guestkit-0.3.3/k8s/serviceaccount.yaml +39 -0
- hypersdk_guestkit-0.3.3/presentations/client-overview.pdf +0 -0
- hypersdk_guestkit-0.3.3/presentations/guestkit-client.pdf +0 -0
- hypersdk_guestkit-0.3.3/proptest-regressions/core/binary_cache.txt +8 -0
- hypersdk_guestkit-0.3.3/pyproject.toml +59 -0
- hypersdk_guestkit-0.3.3/scripts/analyze-performance.sh +326 -0
- hypersdk_guestkit-0.3.3/scripts/build-linux-release.sh +22 -0
- hypersdk_guestkit-0.3.3/scripts/deploy-remote.sh +560 -0
- hypersdk_guestkit-0.3.3/scripts/deploy-to-k3d.sh +76 -0
- hypersdk_guestkit-0.3.3/scripts/profile-flamegraph.sh +124 -0
- hypersdk_guestkit-0.3.3/scripts/run_all_tests_individual.sh +132 -0
- hypersdk_guestkit-0.3.3/scripts/run_arch_tests.sh +133 -0
- hypersdk_guestkit-0.3.3/scripts/run_debian_tests.sh +177 -0
- hypersdk_guestkit-0.3.3/scripts/run_ubuntu_tests.sh +152 -0
- hypersdk_guestkit-0.3.3/scripts/run_windows_realistic_tests.sh +175 -0
- hypersdk_guestkit-0.3.3/scripts/selftest.sh +297 -0
- hypersdk_guestkit-0.3.3/scripts/setup_test_env.sh +88 -0
- hypersdk_guestkit-0.3.3/scripts/test-docker.sh +93 -0
- hypersdk_guestkit-0.3.3/scripts/test_pypi_build.sh +194 -0
- hypersdk_guestkit-0.3.3/scripts/track-performance.sh +72 -0
- hypersdk_guestkit-0.3.3/scripts/validate-docker.sh +142 -0
- hypersdk_guestkit-0.3.3/scripts/validate-performance.sh +138 -0
- hypersdk_guestkit-0.3.3/src/cli/ai/assistant.rs +242 -0
- hypersdk_guestkit-0.3.3/src/cli/ai/mod.rs +20 -0
- hypersdk_guestkit-0.3.3/src/cli/ai/tools.rs +155 -0
- hypersdk_guestkit-0.3.3/src/cli/batch.rs +429 -0
- hypersdk_guestkit-0.3.3/src/cli/blueprint/ansible.rs +106 -0
- hypersdk_guestkit-0.3.3/src/cli/blueprint/compose.rs +152 -0
- hypersdk_guestkit-0.3.3/src/cli/blueprint/kubernetes.rs +190 -0
- hypersdk_guestkit-0.3.3/src/cli/blueprint/mod.rs +466 -0
- hypersdk_guestkit-0.3.3/src/cli/blueprint/terraform.rs +229 -0
- hypersdk_guestkit-0.3.3/src/cli/cache.rs +248 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/analysis.rs +1955 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/batch.rs +197 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/disk_ops.rs +1054 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/file_ops.rs +921 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/inspect.rs +1214 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/mod.rs +390 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/security.rs +3676 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/systemd.rs +395 -0
- hypersdk_guestkit-0.3.3/src/cli/commands/tools.rs +605 -0
- hypersdk_guestkit-0.3.3/src/cli/cost/analyzer.rs +301 -0
- hypersdk_guestkit-0.3.3/src/cli/cost/estimator.rs +215 -0
- hypersdk_guestkit-0.3.3/src/cli/cost/mod.rs +471 -0
- hypersdk_guestkit-0.3.3/src/cli/cost/reporter.rs +152 -0
- hypersdk_guestkit-0.3.3/src/cli/dependencies/analyzer.rs +218 -0
- hypersdk_guestkit-0.3.3/src/cli/dependencies/graph.rs +189 -0
- hypersdk_guestkit-0.3.3/src/cli/dependencies/mod.rs +490 -0
- hypersdk_guestkit-0.3.3/src/cli/dependencies/visualizer.rs +271 -0
- hypersdk_guestkit-0.3.3/src/cli/diff.rs +513 -0
- hypersdk_guestkit-0.3.3/src/cli/errors.rs +431 -0
- hypersdk_guestkit-0.3.3/src/cli/exporters/html.rs +131 -0
- hypersdk_guestkit-0.3.3/src/cli/exporters/markdown.rs +774 -0
- hypersdk_guestkit-0.3.3/src/cli/exporters/mod.rs +130 -0
- hypersdk_guestkit-0.3.3/src/cli/exporters/pdf.rs +194 -0
- hypersdk_guestkit-0.3.3/src/cli/formatters.rs +438 -0
- hypersdk_guestkit-0.3.3/src/cli/interactive.rs +4237 -0
- hypersdk_guestkit-0.3.3/src/cli/inventory/cve.rs +312 -0
- hypersdk_guestkit-0.3.3/src/cli/inventory/formats.rs +636 -0
- hypersdk_guestkit-0.3.3/src/cli/inventory/licenses.rs +214 -0
- hypersdk_guestkit-0.3.3/src/cli/inventory/mod.rs +503 -0
- hypersdk_guestkit-0.3.3/src/cli/inventory/sbom.rs +65 -0
- hypersdk_guestkit-0.3.3/src/cli/license/analyzer.rs +73 -0
- hypersdk_guestkit-0.3.3/src/cli/license/database.rs +187 -0
- hypersdk_guestkit-0.3.3/src/cli/license/mod.rs +371 -0
- hypersdk_guestkit-0.3.3/src/cli/license/reporter.rs +103 -0
- hypersdk_guestkit-0.3.3/src/cli/license/scanner.rs +53 -0
- hypersdk_guestkit-0.3.3/src/cli/migrate/analyzer.rs +95 -0
- hypersdk_guestkit-0.3.3/src/cli/migrate/mod.rs +514 -0
- hypersdk_guestkit-0.3.3/src/cli/migrate/planner.rs +536 -0
- hypersdk_guestkit-0.3.3/src/cli/migrate/reporter.rs +252 -0
- hypersdk_guestkit-0.3.3/src/cli/mod.rs +28 -0
- hypersdk_guestkit-0.3.3/src/cli/output.rs +491 -0
- hypersdk_guestkit-0.3.3/src/cli/parallel.rs +930 -0
- hypersdk_guestkit-0.3.3/src/cli/plan/apply.rs +852 -0
- hypersdk_guestkit-0.3.3/src/cli/plan/command.rs +509 -0
- hypersdk_guestkit-0.3.3/src/cli/plan/export.rs +756 -0
- hypersdk_guestkit-0.3.3/src/cli/plan/generator.rs +608 -0
- hypersdk_guestkit-0.3.3/src/cli/plan/mod.rs +37 -0
- hypersdk_guestkit-0.3.3/src/cli/plan/preview.rs +559 -0
- hypersdk_guestkit-0.3.3/src/cli/plan/types.rs +747 -0
- hypersdk_guestkit-0.3.3/src/cli/profiles/compliance.rs +549 -0
- hypersdk_guestkit-0.3.3/src/cli/profiles/hardening.rs +540 -0
- hypersdk_guestkit-0.3.3/src/cli/profiles/migration.rs +397 -0
- hypersdk_guestkit-0.3.3/src/cli/profiles/mod.rs +277 -0
- hypersdk_guestkit-0.3.3/src/cli/profiles/performance.rs +306 -0
- hypersdk_guestkit-0.3.3/src/cli/profiles/security.rs +392 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/commands/ai.rs +198 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/commands/analysis.rs +5406 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/commands/core.rs +473 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/commands/mod.rs +134 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/commands/navigation.rs +224 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/commands/workflow.rs +4085 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/completion.rs +257 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/explore.rs +1079 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/mod.rs +9 -0
- hypersdk_guestkit-0.3.3/src/cli/shell/repl.rs +618 -0
- hypersdk_guestkit-0.3.3/src/cli/templates/inspection_report.html +700 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/app.rs +2502 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/config.rs +305 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/events.rs +32 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/mod.rs +325 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/splash.rs +80 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/theme.rs +121 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/ui.rs +1652 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/analytics.rs +319 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/dashboard.rs +509 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/databases.rs +167 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/files.rs +469 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/issues.rs +308 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/kernel.rs +149 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/logs.rs +380 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/mod.rs +21 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/network.rs +202 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/packages.rs +389 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/profiles.rs +177 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/recommendations.rs +553 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/security.rs +137 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/services.rs +386 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/storage.rs +229 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/timeline.rs +333 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/topology.rs +446 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/users.rs +386 -0
- hypersdk_guestkit-0.3.3/src/cli/tui/views/webservers.rs +193 -0
- hypersdk_guestkit-0.3.3/src/cli/validate/benchmarks.rs +213 -0
- hypersdk_guestkit-0.3.3/src/cli/validate/mod.rs +651 -0
- hypersdk_guestkit-0.3.3/src/cli/validate/policy.rs +134 -0
- hypersdk_guestkit-0.3.3/src/cli/validate/rules.rs +24 -0
- hypersdk_guestkit-0.3.3/src/converters/disk_converter.rs +204 -0
- hypersdk_guestkit-0.3.3/src/converters/mod.rs +6 -0
- hypersdk_guestkit-0.3.3/src/core/binary_cache.rs +832 -0
- hypersdk_guestkit-0.3.3/src/core/diagnostics.rs +232 -0
- hypersdk_guestkit-0.3.3/src/core/error.rs +63 -0
- hypersdk_guestkit-0.3.3/src/core/mem_optimize.rs +558 -0
- hypersdk_guestkit-0.3.3/src/core/mod.rs +22 -0
- hypersdk_guestkit-0.3.3/src/core/progress.rs +175 -0
- hypersdk_guestkit-0.3.3/src/core/retry.rs +180 -0
- hypersdk_guestkit-0.3.3/src/core/systemd/boot.rs +285 -0
- hypersdk_guestkit-0.3.3/src/core/systemd/journal.rs +329 -0
- hypersdk_guestkit-0.3.3/src/core/systemd/services.rs +296 -0
- hypersdk_guestkit-0.3.3/src/core/systemd.rs +246 -0
- hypersdk_guestkit-0.3.3/src/core/types.rs +120 -0
- hypersdk_guestkit-0.3.3/src/detectors/guest_detector.rs +224 -0
- hypersdk_guestkit-0.3.3/src/detectors/mod.rs +6 -0
- hypersdk_guestkit-0.3.3/src/disk/filesystem.rs +427 -0
- hypersdk_guestkit-0.3.3/src/disk/loop_device.rs +382 -0
- hypersdk_guestkit-0.3.3/src/disk/mod.rs +17 -0
- hypersdk_guestkit-0.3.3/src/disk/nbd.rs +603 -0
- hypersdk_guestkit-0.3.3/src/disk/partition.rs +230 -0
- hypersdk_guestkit-0.3.3/src/disk/reader.rs +172 -0
- hypersdk_guestkit-0.3.3/src/export/html.rs +708 -0
- hypersdk_guestkit-0.3.3/src/export/mod.rs +13 -0
- hypersdk_guestkit-0.3.3/src/export/pdf.rs +363 -0
- hypersdk_guestkit-0.3.3/src/export/template.rs +402 -0
- hypersdk_guestkit-0.3.3/src/guestfs/acl_ops.rs +279 -0
- hypersdk_guestkit-0.3.3/src/guestfs/archive.rs +639 -0
- hypersdk_guestkit-0.3.3/src/guestfs/attr_ops.rs +206 -0
- hypersdk_guestkit-0.3.3/src/guestfs/backup_ops.rs +209 -0
- hypersdk_guestkit-0.3.3/src/guestfs/base64_ops.rs +68 -0
- hypersdk_guestkit-0.3.3/src/guestfs/bcache_ops.rs +193 -0
- hypersdk_guestkit-0.3.3/src/guestfs/blockdev_ops.rs +301 -0
- hypersdk_guestkit-0.3.3/src/guestfs/boot.rs +295 -0
- hypersdk_guestkit-0.3.3/src/guestfs/btrfs.rs +407 -0
- hypersdk_guestkit-0.3.3/src/guestfs/builder.rs +296 -0
- hypersdk_guestkit-0.3.3/src/guestfs/cap_ops.rs +141 -0
- hypersdk_guestkit-0.3.3/src/guestfs/checksum.rs +271 -0
- hypersdk_guestkit-0.3.3/src/guestfs/command.rs +164 -0
- hypersdk_guestkit-0.3.3/src/guestfs/compress_ops.rs +205 -0
- hypersdk_guestkit-0.3.3/src/guestfs/cpio_ops.rs +169 -0
- hypersdk_guestkit-0.3.3/src/guestfs/dd_ops.rs +165 -0
- hypersdk_guestkit-0.3.3/src/guestfs/device.rs +338 -0
- hypersdk_guestkit-0.3.3/src/guestfs/device_inventory.rs +347 -0
- hypersdk_guestkit-0.3.3/src/guestfs/disk_mgmt.rs +303 -0
- hypersdk_guestkit-0.3.3/src/guestfs/disk_ops.rs +417 -0
- hypersdk_guestkit-0.3.3/src/guestfs/dosfs_ops.rs +250 -0
- hypersdk_guestkit-0.3.3/src/guestfs/ext_ops.rs +396 -0
- hypersdk_guestkit-0.3.3/src/guestfs/f2fs_ops.rs +206 -0
- hypersdk_guestkit-0.3.3/src/guestfs/file_ops.rs +917 -0
- hypersdk_guestkit-0.3.3/src/guestfs/filesystem.rs +371 -0
- hypersdk_guestkit-0.3.3/src/guestfs/fstab.rs +361 -0
- hypersdk_guestkit-0.3.3/src/guestfs/fstab_rewriter.rs +238 -0
- hypersdk_guestkit-0.3.3/src/guestfs/glob_ops.rs +237 -0
- hypersdk_guestkit-0.3.3/src/guestfs/grub_ops.rs +233 -0
- hypersdk_guestkit-0.3.3/src/guestfs/handle.rs +904 -0
- hypersdk_guestkit-0.3.3/src/guestfs/hivex_ops.rs +441 -0
- hypersdk_guestkit-0.3.3/src/guestfs/inotify_ops.rs +117 -0
- hypersdk_guestkit-0.3.3/src/guestfs/inspect.rs +1017 -0
- hypersdk_guestkit-0.3.3/src/guestfs/inspect_enhanced.rs +2065 -0
- hypersdk_guestkit-0.3.3/src/guestfs/inspect_ext_ops.rs +291 -0
- hypersdk_guestkit-0.3.3/src/guestfs/internal.rs +230 -0
- hypersdk_guestkit-0.3.3/src/guestfs/iso.rs +177 -0
- hypersdk_guestkit-0.3.3/src/guestfs/jfs_ops.rs +205 -0
- hypersdk_guestkit-0.3.3/src/guestfs/journal_ops.rs +210 -0
- hypersdk_guestkit-0.3.3/src/guestfs/label_ops.rs +145 -0
- hypersdk_guestkit-0.3.3/src/guestfs/ldm_ops.rs +281 -0
- hypersdk_guestkit-0.3.3/src/guestfs/link_ops.rs +160 -0
- hypersdk_guestkit-0.3.3/src/guestfs/luks.rs +428 -0
- hypersdk_guestkit-0.3.3/src/guestfs/lvm.rs +576 -0
- hypersdk_guestkit-0.3.3/src/guestfs/lvm_clone.rs +3791 -0
- hypersdk_guestkit-0.3.3/src/guestfs/md_ops.rs +202 -0
- hypersdk_guestkit-0.3.3/src/guestfs/metadata.rs +551 -0
- hypersdk_guestkit-0.3.3/src/guestfs/minix_ops.rs +121 -0
- hypersdk_guestkit-0.3.3/src/guestfs/misc.rs +288 -0
- hypersdk_guestkit-0.3.3/src/guestfs/mod.rs +109 -0
- hypersdk_guestkit-0.3.3/src/guestfs/mount.rs +790 -0
- hypersdk_guestkit-0.3.3/src/guestfs/mpath_ops.rs +155 -0
- hypersdk_guestkit-0.3.3/src/guestfs/network.rs +212 -0
- hypersdk_guestkit-0.3.3/src/guestfs/nilfs_ops.rs +219 -0
- hypersdk_guestkit-0.3.3/src/guestfs/node_ops.rs +286 -0
- hypersdk_guestkit-0.3.3/src/guestfs/ntfs.rs +250 -0
- hypersdk_guestkit-0.3.3/src/guestfs/owner_ops.rs +224 -0
- hypersdk_guestkit-0.3.3/src/guestfs/package.rs +178 -0
- hypersdk_guestkit-0.3.3/src/guestfs/part_mgmt.rs +399 -0
- hypersdk_guestkit-0.3.3/src/guestfs/part_type_ops.rs +238 -0
- hypersdk_guestkit-0.3.3/src/guestfs/partition.rs +281 -0
- hypersdk_guestkit-0.3.3/src/guestfs/pread_ops.rs +170 -0
- hypersdk_guestkit-0.3.3/src/guestfs/reiserfs_ops.rs +253 -0
- hypersdk_guestkit-0.3.3/src/guestfs/rsync_ops.rs +111 -0
- hypersdk_guestkit-0.3.3/src/guestfs/security.rs +301 -0
- hypersdk_guestkit-0.3.3/src/guestfs/security_utils.rs +220 -0
- hypersdk_guestkit-0.3.3/src/guestfs/sed_ops.rs +211 -0
- hypersdk_guestkit-0.3.3/src/guestfs/selinux_ops.rs +111 -0
- hypersdk_guestkit-0.3.3/src/guestfs/service.rs +270 -0
- hypersdk_guestkit-0.3.3/src/guestfs/smart_ops.rs +231 -0
- hypersdk_guestkit-0.3.3/src/guestfs/squashfs_ops.rs +127 -0
- hypersdk_guestkit-0.3.3/src/guestfs/ssh.rs +306 -0
- hypersdk_guestkit-0.3.3/src/guestfs/swap_ops.rs +260 -0
- hypersdk_guestkit-0.3.3/src/guestfs/sync_ops.rs +104 -0
- hypersdk_guestkit-0.3.3/src/guestfs/syslinux_ops.rs +96 -0
- hypersdk_guestkit-0.3.3/src/guestfs/sysprep_ops.rs +221 -0
- hypersdk_guestkit-0.3.3/src/guestfs/system.rs +346 -0
- hypersdk_guestkit-0.3.3/src/guestfs/system_info.rs +161 -0
- hypersdk_guestkit-0.3.3/src/guestfs/template_ops.rs +237 -0
- hypersdk_guestkit-0.3.3/src/guestfs/time_ops.rs +213 -0
- hypersdk_guestkit-0.3.3/src/guestfs/transfer.rs +454 -0
- hypersdk_guestkit-0.3.3/src/guestfs/tsk_ops.rs +211 -0
- hypersdk_guestkit-0.3.3/src/guestfs/types.rs +394 -0
- hypersdk_guestkit-0.3.3/src/guestfs/ufs_ops.rs +169 -0
- hypersdk_guestkit-0.3.3/src/guestfs/util_ops.rs +113 -0
- hypersdk_guestkit-0.3.3/src/guestfs/utils.rs +322 -0
- hypersdk_guestkit-0.3.3/src/guestfs/validation.rs +204 -0
- hypersdk_guestkit-0.3.3/src/guestfs/virt_ops.rs +175 -0
- hypersdk_guestkit-0.3.3/src/guestfs/windows.rs +256 -0
- hypersdk_guestkit-0.3.3/src/guestfs/windows_registry.rs +682 -0
- hypersdk_guestkit-0.3.3/src/guestfs/xfs.rs +236 -0
- hypersdk_guestkit-0.3.3/src/guestfs/yara_ops.rs +110 -0
- hypersdk_guestkit-0.3.3/src/guestfs/zfs_ops.rs +322 -0
- hypersdk_guestkit-0.3.3/src/lib.rs +85 -0
- hypersdk_guestkit-0.3.3/src/main.rs +2793 -0
- hypersdk_guestkit-0.3.3/src/python.rs +3522 -0
- hypersdk_guestkit-0.3.3/src/templates/report.css +283 -0
- hypersdk_guestkit-0.3.3/templates/html_detailed.tpl +132 -0
- hypersdk_guestkit-0.3.3/templates/html_minimal.tpl +21 -0
- hypersdk_guestkit-0.3.3/templates/html_standard.tpl +80 -0
- hypersdk_guestkit-0.3.3/templates/markdown_detailed.tpl +71 -0
- hypersdk_guestkit-0.3.3/templates/markdown_minimal.tpl +10 -0
- hypersdk_guestkit-0.3.3/templates/markdown_standard.tpl +26 -0
- hypersdk_guestkit-0.3.3/templates/text_minimal.tpl +10 -0
- hypersdk_guestkit-0.3.3/templates/text_standard.tpl +25 -0
- hypersdk_guestkit-0.3.3/test_colors_demo.sh +72 -0
- hypersdk_guestkit-0.3.3/test_results.txt +157 -0
- hypersdk_guestkit-0.3.3/tests/arch_realistic.rs +729 -0
- hypersdk_guestkit-0.3.3/tests/blueprint/mod.rs +373 -0
- hypersdk_guestkit-0.3.3/tests/cost/mod.rs +340 -0
- hypersdk_guestkit-0.3.3/tests/debian_realistic.rs +930 -0
- hypersdk_guestkit-0.3.3/tests/dependencies/mod.rs +494 -0
- hypersdk_guestkit-0.3.3/tests/helpers/mock_disk.rs +357 -0
- hypersdk_guestkit-0.3.3/tests/helpers/mod.rs +6 -0
- hypersdk_guestkit-0.3.3/tests/integration_basic.rs +410 -0
- hypersdk_guestkit-0.3.3/tests/integration_error_handling.rs +353 -0
- hypersdk_guestkit-0.3.3/tests/integration_lvm_luks.rs +295 -0
- hypersdk_guestkit-0.3.3/tests/license/mod.rs +319 -0
- hypersdk_guestkit-0.3.3/tests/migrate/mod.rs +359 -0
- hypersdk_guestkit-0.3.3/tests/output_formats_test.rs +80 -0
- hypersdk_guestkit-0.3.3/tests/panic_safety.rs +256 -0
- hypersdk_guestkit-0.3.3/tests/performance_validation.rs +413 -0
- hypersdk_guestkit-0.3.3/tests/phase3_comprehensive.rs +443 -0
- hypersdk_guestkit-0.3.3/tests/phase3_windows.rs +477 -0
- hypersdk_guestkit-0.3.3/tests/security_tests.rs +222 -0
- hypersdk_guestkit-0.3.3/tests/test_license.rs +189 -0
- hypersdk_guestkit-0.3.3/tests/test_python_bindings.py +361 -0
- hypersdk_guestkit-0.3.3/tests/ubuntu_realistic.rs +664 -0
- hypersdk_guestkit-0.3.3/tests/windows_realistic.rs +674 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# Build artifacts
|
|
2
|
+
target/
|
|
3
|
+
*.so
|
|
4
|
+
*.pyc
|
|
5
|
+
*.pyo
|
|
6
|
+
__pycache__/
|
|
7
|
+
|
|
8
|
+
# IDE and editor files
|
|
9
|
+
.vscode/
|
|
10
|
+
.idea/
|
|
11
|
+
*.swp
|
|
12
|
+
*.swo
|
|
13
|
+
*~
|
|
14
|
+
.DS_Store
|
|
15
|
+
|
|
16
|
+
# Git
|
|
17
|
+
.git/
|
|
18
|
+
.gitignore
|
|
19
|
+
.github/
|
|
20
|
+
|
|
21
|
+
# Documentation
|
|
22
|
+
*.md
|
|
23
|
+
!README.md
|
|
24
|
+
docs/
|
|
25
|
+
|
|
26
|
+
# Test files
|
|
27
|
+
*.qcow2
|
|
28
|
+
*.vmdk
|
|
29
|
+
*.vdi
|
|
30
|
+
*.vhdx
|
|
31
|
+
*.raw
|
|
32
|
+
*.img
|
|
33
|
+
*.iso
|
|
34
|
+
vms/
|
|
35
|
+
|
|
36
|
+
# Python
|
|
37
|
+
.venv/
|
|
38
|
+
venv/
|
|
39
|
+
*.egg-info/
|
|
40
|
+
dist/
|
|
41
|
+
build/
|
|
42
|
+
.pytest_cache/
|
|
43
|
+
|
|
44
|
+
# Temporary files
|
|
45
|
+
*.tmp
|
|
46
|
+
*.log
|
|
47
|
+
.cache/
|
|
48
|
+
|
|
49
|
+
# Docker files (don't need in build context except Dockerfile)
|
|
50
|
+
docker-compose.yml
|
|
51
|
+
.dockerignore
|
|
52
|
+
|
|
53
|
+
# CI/CD
|
|
54
|
+
.github/
|
|
55
|
+
.claude/
|
|
56
|
+
|
|
57
|
+
# RPM build
|
|
58
|
+
*.spec
|
|
59
|
+
RPM-BUILD.md
|
|
60
|
+
|
|
61
|
+
# Integration tests
|
|
62
|
+
integration/
|
|
63
|
+
|
|
64
|
+
# Scripts
|
|
65
|
+
scripts/
|
|
66
|
+
test_*.sh
|
|
67
|
+
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,20 @@
|
|
|
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: "📖 Open source vs Enterprise"
|
|
13
|
+
url: https://github.com/hypersdk/guestkit/blob/main/docs/ce-vs-enterprise.md
|
|
14
|
+
about: When to use this GitHub repo vs contact Zyvor for production
|
|
15
|
+
- name: "💬 Discussions"
|
|
16
|
+
url: https://github.com/hypersdk/guestkit/discussions
|
|
17
|
+
about: Community questions and ideas
|
|
18
|
+
- name: "🔐 Security"
|
|
19
|
+
url: https://github.com/hypersdk/guestkit/blob/main/SECURITY.md
|
|
20
|
+
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,134 @@
|
|
|
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
|
|
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/hypersdk-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 --find-links dist hypersdk-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 context manager
|
|
129
|
+
run: |
|
|
130
|
+
python -c "from guestkit import Guestfs; g = Guestfs(); print('✓ Guestfs instantiated')"
|
|
131
|
+
|
|
132
|
+
- name: Show version
|
|
133
|
+
run: |
|
|
134
|
+
python -c "import guestkit; print('guestkit version:', getattr(guestkit, '__version__', 'unknown'))"
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches: [ main ]
|
|
6
|
+
pull_request:
|
|
7
|
+
branches: [ main ]
|
|
8
|
+
|
|
9
|
+
env:
|
|
10
|
+
CARGO_TERM_COLOR: always
|
|
11
|
+
RUST_BACKTRACE: 1
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
test:
|
|
15
|
+
name: Test
|
|
16
|
+
runs-on: ${{ matrix.os }}
|
|
17
|
+
strategy:
|
|
18
|
+
matrix:
|
|
19
|
+
os: [ubuntu-latest]
|
|
20
|
+
rust: [stable, beta]
|
|
21
|
+
steps:
|
|
22
|
+
- uses: actions/checkout@v4
|
|
23
|
+
|
|
24
|
+
- name: Install Rust toolchain
|
|
25
|
+
uses: dtolnay/rust-toolchain@master
|
|
26
|
+
with:
|
|
27
|
+
toolchain: ${{ matrix.rust }}
|
|
28
|
+
components: rustfmt, clippy
|
|
29
|
+
|
|
30
|
+
- name: Cache cargo registry
|
|
31
|
+
uses: actions/cache@v4
|
|
32
|
+
with:
|
|
33
|
+
path: ~/.cargo/registry
|
|
34
|
+
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}
|
|
35
|
+
|
|
36
|
+
- name: Cache cargo index
|
|
37
|
+
uses: actions/cache@v4
|
|
38
|
+
with:
|
|
39
|
+
path: ~/.cargo/git
|
|
40
|
+
key: ${{ runner.os }}-cargo-git-${{ hashFiles('**/Cargo.lock') }}
|
|
41
|
+
|
|
42
|
+
- name: Cache cargo build
|
|
43
|
+
uses: actions/cache@v4
|
|
44
|
+
with:
|
|
45
|
+
path: target
|
|
46
|
+
key: ${{ runner.os }}-cargo-build-target-${{ hashFiles('**/Cargo.lock') }}
|
|
47
|
+
|
|
48
|
+
- name: Install system dependencies
|
|
49
|
+
run: |
|
|
50
|
+
sudo apt-get update
|
|
51
|
+
sudo apt-get install -y qemu-utils
|
|
52
|
+
|
|
53
|
+
- name: Check formatting
|
|
54
|
+
run: cargo fmt -- --check
|
|
55
|
+
|
|
56
|
+
- name: Run clippy
|
|
57
|
+
run: cargo clippy --all-targets --all-features -- -D warnings
|
|
58
|
+
|
|
59
|
+
- name: Build
|
|
60
|
+
run: cargo build --verbose
|
|
61
|
+
|
|
62
|
+
- name: Run tests
|
|
63
|
+
run: cargo test --verbose
|
|
64
|
+
|
|
65
|
+
- name: Build examples
|
|
66
|
+
run: cargo build --examples --verbose
|
|
67
|
+
|
|
68
|
+
- name: Build documentation
|
|
69
|
+
run: cargo doc --no-deps
|
|
70
|
+
|
|
71
|
+
coverage:
|
|
72
|
+
name: Code Coverage
|
|
73
|
+
runs-on: ubuntu-latest
|
|
74
|
+
steps:
|
|
75
|
+
- uses: actions/checkout@v4
|
|
76
|
+
|
|
77
|
+
- name: Install Rust toolchain
|
|
78
|
+
uses: dtolnay/rust-toolchain@stable
|
|
79
|
+
with:
|
|
80
|
+
components: llvm-tools-preview
|
|
81
|
+
|
|
82
|
+
- name: Install system dependencies
|
|
83
|
+
run: |
|
|
84
|
+
sudo apt-get update
|
|
85
|
+
sudo apt-get install -y qemu-utils
|
|
86
|
+
|
|
87
|
+
- name: Install cargo-llvm-cov
|
|
88
|
+
uses: taiki-e/install-action@cargo-llvm-cov
|
|
89
|
+
|
|
90
|
+
- name: Generate code coverage
|
|
91
|
+
run: cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
|
|
92
|
+
|
|
93
|
+
- name: Upload coverage to Codecov
|
|
94
|
+
uses: codecov/codecov-action@v4
|
|
95
|
+
with:
|
|
96
|
+
files: lcov.info
|
|
97
|
+
fail_ci_if_error: true
|
|
98
|
+
env:
|
|
99
|
+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
|
|
100
|
+
|
|
101
|
+
audit:
|
|
102
|
+
name: Security Audit
|
|
103
|
+
runs-on: ubuntu-latest
|
|
104
|
+
steps:
|
|
105
|
+
- uses: actions/checkout@v4
|
|
106
|
+
|
|
107
|
+
- name: Run cargo-audit
|
|
108
|
+
uses: rustsec/audit-check@v1
|
|
109
|
+
with:
|
|
110
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
111
|
+
|
|
112
|
+
build-release:
|
|
113
|
+
name: Build Release
|
|
114
|
+
runs-on: ${{ matrix.os }}
|
|
115
|
+
strategy:
|
|
116
|
+
matrix:
|
|
117
|
+
include:
|
|
118
|
+
- os: ubuntu-latest
|
|
119
|
+
target: x86_64-unknown-linux-gnu
|
|
120
|
+
- os: ubuntu-latest
|
|
121
|
+
target: x86_64-unknown-linux-musl
|
|
122
|
+
steps:
|
|
123
|
+
- uses: actions/checkout@v4
|
|
124
|
+
|
|
125
|
+
- name: Install Rust toolchain
|
|
126
|
+
uses: dtolnay/rust-toolchain@stable
|
|
127
|
+
with:
|
|
128
|
+
targets: ${{ matrix.target }}
|
|
129
|
+
|
|
130
|
+
- name: Install system dependencies (Ubuntu)
|
|
131
|
+
if: matrix.os == 'ubuntu-latest'
|
|
132
|
+
run: |
|
|
133
|
+
sudo apt-get update
|
|
134
|
+
sudo apt-get install -y qemu-utils musl-tools
|
|
135
|
+
|
|
136
|
+
- name: Build release
|
|
137
|
+
run: cargo build --release --target ${{ matrix.target }}
|
|
138
|
+
|
|
139
|
+
- name: Strip binary
|
|
140
|
+
if: matrix.os == 'ubuntu-latest'
|
|
141
|
+
run: strip target/${{ matrix.target }}/release/guestkit || true
|
|
142
|
+
|
|
143
|
+
- name: Upload artifact
|
|
144
|
+
uses: actions/upload-artifact@v4
|
|
145
|
+
with:
|
|
146
|
+
name: guestkit-${{ matrix.target }}
|
|
147
|
+
path: target/${{ matrix.target }}/release/guestkit
|
|
148
|
+
|
|
149
|
+
docs:
|
|
150
|
+
name: Documentation
|
|
151
|
+
runs-on: ubuntu-latest
|
|
152
|
+
steps:
|
|
153
|
+
- uses: actions/checkout@v4
|
|
154
|
+
|
|
155
|
+
- name: Install Rust toolchain
|
|
156
|
+
uses: dtolnay/rust-toolchain@stable
|
|
157
|
+
|
|
158
|
+
- name: Install system dependencies
|
|
159
|
+
run: |
|
|
160
|
+
sudo apt-get update
|
|
161
|
+
sudo apt-get install -y qemu-utils
|
|
162
|
+
|
|
163
|
+
- name: Build documentation
|
|
164
|
+
run: cargo doc --no-deps --all-features
|
|
165
|
+
|
|
166
|
+
- name: Check documentation
|
|
167
|
+
run: cargo doc --no-deps --all-features --document-private-items
|
|
168
|
+
|
|
169
|
+
minimal-versions:
|
|
170
|
+
name: Minimal Versions
|
|
171
|
+
runs-on: ubuntu-latest
|
|
172
|
+
steps:
|
|
173
|
+
- uses: actions/checkout@v4
|
|
174
|
+
|
|
175
|
+
- name: Install Rust toolchain
|
|
176
|
+
uses: dtolnay/rust-toolchain@nightly
|
|
177
|
+
|
|
178
|
+
- name: Install system dependencies
|
|
179
|
+
run: |
|
|
180
|
+
sudo apt-get update
|
|
181
|
+
sudo apt-get install -y qemu-utils
|
|
182
|
+
|
|
183
|
+
- name: Check with minimal versions
|
|
184
|
+
run: |
|
|
185
|
+
cargo +nightly update -Z minimal-versions
|
|
186
|
+
cargo +nightly check --all-features
|