Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mirage/mirage
MirageOS is a library operating system that constructs unikernels
https://github.com/mirage/mirage
kvm linux mirageos ocaml opam unikernel xen
Last synced: 25 days ago
JSON representation
MirageOS is a library operating system that constructs unikernels
- Host: GitHub
- URL: https://github.com/mirage/mirage
- Owner: mirage
- License: isc
- Created: 2009-12-04T17:00:34.000Z (almost 15 years ago)
- Default Branch: main
- Last Pushed: 2024-09-05T14:43:41.000Z (2 months ago)
- Last Synced: 2024-10-01T22:20:20.341Z (about 1 month ago)
- Topics: kvm, linux, mirageos, ocaml, opam, unikernel, xen
- Language: OCaml
- Homepage: https://mirage.io
- Size: 29.5 MB
- Stars: 2,526
- Watchers: 84
- Forks: 245
- Open Issues: 65
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-starred-test - mirage/mirage - MirageOS is a library operating system that constructs unikernels (OCaml)
- awesome-repositories - mirage/mirage - MirageOS is a library operating system that constructs unikernels (OCaml)
- awesome-list - mirage
- awesome-starred - mirage/mirage - MirageOS is a library operating system that constructs unikernels (linux)
README
[![OCaml-CI Build Status](https://img.shields.io/endpoint?url=https%3A%2F%2Focaml.ci.dev%2Fbadge%2Fmirage%2Fmirage%2Fmain&logo=ocaml&style=flat-square)](https://ocaml.ci.dev/github/mirage/mirage)
[![docs](https://img.shields.io/badge/doc-online-blue.svg)](https://mirage.github.io/mirage/)
MirageOS is a library operating system that constructs secure,
performant and resource-efficient unikernels.
## About
MirageOS is a library operating system that constructs unikernels for
secure, high-performance network applications across various cloud
computing and mobile platforms. Developers can write code on a
traditional OS such as Linux or macOS. They can then compile their
code into a fully-standalone, specialised unikernel that runs under
the Xen or KVM hypervisors and lightweight hypervisors like FreeBSD's
BHyve, OpenBSD's VMM. These unikernels can deploy on public clouds,
like Amazon's Elastic Compute Cloud and Google Compute Engine, or
private deployments.The most up-to-date documentation can be found at the
[homepage](https://mirage.io). The site is [a self-hosted
unikernel](https://github.com/mirage/mirage-www). Simpler [skeleton
applications](https://github.com/mirage/mirage-skeleton) are also
available online. MirageOS unikernels repositories are also available
[here](https://github.com/roburio/unikernels) or
[there](https://github.com/tarides/unikernels).### This repository
This repository contains the `mirage` command-line tool to create and
deploy applications with MirageOS. This tool wraps the specialised
configuration and build steps required to build MirageOS on all the
supported targets.**Local install**
You will need the following:
* a working [OCaml](https://ocaml.org) compiler (4.08.0 or higher).
* the [Opam](https://opam.ocaml.org) source package manager (2.1.0 or higher).
* an x86\_64 or armel Linux host to compile Xen kernels, or FreeBSD, OpenBSD or
MacOS X for the solo5 and userlevel versions.Then run:
```
$ opam install mirage
$ mirage --version
```This should display at least version `4.0.0`.
### Using `mirage`
There are multiple stages to using `mirage`:
* write `config.ml` to describe the components of your applications;
* call `mirage configure` to generate the necessary code and metadata;
* optionally call `make depends` to install external dependencies and
download Opam packages in the current [dune](https://dune.build/) workspace.
* call `dune build` to build a unikernel.You can find documentation, walkthroughs and tutorials over on the
[MirageOS website](https://mirage.io).
The [install instructions](https://mirage.io/wiki/install)
are a good place to begin!