Skip to content

feat(monitor): add initial support for embedded hyperlight VMM (#140)#632

Open
imshubham22apr-gif wants to merge 1 commit into
urunc-dev:mainfrom
imshubham22apr-gif:feat/issue-140-hyperlight-support
Open

feat(monitor): add initial support for embedded hyperlight VMM (#140)#632
imshubham22apr-gif wants to merge 1 commit into
urunc-dev:mainfrom
imshubham22apr-gif:feat/issue-140-hyperlight-support

Conversation

@imshubham22apr-gif
Copy link
Copy Markdown

@imshubham22apr-gif imshubham22apr-gif commented May 6, 2026

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?

  • Unit Testing: Created pkg/unikontainers/hypervisors/hyperlight_test.go to verify that the execution command is correctly constructed both with and without additional command-line arguments.
  • Compilation: Verified that the project and the new monitor package compile without errors for the target platform using $env:GOOS='linux'; go build ./....
  • Static Analysis: Ran go fmt and go vet to ensure code quality and adherence to Go standards.

LLM usage

  • LLM Usage Code development and test infrastructure setup were assisted by Ai.
  • Checklist

  • I have read the contribution guide.
  • The linter passes locally (go vet).
  • The e2e tests of at least one tool pass locally (E2E tests require a Linux environment with KVM/Hyperlight setup).
  • If LLMs were used: I have read the llm policy.

@netlify
Copy link
Copy Markdown

netlify Bot commented May 6, 2026

Deploy Preview for urunc canceled.

Name Link
🔨 Latest commit a7c45e7
🔍 Latest deploy log https://app.netlify.com/projects/urunc/deploys/69fb7919fc7cb7000814bc3b

@cmainas
Copy link
Copy Markdown
Contributor

cmainas commented May 8, 2026

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.

@imshubham22apr-gif
Copy link
Copy Markdown
Author

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.
E2E Tests :- I attempted to run the tests for Hyperlight, but they are failing across all tools (Docker, ctr, nerdctl, crictl) because the image harbor.nbfc.io/nubificus/urunc/hello-hyperlight-unikraft:latest returns a 404 Not Found from the registry.

Logs for reference :-

Unit Tests: PASS :- TestHyperlightBuildExecCmd
E2E Pull Error :- failed to resolve reference "harbor.nbfc.io/nubificus/urunc/hello-hyperlight-unikraft:latest": not found
Please let me know if I should use a different image or if the image needs to be pushed to the registry. I am ready to re-run the tests once the image is available.....

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add support for hyperlight

2 participants