Library
Module
Module type
Parameter
Class
Class type
Mirage keys.
Release v4.0.0
module Arg : sig ... end
include Functoria.KEY with module Arg := Arg
val pure : 'a -> 'a value
val default : 'a value -> 'a
val name : t -> string
val hash : t -> int
val pp : t Fmt.t
module Set : sig ... end
val pp_deps : 'a value Fmt.t
val is_runtime : t -> bool
val is_configure : t -> bool
module Alias : sig ... end
val dump_context : context Fmt.t
val empty_context : context
val ocaml_name : t -> string
val serialize_call : t Fmt.t
-t TARGET
: Key setting the configuration mode for the current project. Is one of "unix"
, "macosx"
, "xen"
, "qubes"
, "virtio"
, "hvt"
, "muen"
, "genode"
or "spt"
.
val pp_target : mode Fmt.t
Pretty printer for the mode.
val tracing_size : int -> int key
--tracing-size
: Key setting the tracing ring buffer size.
The OCaml runtime is usually configurable via the OCAMLRUNPARAM
environment variable. We provide boot parameters covering these options.
val backtrace : bool key
--backtrace
: Output a backtrace if an uncaught exception terminated the unikernel.
val randomize_hashtables : bool key
--randomize-hashtables
: Randomize all hash tables.
The OCaml garbage collector can be configured, as described in detail in GC control.
The following keys allow boot time configuration.
val allocation_policy : [ `Next_fit | `First_fit | `Best_fit ] key
val minor_heap_size : int option key
val major_heap_increment : int option key
val space_overhead : int option key
val max_space_overhead : int option key
val gc_verbosity : int option key
val gc_window_size : int option key
val custom_major_ratio : int option key
val custom_minor_ratio : int option key
val custom_minor_max_size : int option key
Some keys have a group
optional argument. This group argument allows to give several keys a prefix.
For example, if we have two ip
stacks, one external and one internal, We can use the group
option to name them in
and out
. This way, the available keys will be --in-ip
and --out-ip
.
If a key has another, non-optional argument. It is the default value.
Keys are always named the same as their command line option.
val kv_ro :
?group:string ->
unit ->
[ `Archive | `Crunch | `Direct | `Fat ] key
The type of key value store. Is one of "archive"
, "crunch"
, "direct"
, or "fat"
.
val block :
?group:string ->
unit ->
[ `XenstoreId | `BlockFile | `Ramdisk ] key
Block device keys
val prng : [ `Stdlib | `Nocrypto ] key
The type of pseudo random number generator to use by default.
val dhcp : ?group:string -> unit -> bool key
Enable dhcp. Is either true
or false
.
val net : ?group:string -> unit -> [ `Direct | `Socket ] option key
The type of stack. Is either "direct"
or "socket"
.
val interface : ?group:string -> string -> string key
A network interface.
module V4 : sig ... end
Ipv4 keys.
module V6 : sig ... end
Ipv6 keys.
val ipv4_only : ?group:string -> unit -> bool key
An option for dual stack to only use IPv4.
val ipv6_only : ?group:string -> unit -> bool key
An option for dual stack to only use IPv6.
val resolver : ?default:Ipaddr.t -> unit -> Ipaddr.t option key
The address of the DNS resolver to use.
val resolver_port : ?default:int -> unit -> int key
The port of the DNS resolver.
val syslog : Ipaddr.t option -> Ipaddr.t option key
The address to send syslog frames to.
val syslog_port : int option -> int option key
The port to send syslog frames to.
val syslog_hostname : string -> string key
The hostname to use in syslog frames.
val logs : Mirage_runtime.log_threshold list key