-
Notifications
You must be signed in to change notification settings - Fork 0
Wasm Runtime implementation #125
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…andbox, using sysinspect API.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This pull request implements a WebAssembly (WASI) runtime module for Sysinspect, enabling the execution of portable, architecture-independent Wasm modules across heterogeneous systems.
Changes:
- Implements core Wasm runtime module with sandboxed execution support
- Adds three example modules demonstrating Wasm usage (Go and Rust examples)
- Provides comprehensive tutorial documentation for writing and deploying Wasm modules
- Upgrades Rust toolchain to 1.93.0
- Refactors Python VM initialization to use newer RustPython API
- Improves SSH authentication code in ssrun module using match expressions
- Adds runtime utilities to libmodcore for dynamic request modification
Reviewed changes
Copilot reviewed 27 out of 30 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
modules/runtime/wasm-runtime/src/wart.rs |
Core Wasm runtime implementation with configuration, module loading, and execution |
modules/runtime/wasm-runtime/src/main.rs |
CLI entry point and runtime orchestration |
modules/runtime/wasm-runtime/src/mod_doc.yaml |
Module documentation defining runtime options and arguments |
modules/runtime/wasm-runtime/examples/*/ |
Three complete example modules (hello, caller, rs-reader) with Makefiles |
docs/tutorial/wasm_modules_tutor.rst |
Comprehensive tutorial covering installation, usage, and development |
docs/index.rst |
Index updated to include Wasm tutorial |
rust-toolchain.toml |
Rust toolchain upgraded from 1.92.0 to 1.93.0 |
Makefile |
Updated to include wasm-runtime in build targets |
.gitignore |
Enhanced to ignore build artifacts from examples |
modules/sys/ssrun/src/main.rs |
Refactored SSH authentication logic to use match expressions |
libsysinspect/src/pylang/pvm.rs |
Updated Python VM to use newer RustPython builder API |
libmodcore/src/runtime.rs |
Added Clone derive, From impl, and methods to modify ModRequest |
libmodcore/src/response.rs |
Added get_data() method for accessing response data |
libmodcore/src/manrndr.rs |
Changed print_mod_manual to accept reference instead of owned value |
modules/runtime/lua-runtime/src/main.rs |
Updated to pass reference to print_mod_manual |
Cargo.toml, Cargo.lock |
Added wasmruntime and related dependencies |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
modules/runtime/wasm-runtime/examples/caller/sysinspect/sysinspect.go
Outdated
Show resolved
Hide resolved
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pect.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 27 out of 30 changed files in this pull request and generated 7 comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
modules/runtime/wasm-runtime/examples/caller/sysinspect/sysinspect.go
Outdated
Show resolved
Hide resolved
…pect.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
…pect.go Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Add Wasm runtime for modules, compiled for WebAssembly (WASI):