32 lines
790 B
OCaml
32 lines
790 B
OCaml
open Mirage
|
|
|
|
let secrets_dir = "sekrit"
|
|
|
|
let build =
|
|
try
|
|
match Sys.getenv "BUILD" with
|
|
| "client" -> `Client
|
|
| _ -> `Server
|
|
with Not_found -> `Server
|
|
|
|
let disk = generic_kv_ro secrets_dir
|
|
|
|
let stack = generic_stackv4 default_network
|
|
|
|
let packages = [
|
|
package ~sublibs:["mirage"] "tls" ;
|
|
package ~sublibs:["lwt"] "logs"
|
|
]
|
|
|
|
let server =
|
|
foreign ~deps:[abstract nocrypto] ~packages "Unikernel.Server" @@ stackv4 @-> kv_ro @-> pclock @-> job
|
|
|
|
let client =
|
|
foreign ~deps:[abstract nocrypto] ~packages "Unikernel.Client" @@ stackv4 @-> kv_ro @-> pclock @-> job
|
|
|
|
let () =
|
|
match build with
|
|
| `Server ->
|
|
register "tls-server" [ server $ stack $ disk $ default_posix_clock ]
|
|
| `Client ->
|
|
register "tls-client" [ client $ stack $ disk $ default_posix_clock ]
|