diff --git a/src/devices.ml b/src/devices.ml index 6173478a..39a3f2c3 100644 --- a/src/devices.ml +++ b/src/devices.ml @@ -1,8 +1,8 @@ -let db_connection caqti_switch : +let db_connection caqti_switch stack state dns : (unit, Caqti_miou.connection) Vifu.Device.device = let f () = let db_uri = Config.Exchangedb_postgres.config in - match Caqti_miou_unix.connect ~sw:caqti_switch db_uri with + match Caqti_mnet.connect ~sw:caqti_switch stack state dns db_uri with | Error err -> Fmt.failwith "Database connection failure: %a." Caqti_error.pp err | Ok conn -> ( @@ -16,9 +16,9 @@ let db_connection caqti_switch : let finally (module Conn : Caqti_miou.CONNECTION) = Conn.disconnect () in Vifu.Device.v ~name:"db_connection" ~finally [] f -let keys storage = +let keys db_connection storage = let f (module Conn : Pg.CONN) () = - let (module Fs) = + let (module Fs : Fat.FS) = (module struct let t = storage end) diff --git a/src/mte.ml b/src/mte.ml index 55da93d9..31fda5d1 100644 --- a/src/mte.ml +++ b/src/mte.ml @@ -101,29 +101,16 @@ let () = @@ fun rng storage (stack, tcp, udp) () -> let@ () = fun () -> Mirage_crypto_rng_mkernel.kill rng in let@ () = fun () -> Mnet.kill stack in - (* -- setup db connection -- *) let hed, he = Mnet_happy_eyeballs.create tcp in let@ () = fun () -> Mnet_happy_eyeballs.kill hed in let dns = Mnet_dns.create (udp_db, he) in let t = Mnet_dns.transport dns in let@ () = fun () -> Mnet_dns.Transport.kill t in Caqti_miou.Switch.run @@ fun sw -> - Logs.app (fun m -> m "Connecting to the database"); - let db_connection = - let config = Caqti_connect_config.default in - let r = Caqti_mnet.connect ~config ~sw stack tcp dns db_uri in - caqti_get_ok r - in - let@ () = fun () -> disconnect db_connection in - Logs.app (fun m -> m "Connected"); - test db_connection; - Logs.app (fun m -> m "Test OK"); - (* -- *) - (* -- start webserver -- *) 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 db_device = Devices.db_connection sw stack tcp dns in + let keys_device = Devices.keys db_device storage in let devices = Vifu.Devices.[ db_device; keys_device ] in Vifu.run ~cfg ~devices tcp routes ()