MirageOS is a library operating system that constructs unikernels
ISC License
Bot releases are hidden (Show)
CHANGES:
?deps
argument into Mirage.main
function to bePublished by hannesm 4 months ago
CHANGES:
BREAKING adapt to happy-eyeballs and dns-client devices where dependencies
got reversed (#1543 @dinosaure @hannesm)
Adapting unikernels requires to notice that the generic_dns_client now
takes a happy_eyeballs, and happy_eyeballs does no longer take a dns_client:
-let dns_client = generic_dns_client ~nameservers stackv4v6
-let happy_eyeballs = generic_happy_eyeballs stackv4v6 dns_client
+let happy_eyeballs = generic_happy_eyeballs stackv4v6
+let dns_client = generic_dns_client ~nameservers stackv4v6 happy_eyeballs
allow mirage-qubes 0.10 series (#1548 @dinosaure)
revise "job without arguments" to take runtime arguments into consideration
(#1544 @hannesm)
provide Mirage.ethif (alias to Mirage.etif - which is now deprecated)
(#1546 @reynir @hannesm)
update tests for cmdliner 1.3.0 (#1545 @hannesm)
allow paf 0.6.0 (#1542 @hannesm)
Published by hannesm 5 months ago
CHANGES:
~name
parameter from Mirage.Runtime_args.create~name
parameter from Mirage.runtime_arg, and use astart
function to unit Lwt.t
. Previously, there was nounit Lwt.t Lwt.t
(@Julow #1524)mirage build
is no longer available, use make "build"
(#1527 @hannesm)Published by samoht 6 months ago
CHANGES:
This release introduces a significant change in the Mirage tool by
splitting the definition of command-line arguments used at
configure-time and runtime. Command-line arguments used in the
configure script (also called 'configuration keys' and defined in
the Key
module) are essential during the setup of module
dependencies for the unikernel, allowing for a specialized
production of a unikernel for a given target runtime environment. On
the other hand, command-line arguments that the unikernel can use at
runtime (defined in the Runtime_arg
module) are useful for
customizing deployments without altering the dependencies of the
unikernels. (#1449, #1450, #1451, #1455 @samoht, review by @hannesm)
API changes:
~stage
parameter for Key.Arg.info
.Key
now define command-line arguments for the configuration tool.Runtime_arg
to define command-line arguments'Both
, users are now expected to createIntended use of configuration keys (values of type 'a key
):
Intended use of command-line runtime arguments (values of type
a runtime_arg
):
key_gen.ml
is not generated anymore, so users cannot refer to
Key_gen.<key_name>
directy.
runtime_arg
and~runtime_args
). The value of thatconnect
Key_gen.target
has been removed.Code migration:
(* in config.ml *)
let key =
let doc = Key.Arg.info ~doc:"A Key." ~stage:`Run [ "key" ] in
Key.(create "key" Arg.(opt_all ~stage:`Run string doc))
becomes:
(* in unikernel.ml *)
open Cmdliner
let key =
let doc = Arg.info ~doc:"A Key." [ "key" ] in
Arg.(value & opt_all string [] doc)
(* in unikernel.ml *)
let start _ =
let key = Key_gen.hello () in
...
becomes:
(* in config.ml *)
let hello = runtime_arg ~pos:__POS__ "Unikernel.hello"
let main = main ~runtime_args:[hello] ...
(* in unikernel.ml *)
let hello =
let open Cmdliner in
let doc = Arg.info ~doc:"How to say hello." [ "hello" ] in
Arg.(value & opt string "Hello World!" doc)
let start _ hello =
...
functoria
and functoria-runtime
are removed. Themirage.functoria
and mirage-runtime.functoria
Mirage.keys
is renamed to Mirage.runtime_args
(#1506, @samoht)Mirage.foreign. Use
Mirage.main` instead (#1505, @samoht)Mirage.main
does not take a ?extra_deps
parameter anymoreMirage.connect
functions passed to create devicesMirage.impl
) now take values of type 'a Mirage.code
insteadstring
. Value of type code
are created using a new Mirage.code
~pos:__POS__
as parameter. This is used to generatemirage describe
output (#1446 @samoht), add test (#1458 @samoht)Mirage.register
no longer have ?packages
and ?keys
argumentsmirage build
subcommand, use dune build
in Makefile--profile release
in Makefile instead ofPublished by hannesm 8 months ago
CHANGES:
Published by hannesm 11 months ago
CHANGES:
--help
(#1485 @hannesm)Published by hannesm over 1 year ago
CHANGES:
Published by hannesm over 1 year ago
CHANGES:
Published by hannesm over 1 year ago
CHANGES:
Published by hannesm over 1 year ago
CHANGES:
Published by hannesm over 1 year ago
CHANGES:
Published by hannesm almost 2 years ago
CHANGES:
Published by hannesm almost 2 years ago
CHANGES:
Published by hannesm about 2 years ago
CHANGES:
Published by hannesm about 2 years ago
CHANGES:
Published by hannesm about 2 years ago
CHANGES:
Published by dinosaure over 2 years ago
CHANGES:
Published by dinosaure over 2 years ago
CHANGES:
Be able to make a docteur image with a relative path (@dinosaure, #1324)
Update the project with ocamlformat.0.21.0
(@gpetiot, @dinosaure, #1286)
Upgrade the mirage
tool with opam-monorepo.0.3.0
and generate
a single OPAM file (@TheLortex, @hannesm, @dinosaure, #1327)
You should check the opam-monorepo.0.3.0
release to get more details about
updates and fixes.
chamelon
device, a filesystem with littlefs
(@dinosaure, @yomimono, #1300)pair
combinator for MirageOS key (@dinosaure, #1328)Published by samoht over 2 years ago
CHANGES:
--solo5-abi=xen
for qubes target (#1312, @hannesm)config.ml
with -f
--warn-errors
and --debug
flags (#1320, @samoht)--target=ukvm
(#1321, @hannesm)ocaml-freestanding
to ocaml-solo5
Published by dinosaure over 2 years ago
CHANGES: