From eef8e5477653a69e8319784af1da361f0afb9e5b Mon Sep 17 00:00:00 2001 From: Hannes Mehnert Date: Tue, 1 Mar 2022 21:54:31 +0100 Subject: [PATCH] Include more information on the front page, especially how unikernels can be executed. --- lib/views.ml | 52 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/lib/views.ml b/lib/views.ml index ca09f99..4810936 100644 --- a/lib/views.ml +++ b/lib/views.ml @@ -240,27 +240,41 @@ let page_not_found ~path ~referer = module Builds = struct + let data = + {| +# Reproducible OPAM builds + +This website offers binary MirageOS unikernels and supplementary OS packages. +If you want to use our binary packages and setup unikernels, follow +[these instructions](https://robur.coop/Projects/Reproducible_builds). +The unikernels are statically linked executables where the execution target is +independent of the build platform - so even if they're compiled on a FreeBSD +system they can be run on a Linux or OpenBSD host. Many are executed using a +[solo5](https://github.com/solo5/solo5) tender. +The filename suffix of the unikernel binary indicate the expected execution environment: +- `.hvt`: hardware virtualized - requires `solo5-hvt` + ([Linux KVM](https://www.linux-kvm.org/page/Main_Page), + [FreeBSD BHyve](https://wiki.freebsd.org/bhyve), + [OpenBSD VMM](https://man.openbsd.org/vmm)), +- `.spt`: sandboxed process - requires `solo5-spt` (Linux with seccomp), +- `.xen`: Xen PVH virtual machine (on a Xen or QubesOS host), +- `.virtio`: any virtio environment (qemu, GCE, KVM, BHyve), +- `.muen`: on [muen](https://muen.sk). + +A persistent link to the latest successful build is available as +`/job/*jobname*/build/latest/`. Each build can be reproduced with +[orb](https://github.com/roburio/orb/). The builds are scheduled and executed +daily by [builder](https://github.com/roburio/builder/). This web interface is +[builder-web](https://git.robur.io/robur/builder-web/). Read further information +[on our project page](https://robur.coop/Projects/Reproducible_builds). This +work has been funded by the European Union under the +[NGI Pointer](https://pointer.ngi.eu) program. Contact team ATrobur.coop if you +have questions or suggestions. +|} + let make_header = [ - H.h1 [ H.txt "Reproducible OPAM builds" ]; - H.p [ H.txt "This website offers binary MirageOS unikernels and \ - supplementary OS packages." ]; - H.p [ - H.txt "Following is a list of jobs that are built daily. A \ - persistent link to the latest successful build is available \ - as /job/*jobname*/build/latest/. All builds can be \ - reproduced with "; - H.a ~a:H.[a_href "https://github.com/roburio/orb/"] - [H.txt "orb"]; - H.txt ". The builds are scheduled and executed by "; - H.a ~a:H.[a_href "https://github.com/roburio/builder/"] - [H.txt "builder"]; - H.txt ". The web interface is "; - H.a ~a:H.[a_href "https://git.robur.io/robur/builder-web/"] - [H.txt "builder-web"]; - H.txt ". Contact team@robur.coop if you have any questions or \ - suggestions."; - ]; + H.Unsafe.data (Utils.Omd.html_of_string data); H.form ~a:H.[a_action "/hash"; a_method `Get] [ H.label [ H.txt "Search artifact by SHA256";