feat(monitor): add initial support for embedded hyperlight VMM (#140)#632
feat(monitor): add initial support for embedded hyperlight VMM (#140)#632imshubham22apr-gif wants to merge 2 commits into
Conversation
✅ Deploy Preview for urunc ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
|
Hello @imshubham22apr-gif , the testing methods you provide in the description are not sufficient. Please run an end-to-end test targeting hyperlight. Also please read the contribution guide. |
Update on E2E Testing :- I have successfully set up the environment with Docker, containerd, nerdctl, and crictl. Unit Tests :- Passed successfully. Logs for reference :- Unit Tests: PASS :- TestHyperlightBuildExecCmd |
|
Well, you will need to replace the image reference with one that you have created and used for testing. |
|
Hey @imshubham22apr-gif, @cmainas–just came across this. I'm Dan, a core Hyperlight maintainer. Hoping to unblock this, I made a urunc-ready With that, I also had to make some changes to this PR's code–available here: https://github.com/danbugs/urunc/compare/feat/issue-140-hyperlight-support. Minor changes, but it does shift the approach to treat Tested end-to-end with |
|
Hello @danbugs thank you for creating the image and for the explanation. It seems that for the embedded version we will need to perform some changes in urunc. The @imshubham22apr-gif would it be possible for you to integrate the changes of @danbugs ? We should also add the hello world as an end-to-end test. |
|
I have successfully integrated the changes proposed by @danbugs to transition Hyperlight to a host-level VMM model. I've also added the |
…-dev#140) Signed-off-by: imshubham22apr-gif <imshubham.22apr@gmail.com>
Signed-off-by: imshubham22apr-gif <imshubham.22apr@gmail.com>
1bf75ef to
6c9f522
Compare
This PR introduces initial support for the Hyperlight embedded VMM. Because Hyperlight is embedded directly within the application binary, this implementation avoids external process orchestration (like QEMU or Firecracker) and instead provides a lightweight monitor that executes the unikernel binary directly with its provided arguments.
Related issues
How was this tested?
pkg/unikontainers/hypervisors/hyperlight_test.goto verify that the execution command is correctly constructed both with and without additional command-line arguments.$env:GOOS='linux'; go build ./....go fmtandgo vetto ensure code quality and adherence to Go standards.LLM usage
Checklist
go vet).