From 714997ec7bd31884f1318548827f12599b2636c8 Mon Sep 17 00:00:00 2001 From: swrup Date: Thu, 12 Mar 2026 12:11:47 +0100 Subject: [PATCH] --- GNUmakefile | 2 +- src/devices.ml | 46 +++++++++++++++++++++++++--------------------- src/fat.ml | 5 +---- src/mte.ml | 19 +++++++------------ 4 files changed, 34 insertions(+), 38 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 5b2acb64..bf4552a2 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -1,7 +1,7 @@ vendor_list := \ mkernel miou zarith bstr mnet mirage-crypto-rng-mkernel gmp digestif \ kdf utcp flux h1 httpcats mhttp multipart_form-miou prettym tls \ - x509 vifu cachet mfat mirage-mtime caqti caqti-miou caqti-mnet caqti-driver-pgx + x509 vifu cachet mfat mirage-mtime caqti secmod_fat=secrets/secmod.fat tap_device=tap-mte diff --git a/src/devices.ml b/src/devices.ml index 4f997b2f..4b3527b9 100644 --- a/src/devices.ml +++ b/src/devices.ml @@ -1,26 +1,30 @@ -let db_connection caqti_switch : (unit, Caqti_miou.connection) Vif.Device.device = -let f () = - let db_uri= Config.Exchangedb_postgres.config in - match Caqti_miou_unix.connect ~sw:caqti_switch db_uri with - | Error err -> - Fmt.failwith "Database connection failure: %a." Caqti_error.pp err - | Ok conn -> ( - match Pg.preflight conn with - | Error err -> - Fmt.failwith "Database preflight failure: %a." Caqti_error.pp err - | Ok () -> - Logs.info (fun m -> m "database connection initialized"); - conn) -in +let db_connection caqti_switch : (unit, Caqti_miou.connection) Vif.Device.device + = + let f () = + let db_uri = Config.Exchangedb_postgres.config in + match Caqti_miou_unix.connect ~sw:caqti_switch db_uri with + | Error err -> + Fmt.failwith "Database connection failure: %a." Caqti_error.pp err + | Ok conn -> ( + match Pg.preflight conn with + | Error err -> + Fmt.failwith "Database preflight failure: %a." Caqti_error.pp err + | Ok () -> + Logs.info (fun m -> m "database connection initialized"); + conn) + in let finally (module Conn : Caqti_miou.CONNECTION) = Conn.disconnect () in Vif.Device.v ~name:"db_connection" ~finally [] f let keys storage = -let f (module Conn : Pg.CONN) () = - let (module Fs) = (module (struct let t = storage end)) in - let keys : (module Keys.S) = (module Keys.Make (Conn) (Fs) ) in - keys -in + let f (module Conn : Pg.CONN) () = + let (module Fs) = + (module struct + let t = storage + end) + in + let keys : (module Keys.S) = (module Keys.Make (Conn) (Fs)) in + keys + in let finally _key = () in - Vif.Device.v ~name:"keys" ~finally [ Vif.Device.value db_connection ] - f + Vif.Device.v ~name:"keys" ~finally [ Vif.Device.value db_connection ] f diff --git a/src/fat.ml b/src/fat.ml index 72b7aeba..c69dd2cf 100644 --- a/src/fat.ml +++ b/src/fat.ml @@ -1,10 +1,7 @@ - - module Fat = Mfat.Make (struct include Mkernel.Block let read = atomic_read - let write = atomic_write end) @@ -13,5 +10,5 @@ include Fat type t = Mkernel.Block.t Mfat.t module type FS = sig -val t : t + val t : t end diff --git a/src/mte.ml b/src/mte.ml index 237619f3..296319b0 100644 --- a/src/mte.ml +++ b/src/mte.ml @@ -83,17 +83,15 @@ let test (module Conn : Caqti_miou.CONNECTION) = let disconnect (module Conn : Caqti_miou.CONNECTION) = Conn.disconnect () - module RNG = Mirage_crypto_rng.Fortuna - let () = let ( let@ ) finally fn = Fun.protect ~finally fn in Util.Log_reporter.setup (); -let rng = - let rng () = Mirage_crypto_rng_mkernel.initialize (module RNG) in - Mkernel.map rng Mkernel.[] -in + let rng = + let rng () = Mirage_crypto_rng_mkernel.initialize (module RNG) in + Mkernel.map rng Mkernel.[] + in let storage = Mkernel.storage ~name:"storage" in let service = let ipv4 = Ipaddr.V4.Prefix.of_string_exn "10.0.0.2/24" in @@ -122,17 +120,14 @@ in Logs.app (fun m -> m "Test OK"); (* -- *) (* -- start webserver -- *) - let devices = [ - ] - in + let devices = [] in let cfg = Vifu.Config.v Config.Exchange.port in let db_device = Devices.db_connection sw in let keys_device = Devices.keys storage (Vifu.Device.value db_device) in - let devices = Vifu.Devices.[ db_device; keys_device] in + let devices = Vifu.Devices.[ db_device; keys_device ] in Vifu.run ~cfg ~devices tcp routes () - - (* +(* Miou_unix.run @@ fun () -> Caqti_miou.Switch.run @@ fun caqti_switch -> let env : Devices.env =