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.
Files changed (387) hide show
  1. hypersdk_guestkit-0.3.3/.dockerignore +67 -0
  2. hypersdk_guestkit-0.3.3/.github/ISSUE_TEMPLATE/bug_report.md +32 -0
  3. hypersdk_guestkit-0.3.3/.github/ISSUE_TEMPLATE/config.yml +20 -0
  4. hypersdk_guestkit-0.3.3/.github/ISSUE_TEMPLATE/feature_request.md +16 -0
  5. hypersdk_guestkit-0.3.3/.github/RELEASE_TEMPLATE.md +17 -0
  6. hypersdk_guestkit-0.3.3/.github/workflows/build-wheels.yml +134 -0
  7. hypersdk_guestkit-0.3.3/.github/workflows/ci.yml +186 -0
  8. hypersdk_guestkit-0.3.3/.github/workflows/integration-tests.yml +289 -0
  9. hypersdk_guestkit-0.3.3/.github/workflows/release.yml +125 -0
  10. hypersdk_guestkit-0.3.3/.github/workflows/rpm.yml +401 -0
  11. hypersdk_guestkit-0.3.3/.gitignore +25 -0
  12. hypersdk_guestkit-0.3.3/Cargo.lock +4181 -0
  13. hypersdk_guestkit-0.3.3/Cargo.toml +139 -0
  14. hypersdk_guestkit-0.3.3/Cargo.toml.workspace +152 -0
  15. hypersdk_guestkit-0.3.3/Dockerfile +73 -0
  16. hypersdk_guestkit-0.3.3/LICENSE +165 -0
  17. hypersdk_guestkit-0.3.3/Makefile +64 -0
  18. hypersdk_guestkit-0.3.3/Makefile.docker +107 -0
  19. hypersdk_guestkit-0.3.3/PKG-INFO +315 -0
  20. hypersdk_guestkit-0.3.3/README.md +278 -0
  21. hypersdk_guestkit-0.3.3/SECURITY.md +322 -0
  22. hypersdk_guestkit-0.3.3/benches/benchmarks.rs +328 -0
  23. hypersdk_guestkit-0.3.3/benches/operations.rs +314 -0
  24. hypersdk_guestkit-0.3.3/benches/performance.rs +388 -0
  25. hypersdk_guestkit-0.3.3/build_python.sh +91 -0
  26. hypersdk_guestkit-0.3.3/docker-compose.yml +61 -0
  27. hypersdk_guestkit-0.3.3/docker-entrypoint.sh +20 -0
  28. hypersdk_guestkit-0.3.3/docs/INDEX.md +52 -0
  29. hypersdk_guestkit-0.3.3/docs/architecture/overview.md +603 -0
  30. hypersdk_guestkit-0.3.3/docs/ce-vs-enterprise.md +12 -0
  31. hypersdk_guestkit-0.3.3/docs/development/CHANGELOG.md +820 -0
  32. hypersdk_guestkit-0.3.3/docs/development/CONTRIBUTING.md +452 -0
  33. hypersdk_guestkit-0.3.3/docs/development/RPM-BUILD.md +342 -0
  34. hypersdk_guestkit-0.3.3/docs/development/roadmap.md +344 -0
  35. hypersdk_guestkit-0.3.3/docs/features/explore/EXPLORE-QUICKSTART.md +419 -0
  36. hypersdk_guestkit-0.3.3/docs/features/export-formats.md +619 -0
  37. hypersdk_guestkit-0.3.3/docs/features/fix-plans.md +569 -0
  38. hypersdk_guestkit-0.3.3/docs/features/tui-enhancements.md +240 -0
  39. hypersdk_guestkit-0.3.3/docs/guides/DEPLOY-REMOTE.md +54 -0
  40. hypersdk_guestkit-0.3.3/docs/guides/DOCKER.md +354 -0
  41. hypersdk_guestkit-0.3.3/docs/img/zyvor-favicon.svg +13 -0
  42. hypersdk_guestkit-0.3.3/docs/img/zyvor-logo.webp +0 -0
  43. hypersdk_guestkit-0.3.3/docs/user-guides/cli-guide.md +3588 -0
  44. hypersdk_guestkit-0.3.3/docs/user-guides/faq.md +693 -0
  45. hypersdk_guestkit-0.3.3/docs/user-guides/getting-started.md +221 -0
  46. hypersdk_guestkit-0.3.3/docs/user-guides/interactive-mode.md +722 -0
  47. hypersdk_guestkit-0.3.3/docs/user-guides/profiles.md +555 -0
  48. hypersdk_guestkit-0.3.3/docs/user-guides/python-bindings.md +97 -0
  49. hypersdk_guestkit-0.3.3/docs/user-guides/quick-reference.md +308 -0
  50. hypersdk_guestkit-0.3.3/docs/user-guides/troubleshooting.md +714 -0
  51. hypersdk_guestkit-0.3.3/docs/user-guides/vm-migration.md +648 -0
  52. hypersdk_guestkit-0.3.3/docs/zyvor-enterprise.md +57 -0
  53. hypersdk_guestkit-0.3.3/examples/batch/README.md +153 -0
  54. hypersdk_guestkit-0.3.3/examples/batch/inspect.gk +26 -0
  55. hypersdk_guestkit-0.3.3/examples/batch/security-audit.gk +33 -0
  56. hypersdk_guestkit-0.3.3/examples/command_and_archive.rs +184 -0
  57. hypersdk_guestkit-0.3.3/examples/convert_disk.rs +41 -0
  58. hypersdk_guestkit-0.3.3/examples/create_disk_fluent.rs +139 -0
  59. hypersdk_guestkit-0.3.3/examples/detect_format.rs +23 -0
  60. hypersdk_guestkit-0.3.3/examples/disk_forensics.rs +302 -0
  61. hypersdk_guestkit-0.3.3/examples/fluent_api.rs +197 -0
  62. hypersdk_guestkit-0.3.3/examples/inspect_os_typed.rs +231 -0
  63. hypersdk_guestkit-0.3.3/examples/inspect_vm.rs +138 -0
  64. hypersdk_guestkit-0.3.3/examples/jobs/fix-offline.json +86 -0
  65. hypersdk_guestkit-0.3.3/examples/jobs/inspect-full.json +102 -0
  66. hypersdk_guestkit-0.3.3/examples/jobs/inspect-minimal.json +18 -0
  67. hypersdk_guestkit-0.3.3/examples/jobs/profile-security.json +65 -0
  68. hypersdk_guestkit-0.3.3/examples/lvm_luks_demo.rs +162 -0
  69. hypersdk_guestkit-0.3.3/examples/mount_and_explore.rs +143 -0
  70. hypersdk_guestkit-0.3.3/examples/podman_clone_test.rs +60 -0
  71. hypersdk_guestkit-0.3.3/examples/policies/example-policy.yaml +57 -0
  72. hypersdk_guestkit-0.3.3/examples/python/README.md +481 -0
  73. hypersdk_guestkit-0.3.3/examples/python/archive_example.py +157 -0
  74. hypersdk_guestkit-0.3.3/examples/python/async_inspection.py +314 -0
  75. hypersdk_guestkit-0.3.3/examples/python/basic_inspection.py +130 -0
  76. hypersdk_guestkit-0.3.3/examples/python/comprehensive_example.py +244 -0
  77. hypersdk_guestkit-0.3.3/examples/python/create_disk.py +290 -0
  78. hypersdk_guestkit-0.3.3/examples/python/extract_files.py +115 -0
  79. hypersdk_guestkit-0.3.3/examples/python/list_filesystems.py +139 -0
  80. hypersdk_guestkit-0.3.3/examples/python/mount_and_explore.py +185 -0
  81. hypersdk_guestkit-0.3.3/examples/python/package_inspection.py +253 -0
  82. hypersdk_guestkit-0.3.3/examples/python/test_all_apis.py +217 -0
  83. hypersdk_guestkit-0.3.3/examples/python/test_bindings.py +580 -0
  84. hypersdk_guestkit-0.3.3/examples/python/test_enhancements.py +113 -0
  85. hypersdk_guestkit-0.3.3/examples/retry_example.rs +48 -0
  86. hypersdk_guestkit-0.3.3/examples/system_info.rs +236 -0
  87. hypersdk_guestkit-0.3.3/examples/vm_clone_prep.rs +280 -0
  88. hypersdk_guestkit-0.3.3/examples/worker-jobs/README.md +225 -0
  89. hypersdk_guestkit-0.3.3/examples/worker-jobs/echo-test.json +31 -0
  90. hypersdk_guestkit-0.3.3/examples/worker-jobs/guestkit-inspect-basic.json +42 -0
  91. hypersdk_guestkit-0.3.3/examples/worker-jobs/guestkit-inspect-full.json +77 -0
  92. hypersdk_guestkit-0.3.3/examples/worker-jobs/guestkit-profile-security.json +49 -0
  93. hypersdk_guestkit-0.3.3/guestkit-full.spec +203 -0
  94. hypersdk_guestkit-0.3.3/guestkit.pyi +444 -0
  95. hypersdk_guestkit-0.3.3/guestkit.spec +123 -0
  96. hypersdk_guestkit-0.3.3/install.sh +106 -0
  97. hypersdk_guestkit-0.3.3/integration/README.md +183 -0
  98. hypersdk_guestkit-0.3.3/integration/python/guestkit_wrapper.py +267 -0
  99. hypersdk_guestkit-0.3.3/integration/tests/test_integration.py +170 -0
  100. hypersdk_guestkit-0.3.3/k8s/README.md +277 -0
  101. hypersdk_guestkit-0.3.3/k8s/configmap.yaml +24 -0
  102. hypersdk_guestkit-0.3.3/k8s/daemonset.yaml +103 -0
  103. hypersdk_guestkit-0.3.3/k8s/kustomization.yaml +14 -0
  104. hypersdk_guestkit-0.3.3/k8s/namespace.yaml +7 -0
  105. hypersdk_guestkit-0.3.3/k8s/serviceaccount.yaml +39 -0
  106. hypersdk_guestkit-0.3.3/presentations/client-overview.pdf +0 -0
  107. hypersdk_guestkit-0.3.3/presentations/guestkit-client.pdf +0 -0
  108. hypersdk_guestkit-0.3.3/proptest-regressions/core/binary_cache.txt +8 -0
  109. hypersdk_guestkit-0.3.3/pyproject.toml +59 -0
  110. hypersdk_guestkit-0.3.3/scripts/analyze-performance.sh +326 -0
  111. hypersdk_guestkit-0.3.3/scripts/build-linux-release.sh +22 -0
  112. hypersdk_guestkit-0.3.3/scripts/deploy-remote.sh +560 -0
  113. hypersdk_guestkit-0.3.3/scripts/deploy-to-k3d.sh +76 -0
  114. hypersdk_guestkit-0.3.3/scripts/profile-flamegraph.sh +124 -0
  115. hypersdk_guestkit-0.3.3/scripts/run_all_tests_individual.sh +132 -0
  116. hypersdk_guestkit-0.3.3/scripts/run_arch_tests.sh +133 -0
  117. hypersdk_guestkit-0.3.3/scripts/run_debian_tests.sh +177 -0
  118. hypersdk_guestkit-0.3.3/scripts/run_ubuntu_tests.sh +152 -0
  119. hypersdk_guestkit-0.3.3/scripts/run_windows_realistic_tests.sh +175 -0
  120. hypersdk_guestkit-0.3.3/scripts/selftest.sh +297 -0
  121. hypersdk_guestkit-0.3.3/scripts/setup_test_env.sh +88 -0
  122. hypersdk_guestkit-0.3.3/scripts/test-docker.sh +93 -0
  123. hypersdk_guestkit-0.3.3/scripts/test_pypi_build.sh +194 -0
  124. hypersdk_guestkit-0.3.3/scripts/track-performance.sh +72 -0
  125. hypersdk_guestkit-0.3.3/scripts/validate-docker.sh +142 -0
  126. hypersdk_guestkit-0.3.3/scripts/validate-performance.sh +138 -0
  127. hypersdk_guestkit-0.3.3/src/cli/ai/assistant.rs +242 -0
  128. hypersdk_guestkit-0.3.3/src/cli/ai/mod.rs +20 -0
  129. hypersdk_guestkit-0.3.3/src/cli/ai/tools.rs +155 -0
  130. hypersdk_guestkit-0.3.3/src/cli/batch.rs +429 -0
  131. hypersdk_guestkit-0.3.3/src/cli/blueprint/ansible.rs +106 -0
  132. hypersdk_guestkit-0.3.3/src/cli/blueprint/compose.rs +152 -0
  133. hypersdk_guestkit-0.3.3/src/cli/blueprint/kubernetes.rs +190 -0
  134. hypersdk_guestkit-0.3.3/src/cli/blueprint/mod.rs +466 -0
  135. hypersdk_guestkit-0.3.3/src/cli/blueprint/terraform.rs +229 -0
  136. hypersdk_guestkit-0.3.3/src/cli/cache.rs +248 -0
  137. hypersdk_guestkit-0.3.3/src/cli/commands/analysis.rs +1955 -0
  138. hypersdk_guestkit-0.3.3/src/cli/commands/batch.rs +197 -0
  139. hypersdk_guestkit-0.3.3/src/cli/commands/disk_ops.rs +1054 -0
  140. hypersdk_guestkit-0.3.3/src/cli/commands/file_ops.rs +921 -0
  141. hypersdk_guestkit-0.3.3/src/cli/commands/inspect.rs +1214 -0
  142. hypersdk_guestkit-0.3.3/src/cli/commands/mod.rs +390 -0
  143. hypersdk_guestkit-0.3.3/src/cli/commands/security.rs +3676 -0
  144. hypersdk_guestkit-0.3.3/src/cli/commands/systemd.rs +395 -0
  145. hypersdk_guestkit-0.3.3/src/cli/commands/tools.rs +605 -0
  146. hypersdk_guestkit-0.3.3/src/cli/cost/analyzer.rs +301 -0
  147. hypersdk_guestkit-0.3.3/src/cli/cost/estimator.rs +215 -0
  148. hypersdk_guestkit-0.3.3/src/cli/cost/mod.rs +471 -0
  149. hypersdk_guestkit-0.3.3/src/cli/cost/reporter.rs +152 -0
  150. hypersdk_guestkit-0.3.3/src/cli/dependencies/analyzer.rs +218 -0
  151. hypersdk_guestkit-0.3.3/src/cli/dependencies/graph.rs +189 -0
  152. hypersdk_guestkit-0.3.3/src/cli/dependencies/mod.rs +490 -0
  153. hypersdk_guestkit-0.3.3/src/cli/dependencies/visualizer.rs +271 -0
  154. hypersdk_guestkit-0.3.3/src/cli/diff.rs +513 -0
  155. hypersdk_guestkit-0.3.3/src/cli/errors.rs +431 -0
  156. hypersdk_guestkit-0.3.3/src/cli/exporters/html.rs +131 -0
  157. hypersdk_guestkit-0.3.3/src/cli/exporters/markdown.rs +774 -0
  158. hypersdk_guestkit-0.3.3/src/cli/exporters/mod.rs +130 -0
  159. hypersdk_guestkit-0.3.3/src/cli/exporters/pdf.rs +194 -0
  160. hypersdk_guestkit-0.3.3/src/cli/formatters.rs +438 -0
  161. hypersdk_guestkit-0.3.3/src/cli/interactive.rs +4237 -0
  162. hypersdk_guestkit-0.3.3/src/cli/inventory/cve.rs +312 -0
  163. hypersdk_guestkit-0.3.3/src/cli/inventory/formats.rs +636 -0
  164. hypersdk_guestkit-0.3.3/src/cli/inventory/licenses.rs +214 -0
  165. hypersdk_guestkit-0.3.3/src/cli/inventory/mod.rs +503 -0
  166. hypersdk_guestkit-0.3.3/src/cli/inventory/sbom.rs +65 -0
  167. hypersdk_guestkit-0.3.3/src/cli/license/analyzer.rs +73 -0
  168. hypersdk_guestkit-0.3.3/src/cli/license/database.rs +187 -0
  169. hypersdk_guestkit-0.3.3/src/cli/license/mod.rs +371 -0
  170. hypersdk_guestkit-0.3.3/src/cli/license/reporter.rs +103 -0
  171. hypersdk_guestkit-0.3.3/src/cli/license/scanner.rs +53 -0
  172. hypersdk_guestkit-0.3.3/src/cli/migrate/analyzer.rs +95 -0
  173. hypersdk_guestkit-0.3.3/src/cli/migrate/mod.rs +514 -0
  174. hypersdk_guestkit-0.3.3/src/cli/migrate/planner.rs +536 -0
  175. hypersdk_guestkit-0.3.3/src/cli/migrate/reporter.rs +252 -0
  176. hypersdk_guestkit-0.3.3/src/cli/mod.rs +28 -0
  177. hypersdk_guestkit-0.3.3/src/cli/output.rs +491 -0
  178. hypersdk_guestkit-0.3.3/src/cli/parallel.rs +930 -0
  179. hypersdk_guestkit-0.3.3/src/cli/plan/apply.rs +852 -0
  180. hypersdk_guestkit-0.3.3/src/cli/plan/command.rs +509 -0
  181. hypersdk_guestkit-0.3.3/src/cli/plan/export.rs +756 -0
  182. hypersdk_guestkit-0.3.3/src/cli/plan/generator.rs +608 -0
  183. hypersdk_guestkit-0.3.3/src/cli/plan/mod.rs +37 -0
  184. hypersdk_guestkit-0.3.3/src/cli/plan/preview.rs +559 -0
  185. hypersdk_guestkit-0.3.3/src/cli/plan/types.rs +747 -0
  186. hypersdk_guestkit-0.3.3/src/cli/profiles/compliance.rs +549 -0
  187. hypersdk_guestkit-0.3.3/src/cli/profiles/hardening.rs +540 -0
  188. hypersdk_guestkit-0.3.3/src/cli/profiles/migration.rs +397 -0
  189. hypersdk_guestkit-0.3.3/src/cli/profiles/mod.rs +277 -0
  190. hypersdk_guestkit-0.3.3/src/cli/profiles/performance.rs +306 -0
  191. hypersdk_guestkit-0.3.3/src/cli/profiles/security.rs +392 -0
  192. hypersdk_guestkit-0.3.3/src/cli/shell/commands/ai.rs +198 -0
  193. hypersdk_guestkit-0.3.3/src/cli/shell/commands/analysis.rs +5406 -0
  194. hypersdk_guestkit-0.3.3/src/cli/shell/commands/core.rs +473 -0
  195. hypersdk_guestkit-0.3.3/src/cli/shell/commands/mod.rs +134 -0
  196. hypersdk_guestkit-0.3.3/src/cli/shell/commands/navigation.rs +224 -0
  197. hypersdk_guestkit-0.3.3/src/cli/shell/commands/workflow.rs +4085 -0
  198. hypersdk_guestkit-0.3.3/src/cli/shell/completion.rs +257 -0
  199. hypersdk_guestkit-0.3.3/src/cli/shell/explore.rs +1079 -0
  200. hypersdk_guestkit-0.3.3/src/cli/shell/mod.rs +9 -0
  201. hypersdk_guestkit-0.3.3/src/cli/shell/repl.rs +618 -0
  202. hypersdk_guestkit-0.3.3/src/cli/templates/inspection_report.html +700 -0
  203. hypersdk_guestkit-0.3.3/src/cli/tui/app.rs +2502 -0
  204. hypersdk_guestkit-0.3.3/src/cli/tui/config.rs +305 -0
  205. hypersdk_guestkit-0.3.3/src/cli/tui/events.rs +32 -0
  206. hypersdk_guestkit-0.3.3/src/cli/tui/mod.rs +325 -0
  207. hypersdk_guestkit-0.3.3/src/cli/tui/splash.rs +80 -0
  208. hypersdk_guestkit-0.3.3/src/cli/tui/theme.rs +121 -0
  209. hypersdk_guestkit-0.3.3/src/cli/tui/ui.rs +1652 -0
  210. hypersdk_guestkit-0.3.3/src/cli/tui/views/analytics.rs +319 -0
  211. hypersdk_guestkit-0.3.3/src/cli/tui/views/dashboard.rs +509 -0
  212. hypersdk_guestkit-0.3.3/src/cli/tui/views/databases.rs +167 -0
  213. hypersdk_guestkit-0.3.3/src/cli/tui/views/files.rs +469 -0
  214. hypersdk_guestkit-0.3.3/src/cli/tui/views/issues.rs +308 -0
  215. hypersdk_guestkit-0.3.3/src/cli/tui/views/kernel.rs +149 -0
  216. hypersdk_guestkit-0.3.3/src/cli/tui/views/logs.rs +380 -0
  217. hypersdk_guestkit-0.3.3/src/cli/tui/views/mod.rs +21 -0
  218. hypersdk_guestkit-0.3.3/src/cli/tui/views/network.rs +202 -0
  219. hypersdk_guestkit-0.3.3/src/cli/tui/views/packages.rs +389 -0
  220. hypersdk_guestkit-0.3.3/src/cli/tui/views/profiles.rs +177 -0
  221. hypersdk_guestkit-0.3.3/src/cli/tui/views/recommendations.rs +553 -0
  222. hypersdk_guestkit-0.3.3/src/cli/tui/views/security.rs +137 -0
  223. hypersdk_guestkit-0.3.3/src/cli/tui/views/services.rs +386 -0
  224. hypersdk_guestkit-0.3.3/src/cli/tui/views/storage.rs +229 -0
  225. hypersdk_guestkit-0.3.3/src/cli/tui/views/timeline.rs +333 -0
  226. hypersdk_guestkit-0.3.3/src/cli/tui/views/topology.rs +446 -0
  227. hypersdk_guestkit-0.3.3/src/cli/tui/views/users.rs +386 -0
  228. hypersdk_guestkit-0.3.3/src/cli/tui/views/webservers.rs +193 -0
  229. hypersdk_guestkit-0.3.3/src/cli/validate/benchmarks.rs +213 -0
  230. hypersdk_guestkit-0.3.3/src/cli/validate/mod.rs +651 -0
  231. hypersdk_guestkit-0.3.3/src/cli/validate/policy.rs +134 -0
  232. hypersdk_guestkit-0.3.3/src/cli/validate/rules.rs +24 -0
  233. hypersdk_guestkit-0.3.3/src/converters/disk_converter.rs +204 -0
  234. hypersdk_guestkit-0.3.3/src/converters/mod.rs +6 -0
  235. hypersdk_guestkit-0.3.3/src/core/binary_cache.rs +832 -0
  236. hypersdk_guestkit-0.3.3/src/core/diagnostics.rs +232 -0
  237. hypersdk_guestkit-0.3.3/src/core/error.rs +63 -0
  238. hypersdk_guestkit-0.3.3/src/core/mem_optimize.rs +558 -0
  239. hypersdk_guestkit-0.3.3/src/core/mod.rs +22 -0
  240. hypersdk_guestkit-0.3.3/src/core/progress.rs +175 -0
  241. hypersdk_guestkit-0.3.3/src/core/retry.rs +180 -0
  242. hypersdk_guestkit-0.3.3/src/core/systemd/boot.rs +285 -0
  243. hypersdk_guestkit-0.3.3/src/core/systemd/journal.rs +329 -0
  244. hypersdk_guestkit-0.3.3/src/core/systemd/services.rs +296 -0
  245. hypersdk_guestkit-0.3.3/src/core/systemd.rs +246 -0
  246. hypersdk_guestkit-0.3.3/src/core/types.rs +120 -0
  247. hypersdk_guestkit-0.3.3/src/detectors/guest_detector.rs +224 -0
  248. hypersdk_guestkit-0.3.3/src/detectors/mod.rs +6 -0
  249. hypersdk_guestkit-0.3.3/src/disk/filesystem.rs +427 -0
  250. hypersdk_guestkit-0.3.3/src/disk/loop_device.rs +382 -0
  251. hypersdk_guestkit-0.3.3/src/disk/mod.rs +17 -0
  252. hypersdk_guestkit-0.3.3/src/disk/nbd.rs +603 -0
  253. hypersdk_guestkit-0.3.3/src/disk/partition.rs +230 -0
  254. hypersdk_guestkit-0.3.3/src/disk/reader.rs +172 -0
  255. hypersdk_guestkit-0.3.3/src/export/html.rs +708 -0
  256. hypersdk_guestkit-0.3.3/src/export/mod.rs +13 -0
  257. hypersdk_guestkit-0.3.3/src/export/pdf.rs +363 -0
  258. hypersdk_guestkit-0.3.3/src/export/template.rs +402 -0
  259. hypersdk_guestkit-0.3.3/src/guestfs/acl_ops.rs +279 -0
  260. hypersdk_guestkit-0.3.3/src/guestfs/archive.rs +639 -0
  261. hypersdk_guestkit-0.3.3/src/guestfs/attr_ops.rs +206 -0
  262. hypersdk_guestkit-0.3.3/src/guestfs/backup_ops.rs +209 -0
  263. hypersdk_guestkit-0.3.3/src/guestfs/base64_ops.rs +68 -0
  264. hypersdk_guestkit-0.3.3/src/guestfs/bcache_ops.rs +193 -0
  265. hypersdk_guestkit-0.3.3/src/guestfs/blockdev_ops.rs +301 -0
  266. hypersdk_guestkit-0.3.3/src/guestfs/boot.rs +295 -0
  267. hypersdk_guestkit-0.3.3/src/guestfs/btrfs.rs +407 -0
  268. hypersdk_guestkit-0.3.3/src/guestfs/builder.rs +296 -0
  269. hypersdk_guestkit-0.3.3/src/guestfs/cap_ops.rs +141 -0
  270. hypersdk_guestkit-0.3.3/src/guestfs/checksum.rs +271 -0
  271. hypersdk_guestkit-0.3.3/src/guestfs/command.rs +164 -0
  272. hypersdk_guestkit-0.3.3/src/guestfs/compress_ops.rs +205 -0
  273. hypersdk_guestkit-0.3.3/src/guestfs/cpio_ops.rs +169 -0
  274. hypersdk_guestkit-0.3.3/src/guestfs/dd_ops.rs +165 -0
  275. hypersdk_guestkit-0.3.3/src/guestfs/device.rs +338 -0
  276. hypersdk_guestkit-0.3.3/src/guestfs/device_inventory.rs +347 -0
  277. hypersdk_guestkit-0.3.3/src/guestfs/disk_mgmt.rs +303 -0
  278. hypersdk_guestkit-0.3.3/src/guestfs/disk_ops.rs +417 -0
  279. hypersdk_guestkit-0.3.3/src/guestfs/dosfs_ops.rs +250 -0
  280. hypersdk_guestkit-0.3.3/src/guestfs/ext_ops.rs +396 -0
  281. hypersdk_guestkit-0.3.3/src/guestfs/f2fs_ops.rs +206 -0
  282. hypersdk_guestkit-0.3.3/src/guestfs/file_ops.rs +917 -0
  283. hypersdk_guestkit-0.3.3/src/guestfs/filesystem.rs +371 -0
  284. hypersdk_guestkit-0.3.3/src/guestfs/fstab.rs +361 -0
  285. hypersdk_guestkit-0.3.3/src/guestfs/fstab_rewriter.rs +238 -0
  286. hypersdk_guestkit-0.3.3/src/guestfs/glob_ops.rs +237 -0
  287. hypersdk_guestkit-0.3.3/src/guestfs/grub_ops.rs +233 -0
  288. hypersdk_guestkit-0.3.3/src/guestfs/handle.rs +904 -0
  289. hypersdk_guestkit-0.3.3/src/guestfs/hivex_ops.rs +441 -0
  290. hypersdk_guestkit-0.3.3/src/guestfs/inotify_ops.rs +117 -0
  291. hypersdk_guestkit-0.3.3/src/guestfs/inspect.rs +1017 -0
  292. hypersdk_guestkit-0.3.3/src/guestfs/inspect_enhanced.rs +2065 -0
  293. hypersdk_guestkit-0.3.3/src/guestfs/inspect_ext_ops.rs +291 -0
  294. hypersdk_guestkit-0.3.3/src/guestfs/internal.rs +230 -0
  295. hypersdk_guestkit-0.3.3/src/guestfs/iso.rs +177 -0
  296. hypersdk_guestkit-0.3.3/src/guestfs/jfs_ops.rs +205 -0
  297. hypersdk_guestkit-0.3.3/src/guestfs/journal_ops.rs +210 -0
  298. hypersdk_guestkit-0.3.3/src/guestfs/label_ops.rs +145 -0
  299. hypersdk_guestkit-0.3.3/src/guestfs/ldm_ops.rs +281 -0
  300. hypersdk_guestkit-0.3.3/src/guestfs/link_ops.rs +160 -0
  301. hypersdk_guestkit-0.3.3/src/guestfs/luks.rs +428 -0
  302. hypersdk_guestkit-0.3.3/src/guestfs/lvm.rs +576 -0
  303. hypersdk_guestkit-0.3.3/src/guestfs/lvm_clone.rs +3791 -0
  304. hypersdk_guestkit-0.3.3/src/guestfs/md_ops.rs +202 -0
  305. hypersdk_guestkit-0.3.3/src/guestfs/metadata.rs +551 -0
  306. hypersdk_guestkit-0.3.3/src/guestfs/minix_ops.rs +121 -0
  307. hypersdk_guestkit-0.3.3/src/guestfs/misc.rs +288 -0
  308. hypersdk_guestkit-0.3.3/src/guestfs/mod.rs +109 -0
  309. hypersdk_guestkit-0.3.3/src/guestfs/mount.rs +790 -0
  310. hypersdk_guestkit-0.3.3/src/guestfs/mpath_ops.rs +155 -0
  311. hypersdk_guestkit-0.3.3/src/guestfs/network.rs +212 -0
  312. hypersdk_guestkit-0.3.3/src/guestfs/nilfs_ops.rs +219 -0
  313. hypersdk_guestkit-0.3.3/src/guestfs/node_ops.rs +286 -0
  314. hypersdk_guestkit-0.3.3/src/guestfs/ntfs.rs +250 -0
  315. hypersdk_guestkit-0.3.3/src/guestfs/owner_ops.rs +224 -0
  316. hypersdk_guestkit-0.3.3/src/guestfs/package.rs +178 -0
  317. hypersdk_guestkit-0.3.3/src/guestfs/part_mgmt.rs +399 -0
  318. hypersdk_guestkit-0.3.3/src/guestfs/part_type_ops.rs +238 -0
  319. hypersdk_guestkit-0.3.3/src/guestfs/partition.rs +281 -0
  320. hypersdk_guestkit-0.3.3/src/guestfs/pread_ops.rs +170 -0
  321. hypersdk_guestkit-0.3.3/src/guestfs/reiserfs_ops.rs +253 -0
  322. hypersdk_guestkit-0.3.3/src/guestfs/rsync_ops.rs +111 -0
  323. hypersdk_guestkit-0.3.3/src/guestfs/security.rs +301 -0
  324. hypersdk_guestkit-0.3.3/src/guestfs/security_utils.rs +220 -0
  325. hypersdk_guestkit-0.3.3/src/guestfs/sed_ops.rs +211 -0
  326. hypersdk_guestkit-0.3.3/src/guestfs/selinux_ops.rs +111 -0
  327. hypersdk_guestkit-0.3.3/src/guestfs/service.rs +270 -0
  328. hypersdk_guestkit-0.3.3/src/guestfs/smart_ops.rs +231 -0
  329. hypersdk_guestkit-0.3.3/src/guestfs/squashfs_ops.rs +127 -0
  330. hypersdk_guestkit-0.3.3/src/guestfs/ssh.rs +306 -0
  331. hypersdk_guestkit-0.3.3/src/guestfs/swap_ops.rs +260 -0
  332. hypersdk_guestkit-0.3.3/src/guestfs/sync_ops.rs +104 -0
  333. hypersdk_guestkit-0.3.3/src/guestfs/syslinux_ops.rs +96 -0
  334. hypersdk_guestkit-0.3.3/src/guestfs/sysprep_ops.rs +221 -0
  335. hypersdk_guestkit-0.3.3/src/guestfs/system.rs +346 -0
  336. hypersdk_guestkit-0.3.3/src/guestfs/system_info.rs +161 -0
  337. hypersdk_guestkit-0.3.3/src/guestfs/template_ops.rs +237 -0
  338. hypersdk_guestkit-0.3.3/src/guestfs/time_ops.rs +213 -0
  339. hypersdk_guestkit-0.3.3/src/guestfs/transfer.rs +454 -0
  340. hypersdk_guestkit-0.3.3/src/guestfs/tsk_ops.rs +211 -0
  341. hypersdk_guestkit-0.3.3/src/guestfs/types.rs +394 -0
  342. hypersdk_guestkit-0.3.3/src/guestfs/ufs_ops.rs +169 -0
  343. hypersdk_guestkit-0.3.3/src/guestfs/util_ops.rs +113 -0
  344. hypersdk_guestkit-0.3.3/src/guestfs/utils.rs +322 -0
  345. hypersdk_guestkit-0.3.3/src/guestfs/validation.rs +204 -0
  346. hypersdk_guestkit-0.3.3/src/guestfs/virt_ops.rs +175 -0
  347. hypersdk_guestkit-0.3.3/src/guestfs/windows.rs +256 -0
  348. hypersdk_guestkit-0.3.3/src/guestfs/windows_registry.rs +682 -0
  349. hypersdk_guestkit-0.3.3/src/guestfs/xfs.rs +236 -0
  350. hypersdk_guestkit-0.3.3/src/guestfs/yara_ops.rs +110 -0
  351. hypersdk_guestkit-0.3.3/src/guestfs/zfs_ops.rs +322 -0
  352. hypersdk_guestkit-0.3.3/src/lib.rs +85 -0
  353. hypersdk_guestkit-0.3.3/src/main.rs +2793 -0
  354. hypersdk_guestkit-0.3.3/src/python.rs +3522 -0
  355. hypersdk_guestkit-0.3.3/src/templates/report.css +283 -0
  356. hypersdk_guestkit-0.3.3/templates/html_detailed.tpl +132 -0
  357. hypersdk_guestkit-0.3.3/templates/html_minimal.tpl +21 -0
  358. hypersdk_guestkit-0.3.3/templates/html_standard.tpl +80 -0
  359. hypersdk_guestkit-0.3.3/templates/markdown_detailed.tpl +71 -0
  360. hypersdk_guestkit-0.3.3/templates/markdown_minimal.tpl +10 -0
  361. hypersdk_guestkit-0.3.3/templates/markdown_standard.tpl +26 -0
  362. hypersdk_guestkit-0.3.3/templates/text_minimal.tpl +10 -0
  363. hypersdk_guestkit-0.3.3/templates/text_standard.tpl +25 -0
  364. hypersdk_guestkit-0.3.3/test_colors_demo.sh +72 -0
  365. hypersdk_guestkit-0.3.3/test_results.txt +157 -0
  366. hypersdk_guestkit-0.3.3/tests/arch_realistic.rs +729 -0
  367. hypersdk_guestkit-0.3.3/tests/blueprint/mod.rs +373 -0
  368. hypersdk_guestkit-0.3.3/tests/cost/mod.rs +340 -0
  369. hypersdk_guestkit-0.3.3/tests/debian_realistic.rs +930 -0
  370. hypersdk_guestkit-0.3.3/tests/dependencies/mod.rs +494 -0
  371. hypersdk_guestkit-0.3.3/tests/helpers/mock_disk.rs +357 -0
  372. hypersdk_guestkit-0.3.3/tests/helpers/mod.rs +6 -0
  373. hypersdk_guestkit-0.3.3/tests/integration_basic.rs +410 -0
  374. hypersdk_guestkit-0.3.3/tests/integration_error_handling.rs +353 -0
  375. hypersdk_guestkit-0.3.3/tests/integration_lvm_luks.rs +295 -0
  376. hypersdk_guestkit-0.3.3/tests/license/mod.rs +319 -0
  377. hypersdk_guestkit-0.3.3/tests/migrate/mod.rs +359 -0
  378. hypersdk_guestkit-0.3.3/tests/output_formats_test.rs +80 -0
  379. hypersdk_guestkit-0.3.3/tests/panic_safety.rs +256 -0
  380. hypersdk_guestkit-0.3.3/tests/performance_validation.rs +413 -0
  381. hypersdk_guestkit-0.3.3/tests/phase3_comprehensive.rs +443 -0
  382. hypersdk_guestkit-0.3.3/tests/phase3_windows.rs +477 -0
  383. hypersdk_guestkit-0.3.3/tests/security_tests.rs +222 -0
  384. hypersdk_guestkit-0.3.3/tests/test_license.rs +189 -0
  385. hypersdk_guestkit-0.3.3/tests/test_python_bindings.py +361 -0
  386. hypersdk_guestkit-0.3.3/tests/ubuntu_realistic.rs +664 -0
  387. 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