diff --git a/.gitignore b/.gitignore index 0e6da31d..2eacfd17 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,13 @@ _build/ -mirage/ -dist/ -dune.build -dune.config -dune-project -dune-workspace -duniverse/ +data/tls/keys/** +!data/tls/keys/.gitkeep +data/tls/certificates/** +!data/tls/certificates/.gitkeep +unikernel/mirage/ +unikernel/dist/ +unikernel/dune +unikernel/dune.build +unikernel/dune.config +unikernel/dune-project +unikernel/dune-workspace +unikernel/duniverse/ diff --git a/.ocamlformat-ignore b/.ocamlformat-ignore index adfe12f6..1321bd1f 100644 --- a/.ocamlformat-ignore +++ b/.ocamlformat-ignore @@ -1 +1,2 @@ -dist/dune +unikernel/dist/* +unikernel/mirage/* diff --git a/Makefile b/Makefile index ae409341..31b40978 100644 --- a/Makefile +++ b/Makefile @@ -1,9 +1,9 @@ # Generated by mirage.v4.10.3 -include Makefile.user -BUILD_DIR = ./ -MIRAGE_DIR = ./mirage -UNIKERNEL_NAME = minipaf-unix +BUILD_DIR = unikernel/ +MIRAGE_DIR = unikernel/mirage +UNIKERNEL_NAME = mte-unix OPAM = opam all:: @@ -57,7 +57,7 @@ depends depend:: build:: dune build --profile release --root . $(BUILD_DIR)dist - @echo "Your unikernel binary is now ready in $(BUILD_DIR)dist/minipaf" + @echo "Your unikernel binary is now ready in $(BUILD_DIR)dist/mte" @echo "Execute the binary using solo5-hvt, solo5-spt, xl, ..." clean:: diff --git a/certificates/.gitkeep b/data/tls/.gitkeep similarity index 100% rename from certificates/.gitkeep rename to data/tls/.gitkeep diff --git a/dune-project b/dune-project new file mode 100644 index 00000000..e06b4ae5 --- /dev/null +++ b/dune-project @@ -0,0 +1,7 @@ +(lang dune 2.9) + +(name mte-unix) + +(implicit_transitive_deps true) + +;; Generated by mirage.v4.10.3 diff --git a/dune-workspace b/dune-workspace new file mode 100644 index 00000000..9f714f25 --- /dev/null +++ b/dune-workspace @@ -0,0 +1,5 @@ +(lang dune 2.9) + +(context (default)) + +;; Generated by mirage.v4.10.3 diff --git a/gen.sh b/gen.sh deleted file mode 100644 index 818cc473..00000000 --- a/gen.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/sh - -hostname="${2:-localhost}" - -openssl req -x509 -newkey rsa:4096 -keyout keys/$1 -out certificates/$1 -sha256 -days 365 -subj "/CN=$hostname" -nodes diff --git a/gen_tls.sh b/gen_tls.sh new file mode 100644 index 00000000..214ff867 --- /dev/null +++ b/gen_tls.sh @@ -0,0 +1,7 @@ +#!/bin/sh + +hostname="${2:-localhost}" + +mkdir data/tls/keys +mkdir data/tls/certificates +openssl req -x509 -newkey rsa:4096 -keyout data/tls/keys/$1 -out data/tls/certificates/$1 -sha256 -days 365 -subj "/CN=$hostname" -nodes diff --git a/keys/.gitkeep b/keys/.gitkeep deleted file mode 100644 index e69de29b..00000000 diff --git a/src/dune b/src/dune new file mode 100644 index 00000000..5bbd0b24 --- /dev/null +++ b/src/dune @@ -0,0 +1,4 @@ +(library + (name mte) + (wrapped false) + (libraries logs)) diff --git a/src/mte.ml b/src/mte.ml new file mode 100644 index 00000000..06ce6388 --- /dev/null +++ b/src/mte.ml @@ -0,0 +1 @@ +let uuu = "uuu" diff --git a/config.ml b/unikernel/config.ml similarity index 82% rename from config.ml rename to unikernel/config.ml index a7da04ce..f11dfb93 100644 --- a/config.ml +++ b/unikernel/config.ml @@ -5,8 +5,8 @@ type conn = Connect let conn = typ Connect -let minipaf = - main "Unikernel.Make" +let mte = + main "Unikernel.Make" ~local_libs:[ "mte" ] ~packages: [ package "digestif"; package ~min:"0.0.9" "mimic-happy-eyeballs"; @@ -27,8 +27,8 @@ let stackv4v6 = generic_stackv4v6 default_network let tcpv4v6 = tcpv4v6_of_stackv4v6 stackv4v6 let he = generic_happy_eyeballs stackv4v6 let dns = generic_dns_client stackv4v6 he -let certificates = crunch "certificates" -let keys = crunch "keys" +let certificates = crunch "../data/tls/certificates" +let keys = crunch "../data/tls/keys" let conn = let happy_eyeballs = mimic_happy_eyeballs stackv4v6 he dns in @@ -38,5 +38,4 @@ let port = Runtime_arg.create ~pos:__POS__ "Unikernel.port" let http_server = paf_server ~port tcpv4v6 let () = - register "minipaf" - [ minipaf $ certificates $ keys $ tcpv4v6 $ conn $ http_server ] + register "mte" [ mte $ certificates $ keys $ tcpv4v6 $ conn $ http_server ] diff --git a/connect.ml b/unikernel/connect.ml similarity index 100% rename from connect.ml rename to unikernel/connect.ml diff --git a/dune b/unikernel/dune similarity index 100% rename from dune rename to unikernel/dune diff --git a/server.ml b/unikernel/server.ml similarity index 100% rename from server.ml rename to unikernel/server.ml diff --git a/unikernel.ml b/unikernel/unikernel.ml similarity index 99% rename from unikernel.ml rename to unikernel/unikernel.ml index 2dd96b02..3240533e 100644 --- a/unikernel.ml +++ b/unikernel/unikernel.ml @@ -4,7 +4,7 @@ open Cmdliner let port = let doc = Arg.info ~doc:"Port of HTTP service." [ "p"; "port" ] in - Arg.(value & opt int 8080 doc) + Arg.(value & opt int 3434 doc) let use_tls = let doc =