Devices.Runtime_arg
Command-line arguments for Mirage applications.
include module type of Functoria.Runtime_arg
type t = Functoria.Runtime_arg.t
The type command-line arguments where the type of the value is abstract.
val packages : t -> Functoria.Package.t list
module Set = Functoria.Runtime_arg.Set
Set
implements sets over t
elements.
val call : t Fmt.t
call fmt k
outputs name ()
to fmt
, where n
is k
's OCaml name.
val serialize : runtime_modname:string -> t Fmt.t
serialize ctx ppf k
outputs the Cmdliner
runes to parse command-line arguments represented by k
at runtime.
val var_name : t -> string
type 'a arg = 'a Functoria.DSL.runtime_arg
The type for command-line arguments that reads a value of type 'a
.
val create :
pos:(string * int * int * int) ->
?packages:Functoria.DSL.package list ->
string ->
'a arg
val v : 'a arg -> Functoria.Runtime_arg.t
v k
is the k
with its type hidden.
The OCaml runtime is usually configurable via the OCAMLRUNPARAM
environment variable. We provide boot parameters covering these options.
val backtrace : bool Functoria.DSL.runtime_arg
--backtrace
: Output a backtrace if an uncaught exception terminated the unikernel.
val randomize_hashtables : bool Functoria.DSL.runtime_arg
--randomize-hashtables
: Randomize all hash tables.
The OCaml garbage collector can be configured, as described in detail in GC control.
The following arguments allow boot time configuration.
val allocation_policy :
[ `Next_fit | `First_fit | `Best_fit ] Functoria.DSL.runtime_arg
val minor_heap_size : int option Functoria.DSL.runtime_arg
val major_heap_increment : int option Functoria.DSL.runtime_arg
val space_overhead : int option Functoria.DSL.runtime_arg
val max_space_overhead : int option Functoria.DSL.runtime_arg
val gc_verbosity : int option Functoria.DSL.runtime_arg
val gc_window_size : int option Functoria.DSL.runtime_arg
val custom_major_ratio : int option Functoria.DSL.runtime_arg
val custom_minor_ratio : int option Functoria.DSL.runtime_arg
val custom_minor_max_size : int option Functoria.DSL.runtime_arg
val interface :
?group:string ->
?docs:string ->
string ->
string Functoria.DSL.runtime_arg
A network interface.
module V4 : sig ... end
Ipv4 Arguments.
module V6 : sig ... end
Ipv6 Arguments.
val ipv4_only :
?group:string ->
?docs:string ->
unit ->
bool Functoria.DSL.runtime_arg
An option for dual stack to only use IPv4.
val ipv6_only :
?group:string ->
?docs:string ->
unit ->
bool Functoria.DSL.runtime_arg
An option for dual stack to only use IPv6.
val resolver :
?group:string ->
?docs:string ->
?default:string list ->
unit ->
string list option Functoria.DSL.runtime_arg
The address of the DNS resolver to use. See $REFERENCE for format.
val syslog :
?group:string ->
?docs:string ->
Ipaddr.t option ->
Ipaddr.t option Functoria.DSL.runtime_arg
The address to send syslog frames to.
val monitor :
?group:string ->
?docs:string ->
Ipaddr.t option ->
Ipaddr.t option Functoria.DSL.runtime_arg
The address to send monitor statistics to.
val syslog_port :
?group:string ->
?docs:string ->
int option ->
int option Functoria.DSL.runtime_arg
The port to send syslog frames to.
val syslog_hostname :
?group:string ->
?docs:string ->
string ->
string Functoria.DSL.runtime_arg
The hostname to use in syslog frames.
The type for log threshold. A log level of None
disables logging.
val logs : log_threshold list Functoria.DSL.runtime_arg
val delay : int Functoria.DSL.runtime_arg
The initial delay, specified in seconds, before a unikernel starting up. Defaults to 0. Useful for tenders and environments that take some time to bring devices up.