GithubHelp home page GithubHelp logo

marmarek / solo5 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from solo5/solo5

0.0 2.0 0.0 2.11 MB

A sandboxed execution environment for unikernels

License: ISC License

Makefile 1.95% Shell 3.80% C 87.83% Assembly 4.34% C++ 1.42% Dockerfile 0.01% GDB 0.01% OCaml 0.63%

solo5's Introduction

            |      ___|
  __|  _ \  |  _ \ __ \
\__ \ (   | | (   |  ) |
____/\___/ _|\___/____/

About Solo5

Solo5 originally started as a project by Dan Williams at IBM Research to port MirageOS to run on the Linux/KVM hypervisor. Since then, it has grown into a more general sandboxed execution environment, suitable for running applications built using various unikernels (a.k.a. library operating systems), targeting different sandboxing technologies on diverse host operating systems and hypervisors.

Some of the unique features of Solo5:

  • a public ("guest-facing") API designed for ease of porting existing and future unikernel-native applications,
  • this aforementioned API facilitates the implementation of ("host-facing") bindings and tenders designed with isolation, a minimal attack surface and ease of porting to different sandboxing technologies or host systems in mind,
  • support for live and post-mortem debugging of unikernels,
  • fast "boot" times (comparable to loading a standard user process), suitable for "function as a service" use-cases.

Looking for the "ukvm monitor"? Since Solo5 0.4.0, our terminology has changed to better reflect the intended architecture and long-term goals of the project. What used to be referred to as a monitor is now referred to as a tender. As part of this change, the ukvm target and monitor have been renamed to hvt ("hardware virtualized tender") to reflect that they are no longer specific to the KVM hypervisor, and to allow for development of further tenders such as spt.

Getting started

As Solo5 is essentially a piece of "middleware" interfacing unikernel-style applications with their host systems, it is not an end-developer product as such.

To get started as a developer with Solo5, please refer primarily to the instructions provided by the unikernel project you intend to develop applications with:

That said, we provide the following documentation, not specific to any unikernel in particular:

Contributing and community

Solo5 is developed on GitHub and licensed under a liberal ISC license. We accept contributions via GitHub pull requests. When submitting a contribution, please add your details to the AUTHORS file, and if your contribution adds new 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 4 spaces instead of tabs". When in doubt, please follow style in existing source files.

We operate a mailing list for general Solo5 development discussion, at [email protected]. To subscribe to the list, send an empty email to [email protected]. Archives are available at The Mail Archive.

If you are considering a substantial contribution to Solo5, would like to port a new unikernel to Solo5, or have general questions unrelated to a specific unikernel, please get in touch via the mailing list.

solo5's People

Contributors

4gh avatar adamsteen avatar ansiwen avatar anuragsoni avatar avsm avatar djwillia avatar ehmry avatar gjaldon avatar hannesm avatar hb9cwp avatar ijc avatar kensan avatar mato avatar mdlemay avatar mjl- avatar myechuri avatar oddsund avatar ricarkol avatar sg2342 avatar stefanberger avatar waldyrious avatar weichen81 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.