- Notifications
You must be signed in to change notification settings - Fork144
A sandboxed execution environment for unikernels
License
Solo5/solo5
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
| ___| __| _ \ | _ \ __ \\__ \ ( | | ( | ) |____/\___/ _|\___/____/
Solo5 originally started as a project by Dan Williams at IBM Research to portMirageOS to run on the Linux/KVM hypervisor. Since then, it has grown into amore general sandboxed execution environment, suitable for running applicationsbuilt using various unikernels (a.k.a. library operating systems), targetingdifferent sandboxing technologies on diverse host operating systems andhypervisors.
Some of the unique features of Solo5:
- a public ("guest-facing")API designed for ease ofporting existing and future unikernel-native applications,
- this aforementioned API facilitates the implementation of ("host-facing")bindings andtenders designed with isolation, aminimal attack surfaceand ease of porting to different sandboxing technologies orhost systems in mind,
- support for live and post-mortemdebugging of unikernels,
- fast "boot" times (comparable to loading a standard user process), suitablefor "function as a service" use-cases.
Looking for the "ukvm monitor"? Since Solo5 0.4.0, our terminology haschanged to better reflect the intendedarchitecture andlong-term goals of the project. What used to be referred to as amonitor isnow referred to as atender. As part of this change, theukvm target andmonitor have been renamed tohvt ("hardware virtualizedtender") toreflect that they are no longer specific to the KVM hypervisor, and to allowfor development of furthertenders such asspt.
As Solo5 is essentially a piece of "middleware" interfacing unikernel-styleapplications with their host systems, it is not an end-developer product assuch.
To get started as a developer with Solo5, please refer primarily to theinstructions provided by the unikernel project you intend to developapplications with:
- MirageOS:https://mirage.io/docs/install
- IncludeOS:https://www.includeos.org/
That said, we provide the following documentation, not specific to anyunikernel in particular:
- Building Solo5 and running Solo5-based unikernels
- Debugging Solo5-based unikernels
- Technical overview, goals and limitations, and architecture of Solo5
Solo5 is developed on GitHub and licensed under a liberal ISC license. Weaccept contributions via GitHub pull requests. When submitting a contribution,please add your details to theAUTHORS
file, and if your contribution addsnew source files copy the copyright header from an existing source file.
The coding style for the project is "as for the Linux kernel, but with 4spaces instead of tabs". When in doubt, please follow style in existing sourcefiles.
We operate a mailing list for general Solo5 development discussion, atsolo5@lists.h3q.com. To subscribe to the list, send an empty email tosolo5-subscribe@lists.h3q.com. Archives are available atThe MailArchive.
If you are considering a substantial contribution to Solo5, would like to porta new unikernel to Solo5, or have general questions unrelated to a specificunikernel, please get in touch via the mailing list.
About
A sandboxed execution environment for unikernels