mte/unikernel/mirage/main.ml
2025-11-11 02:07:51 +01:00

337 lines
14 KiB
OCaml

open Lwt.Infix
type 'a io = 'a Lwt.t
let return = Lwt.return
let run t = Unix_os.Main.run t ; exit
0
let mirage_runtime_delay__key = Mirage_runtime.register_arg @@
# 32 "lib/devices/runtime_arg.ml"
Mirage_runtime.delay
;;
let mirage_runtime_network_v4_network_ipaddr_v4_prefix_of_string_exn_0_0_0_00__key = Mirage_runtime.register_arg @@
# 63 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.V4.network (Ipaddr.V4.Prefix.of_string_exn "0.0.0.0/0")
;;
let mirage_runtime_network_v6_network_none__key = Mirage_runtime.register_arg @@
# 80 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.V6.network None
;;
let mirage_runtime_network_ipv4_only___key = Mirage_runtime.register_arg @@
# 93 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.ipv4_only ()
;;
let mirage_runtime_network_ipv6_only___key = Mirage_runtime.register_arg @@
# 97 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.ipv6_only ()
;;
let mirage_runtime_network_dns_servers_none__key = Mirage_runtime.register_arg @@
# 109 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.dns_servers None
;;
let mirage_runtime_network_dns_timeout_none__key = Mirage_runtime.register_arg @@
# 115 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.dns_timeout None
;;
let mirage_runtime_network_dns_cache_size_none__key = Mirage_runtime.register_arg @@
# 119 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.dns_cache_size None
;;
let mirage_runtime_network_he_aaaa_timeout_none__key = Mirage_runtime.register_arg @@
# 123 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.he_aaaa_timeout None
;;
let mirage_runtime_network_he_connect_delay_none__key = Mirage_runtime.register_arg @@
# 127 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.he_connect_delay None
;;
let mirage_runtime_network_he_connect_timeout_none__key = Mirage_runtime.register_arg @@
# 131 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.he_connect_timeout None
;;
let mirage_runtime_network_he_resolve_timeout_none__key = Mirage_runtime.register_arg @@
# 135 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.he_resolve_timeout None
;;
let mirage_runtime_network_he_resolve_retries_none__key = Mirage_runtime.register_arg @@
# 139 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.he_resolve_retries None
;;
let mirage_runtime_network_he_timer_interval_none__key = Mirage_runtime.register_arg @@
# 143 "lib/devices/runtime_arg.ml"
Mirage_runtime_network.he_timer_interval None
;;
let mirage_runtime_logs__key = Mirage_runtime.register_arg @@
# 199 "lib/devices/runtime_arg.ml"
Mirage_runtime.logs
;;
let cmdliner_stdlib_setup_backtracesome_true_randomize_hashtablessome_true___key = Mirage_runtime.register_arg @@
# 382 "lib/mirage.ml"
Cmdliner_stdlib.setup ~backtrace:(Some true) ~randomize_hashtables:(Some true) ()
;;
let unikernel_pgx_setup__key = Mirage_runtime.register_arg @@
# 3 "unikernel/config.ml"
Unikernel.pgx_setup
;;
let unikernel_port__key = Mirage_runtime.register_arg @@
# 36 "unikernel/config.ml"
Unikernel.port
;;
# 98 "unikernel/mirage/main.ml"
module Tcpip_stack_direct_tcpv4v6__17 = Tcpip_stack_direct.TCPV4V6(Tcpip_stack_socket.V4V6)
# 102 "unikernel/mirage/main.ml"
module Paf_mirage_make__18 = Paf_mirage.Make(Tcpip_stack_direct_tcpv4v6__17)
# 106 "unikernel/mirage/main.ml"
module Happy_eyeballs_mirage_make__19 = Happy_eyeballs_mirage.Make(Tcpip_stack_socket.V4V6)
# 110 "unikernel/mirage/main.ml"
module Dns_client_mirage_make__20 = Dns_client_mirage.Make(Tcpip_stack_socket.V4V6)(Happy_eyeballs_mirage_make__19)
# 114 "unikernel/mirage/main.ml"
module Unikernel_make__21 = Unikernel.Make(Static____data_assets)(Static____data_tls_certificates)(Static____data_tls_keys)(Tcpip_stack_direct_tcpv4v6__17)(Paf_mirage_make__18)(Tcpip_stack_socket.V4V6)(Dns_client_mirage_make__20)
let mirage_bootvar__1 = lazy (
# 15 "lib/devices/argv.ml"
return (Mirage_bootvar.argv ())
);;
# 122 "unikernel/mirage/main.ml"
let struct_end__2 = lazy (
let __mirage_bootvar__1 = Lazy.force mirage_bootvar__1 in
__mirage_bootvar__1 >>= fun _mirage_bootvar__1 ->
# 47 "lib/functoria/job.ml"
return Mirage_runtime.(with_argv (runtime_args ()) "mte" _mirage_bootvar__1)
);;
# 130 "unikernel/mirage/main.ml"
let cmdliner_stdlib__3 = lazy (
let _cmdliner_stdlib_setup_backtracesome_true_randomize_hashtablessome_true_ = (cmdliner_stdlib_setup_backtracesome_true_randomize_hashtablessome_true___key ()) in
return (_cmdliner_stdlib_setup_backtracesome_true_randomize_hashtablessome_true_)
);;
# 136 "unikernel/mirage/main.ml"
let mirage_runtime__4 = lazy (
let _mirage_runtime_delay = (mirage_runtime_delay__key ()) in
# 268 "lib/mirage.ml"
Mirage_sleep.ns (Duration.of_sec _mirage_runtime_delay)
);;
# 143 "unikernel/mirage/main.ml"
let mirage_logs__5 = lazy (
let _mirage_runtime_logs = (mirage_runtime_logs__key ()) in
# 20 "lib/devices/reporter.ml"
let reporter = Mirage_logs.create () in
Mirage_runtime.set_level ~default:(Some Logs.Info) _mirage_runtime_logs;
Logs.set_reporter reporter;
Lwt.return reporter
);;
# 153 "unikernel/mirage/main.ml"
let mirage_sleep__6 = lazy (
return ()
);;
# 158 "unikernel/mirage/main.ml"
let mirage_ptime__7 = lazy (
return ()
);;
# 163 "unikernel/mirage/main.ml"
let mirage_mtime__8 = lazy (
return ()
);;
# 168 "unikernel/mirage/main.ml"
let mirage_crypto_rng_mirage__9 = lazy (
# 13 "lib/devices/random.ml"
Mirage_crypto_rng_mirage.initialize (module Mirage_crypto_rng.Fortuna)
);;
# 174 "unikernel/mirage/main.ml"
let mirage_runtime__10 = lazy (
# 277 "lib/mirage.ml"
Mirage_runtime.set_name "mte"; Lwt.return_unit
);;
# 180 "unikernel/mirage/main.ml"
let static____data_assets__11 = lazy (
# 23 "lib/devices/kv.ml"
Static____data_assets.connect ()
);;
# 186 "unikernel/mirage/main.ml"
let static____data_tls_certificates__12 = lazy (
# 23 "lib/devices/kv.ml"
Static____data_tls_certificates.connect ()
);;
# 192 "unikernel/mirage/main.ml"
let static____data_tls_keys__13 = lazy (
# 23 "lib/devices/kv.ml"
Static____data_tls_keys.connect ()
);;
# 198 "unikernel/mirage/main.ml"
let udpv4v6_socket__14 = lazy (
let _mirage_runtime_network_ipv4_only_ = (mirage_runtime_network_ipv4_only___key ()) in
let _mirage_runtime_network_ipv6_only_ = (mirage_runtime_network_ipv6_only___key ()) in
let _mirage_runtime_network_v4_network_ipaddr_v4_prefix_of_string_exn_0_0_0_00 = (mirage_runtime_network_v4_network_ipaddr_v4_prefix_of_string_exn_0_0_0_00__key ()) in
let _mirage_runtime_network_v6_network_none = (mirage_runtime_network_v6_network_none__key ()) in
# 34 "lib/devices/udp.ml"
Udpv4v6_socket.connect ~ipv4_only:_mirage_runtime_network_ipv4_only_ ~ipv6_only:_mirage_runtime_network_ipv6_only_ _mirage_runtime_network_v4_network_ipaddr_v4_prefix_of_string_exn_0_0_0_00 _mirage_runtime_network_v6_network_none
);;
# 208 "unikernel/mirage/main.ml"
let tcpv4v6_socket__15 = lazy (
let _mirage_runtime_network_ipv4_only_ = (mirage_runtime_network_ipv4_only___key ()) in
let _mirage_runtime_network_ipv6_only_ = (mirage_runtime_network_ipv6_only___key ()) in
let _mirage_runtime_network_v4_network_ipaddr_v4_prefix_of_string_exn_0_0_0_00 = (mirage_runtime_network_v4_network_ipaddr_v4_prefix_of_string_exn_0_0_0_00__key ()) in
let _mirage_runtime_network_v6_network_none = (mirage_runtime_network_v6_network_none__key ()) in
# 34 "lib/devices/tcp.ml"
Tcpv4v6_socket.connect ~ipv4_only:_mirage_runtime_network_ipv4_only_ ~ipv6_only:_mirage_runtime_network_ipv6_only_ _mirage_runtime_network_v4_network_ipaddr_v4_prefix_of_string_exn_0_0_0_00 _mirage_runtime_network_v6_network_none
);;
# 218 "unikernel/mirage/main.ml"
let tcpip_stack_socket_v4v6__16 = lazy (
let __udpv4v6_socket__14 = Lazy.force udpv4v6_socket__14 in
let __tcpv4v6_socket__15 = Lazy.force tcpv4v6_socket__15 in
__udpv4v6_socket__14 >>= fun _udpv4v6_socket__14 ->
__tcpv4v6_socket__15 >>= fun _tcpv4v6_socket__15 ->
# 89 "lib/devices/stack.ml"
Tcpip_stack_socket.V4V6.connect _udpv4v6_socket__14 _tcpv4v6_socket__15
);;
# 228 "unikernel/mirage/main.ml"
let tcpip_stack_direct_tcpv4v6__17 = lazy (
let __tcpip_stack_socket_v4v6__16 = Lazy.force tcpip_stack_socket_v4v6__16 in
__tcpip_stack_socket_v4v6__16 >>= fun _tcpip_stack_socket_v4v6__16 ->
# 161 "lib/mirage.ml"
Tcpip_stack_direct_tcpv4v6__17.connect _tcpip_stack_socket_v4v6__16
);;
# 236 "unikernel/mirage/main.ml"
let paf_mirage_make__18 = lazy (
let __tcpip_stack_direct_tcpv4v6__17 = Lazy.force tcpip_stack_direct_tcpv4v6__17 in
__tcpip_stack_direct_tcpv4v6__17 >>= fun _tcpip_stack_direct_tcpv4v6__17 ->
let _unikernel_port = (unikernel_port__key ()) in
# 47 "lib/devices/http.ml"
Paf_mirage_make__18.init ~port:_unikernel_port _tcpip_stack_direct_tcpv4v6__17
);;
# 245 "unikernel/mirage/main.ml"
let happy_eyeballs_mirage_make__19 = lazy (
let __tcpip_stack_socket_v4v6__16 = Lazy.force tcpip_stack_socket_v4v6__16 in
__tcpip_stack_socket_v4v6__16 >>= fun _tcpip_stack_socket_v4v6__16 ->
let _mirage_runtime_network_he_aaaa_timeout_none = (mirage_runtime_network_he_aaaa_timeout_none__key ()) in
let _mirage_runtime_network_he_connect_delay_none = (mirage_runtime_network_he_connect_delay_none__key ()) in
let _mirage_runtime_network_he_connect_timeout_none = (mirage_runtime_network_he_connect_timeout_none__key ()) in
let _mirage_runtime_network_he_resolve_timeout_none = (mirage_runtime_network_he_resolve_timeout_none__key ()) in
let _mirage_runtime_network_he_resolve_retries_none = (mirage_runtime_network_he_resolve_retries_none__key ()) in
let _mirage_runtime_network_he_timer_interval_none = (mirage_runtime_network_he_timer_interval_none__key ()) in
# 39 "lib/devices/happy_eyeballs.ml"
Happy_eyeballs_mirage_make__19.connect_device ?aaaa_timeout:_mirage_runtime_network_he_aaaa_timeout_none ?connect_delay:_mirage_runtime_network_he_connect_delay_none
?connect_timeout:_mirage_runtime_network_he_connect_timeout_none ?resolve_timeout:_mirage_runtime_network_he_resolve_timeout_none ?resolve_retries:_mirage_runtime_network_he_resolve_retries_none ?timer_interval:_mirage_runtime_network_he_timer_interval_none _tcpip_stack_socket_v4v6__16
);;
# 260 "unikernel/mirage/main.ml"
let dns_client_mirage_make__20 = lazy (
let __tcpip_stack_socket_v4v6__16 = Lazy.force tcpip_stack_socket_v4v6__16 in
let __happy_eyeballs_mirage_make__19 = Lazy.force happy_eyeballs_mirage_make__19 in
__tcpip_stack_socket_v4v6__16 >>= fun _tcpip_stack_socket_v4v6__16 ->
__happy_eyeballs_mirage_make__19 >>= fun _happy_eyeballs_mirage_make__19 ->
let _mirage_runtime_network_dns_servers_none = (mirage_runtime_network_dns_servers_none__key ()) in
let _mirage_runtime_network_dns_timeout_none = (mirage_runtime_network_dns_timeout_none__key ()) in
let _mirage_runtime_network_dns_cache_size_none = (mirage_runtime_network_dns_cache_size_none__key ()) in
# 15 "lib/devices/dns.ml"
Dns_client_mirage_make__20.connect ?nameservers:_mirage_runtime_network_dns_servers_none ?timeout:_mirage_runtime_network_dns_timeout_none ?cache_size:_mirage_runtime_network_dns_cache_size_none
(_tcpip_stack_socket_v4v6__16, _happy_eyeballs_mirage_make__19)
);;
# 274 "unikernel/mirage/main.ml"
let unikernel_make__21 = lazy (
let __static____data_assets__11 = Lazy.force static____data_assets__11 in
let __static____data_tls_certificates__12 = Lazy.force static____data_tls_certificates__12 in
let __static____data_tls_keys__13 = Lazy.force static____data_tls_keys__13 in
let __tcpip_stack_direct_tcpv4v6__17 = Lazy.force tcpip_stack_direct_tcpv4v6__17 in
let __paf_mirage_make__18 = Lazy.force paf_mirage_make__18 in
let __tcpip_stack_socket_v4v6__16 = Lazy.force tcpip_stack_socket_v4v6__16 in
let __dns_client_mirage_make__20 = Lazy.force dns_client_mirage_make__20 in
__static____data_assets__11 >>= fun _static____data_assets__11 ->
__static____data_tls_certificates__12 >>= fun _static____data_tls_certificates__12 ->
__static____data_tls_keys__13 >>= fun _static____data_tls_keys__13 ->
__tcpip_stack_direct_tcpv4v6__17 >>= fun _tcpip_stack_direct_tcpv4v6__17 ->
__paf_mirage_make__18 >>= fun _paf_mirage_make__18 ->
__tcpip_stack_socket_v4v6__16 >>= fun _tcpip_stack_socket_v4v6__16 ->
__dns_client_mirage_make__20 >>= fun _dns_client_mirage_make__20 ->
let _unikernel_pgx_setup = (unikernel_pgx_setup__key ()) in
(Unikernel_make__21.start _static____data_assets__11
_static____data_tls_certificates__12 _static____data_tls_keys__13
_tcpip_stack_direct_tcpv4v6__17 _paf_mirage_make__18
_tcpip_stack_socket_v4v6__16 _dns_client_mirage_make__20 _unikernel_pgx_setup
: unit io)
);;
# 298 "unikernel/mirage/main.ml"
let mirage_runtime__22 = lazy (
let __struct_end__2 = Lazy.force struct_end__2 in
let __cmdliner_stdlib__3 = Lazy.force cmdliner_stdlib__3 in
let __mirage_runtime__4 = Lazy.force mirage_runtime__4 in
let __mirage_logs__5 = Lazy.force mirage_logs__5 in
let __mirage_sleep__6 = Lazy.force mirage_sleep__6 in
let __mirage_ptime__7 = Lazy.force mirage_ptime__7 in
let __mirage_mtime__8 = Lazy.force mirage_mtime__8 in
let __mirage_crypto_rng_mirage__9 = Lazy.force mirage_crypto_rng_mirage__9 in
let __mirage_runtime__10 = Lazy.force mirage_runtime__10 in
let __unikernel_make__21 = Lazy.force unikernel_make__21 in
__struct_end__2 >>= fun _struct_end__2 ->
__cmdliner_stdlib__3 >>= fun _cmdliner_stdlib__3 ->
__mirage_runtime__4 >>= fun _mirage_runtime__4 ->
__mirage_logs__5 >>= fun _mirage_logs__5 ->
__mirage_sleep__6 >>= fun _mirage_sleep__6 ->
__mirage_ptime__7 >>= fun _mirage_ptime__7 ->
__mirage_mtime__8 >>= fun _mirage_mtime__8 ->
__mirage_crypto_rng_mirage__9 >>= fun _mirage_crypto_rng_mirage__9 ->
__mirage_runtime__10 >>= fun _mirage_runtime__10 ->
__unikernel_make__21 >>= fun _unikernel_make__21 ->
# 363 "lib/mirage.ml"
return ()
);;
# 324 "unikernel/mirage/main.ml"
let () =
let t = Lazy.force struct_end__2 >>= fun _ ->
Lazy.force cmdliner_stdlib__3 >>= fun _ ->
Lazy.force mirage_runtime__4 >>= fun _ ->
Lazy.force mirage_logs__5 >>= fun _ ->
Lazy.force mirage_sleep__6 >>= fun _ ->
Lazy.force mirage_ptime__7 >>= fun _ ->
Lazy.force mirage_mtime__8 >>= fun _ ->
Lazy.force mirage_crypto_rng_mirage__9 >>= fun _ ->
Lazy.force mirage_runtime__10 >>= fun _ ->
Lazy.force mirage_runtime__22 in
run t
;;