Skip to content

Conversation

@kartikangiras
Copy link

@kartikangiras kartikangiras commented Jan 20, 2026

Description

Add support for integration of IncludeOS a unikernel framework executed on top of solo5 and qemu .

Issue

Fixes #126

Implementation Details

  • VMMs: Solo5-hvt, Solo5-spt, QEMU
  • Networking: Via Solo5 I/O interface and virtio-net
  • Block storage: Supported with ext2/ext3/ext4 filesystems
  • Network Configuration: the CommandString function detects the assigned IP, Netmask, and Gateway. It formats them into a JSON string and then appends this string to the command line arguments used to boot the unikernel. (The default IncludeOS behaviour).

Proof Manifests

% go test -v pkg/unikontainers/unikernels/includeos.go pkg/unikontainers/unikernels/includeos_test.go
=== RUN   TestIncludeOS_CommandString
=== RUN   TestIncludeOS_CommandString/Full_Configuration
=== RUN   TestIncludeOS_CommandString/Network_Only_(No_Gateway)
=== RUN   TestIncludeOS_CommandString/No_Network_(Command_Only)
--- PASS: TestIncludeOS_CommandString (0.00s)
    --- PASS: TestIncludeOS_CommandString/Full_Configuration (0.00s)
    --- PASS: TestIncludeOS_CommandString/Network_Only_(No_Gateway) (0.00s)
    --- PASS: TestIncludeOS_CommandString/No_Network_(Command_Only) (0.00s)
PASS
ok      command-line-arguments  0.877s

Signed-off-by: Kartik Angiras <angiraskartik@gmail.com>
@netlify
Copy link

netlify bot commented Jan 20, 2026

Deploy Preview for urunc ready!

Name Link
🔨 Latest commit 5aa3124
🔍 Latest deploy log https://app.netlify.com/projects/urunc/deploys/696f76cd985a1700080a0d3d
😎 Deploy Preview https://deploy-preview-383--urunc.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

Signed-off-by: Kartik Angiras <angiraskartik@gmail.com>
@cmainas
Copy link
Contributor

cmainas commented Jan 20, 2026

Hello @kartikangiras ,

thank you for this contribution. Have you tried this PR? Some people have also worked in this issue in the past, but we had troubles with setting the network configuration to IncludeOS through the arguments.

Signed-off-by: Kartik Angiras <angiraskartik@gmail.com>
Signed-off-by: Kartik Angiras <angiraskartik@gmail.com>
@kartikangiras
Copy link
Author

@cmainas I have tested this PR via the unit test cases (pushed in the pr) for network configurations and they pass successfully for this.

@cmainas
Copy link
Contributor

cmainas commented Jan 20, 2026

Would it be possible to perform an end-to-end test too?
In order to do that you will need to:

  1. Create a new image of an IncludeOS unikernel with bunny
  2. Run it over your changes
  3. Check network configuration (e.g. ping, curl request -- depending on the unikernel)

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 IncludeOS

2 participants