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.
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, DragonFly BSD or OpenBSD host. Many are executed using a solo5 tender.
A persistent link to the latest successful build is available as /job/*jobname*/build/latest/. Each build can be reproduced with orb.
The builds are scheduled and executed daily by builder. This web interface is builder-web. Read further information on our project page.
This work has been funded by the European Union under the NGI Pointer program. Contact team AT robur.coop if you have questions or suggestions.
Execution Environments
- .hvt: hardware virtualized - requires solo5-hvt (Linux KVM, FreeBSD BHyve, OpenBSD VMM, or DragonFly BSD NVMM)
- .xen: Xen PVH virtual machine (on a Xen or QubesOS host)
Packages
Albatross - orchestrate and manage MirageOS unikernels with Solo5
SHA256:c618ec5d1393d3859258a96d7c4d7e48cd32d10730dab74adc3547243aa64552
SHA256:bb9d20409acc83bd3ec150fa9bf9dbfc56852a29903f9a95467933f38c5a8196
SHA256:1dd7259e7bdfde647dc8ec805631cec223efe406e6b1614aceb55b34970200c9
OCI runtime for Solo5 unikernels
A boringly simpleconfiguration format
Scheduling and executing shell jobs
SHA256:69a6c4ddd1358644a64e057780f809a059292a1172f009d5771502c76e306fd1
SHA256:666e58e407925b20d6665983a1bfc54a05f18ff9a563b0cb75c860ad6aa8f1b8
SHA256:c108b93f17eca405a53ee954f2b53b4ccdc5f1041f1dddae83ec52aa1591552c
Web interface for builder
SHA256:edca0dc4b7b686e26bdce25d53cb71af838ce35c5a2850c166f74712968cbba5
SHA256:a192d7300e6b88c988caeaf835a43f7ce1105ac1153c19ec759803f315afcb70
SHA256:e5c5bdde81630a6fe9568cef59854a3cc7fc978f51e696a57d5b09f4fabba0d3
Unix command line DNS utilities
SHA256:cdd864928b87940cf1f3ff6fbdc15204cf82abe484d7150cdca4af85dd5526dc
SHA256:569cd66eaf96389274b5d7e422adce1cb3d3ef70e24ae2dd43192c491122ab57
SHA256:d7c1fd4ae3ffd777e8fd7e324283da20d4ee16ecf998937821de0339123e710b
Dissect OCaml compiled programs, and weight their content
SHA256:c1b93ab8c6782b0bdb67e723a1698c23d2ced352682b471ed54bb8380db93af4
SHA256:3809c02666b9936b6c4fb441ed771d19976591a6f0e99dadb981b8af1f873f55
SHA256:59fdbfa4145828ed8cb29d4e6439e4a25f5be940e1681dc7049027a64214d1e9
Graphing dependencies of opam packages
SHA256:d81254ff8dcc190d1700010f17e8f83dd729aadc79a8585200482c3fcf37e243
SHA256:bac5482a545c23cb5af9c74d38d11bcc7651c75f62c5c20d55d8d128413008f4
SHA256:b5249637d71e67c4b1b9bc24d9194841b2752989c59dc50e4d21ed3748144dd3
Check opam package reproducibility
Solo5 sandboxed execution environment
Unikernels
A CalDAV unikernel (RFC 4791) using a remote git repository for data storage
An unikernel that provides an opam-repository, and is a conex snapshot and timestamp service
A DNS secondary server that pushes certificates signed by let's encrypt when certificate signing requests without a valid certificate are in the zone (using TLSA records)
SHA256:fce4eaf652b49110406900767bbec36fb05b338288a9a93a035277aba0d82a96
A primary DNS server unikernel that stores zone files in a remote git repository
SHA256:040f92dd78c632dd7ff7a545e64211e7e4a5743f65df373a3a02cd01d3f232d8
A secondary DNS server as unikernel
SHA256:7c38b098f95d9bd7c0d9c98db855c02d88f484109e6fd1cc3a7d65685a9e1227
A DNS stub resolver
SHA256:1d72205b1f2604f157cfa25a9f17a8a336ce0a7eeef57afb5857ff6befeaa98c
A DNS resolver and DHCP server MirageOS unikernel
SHA256:d3ef57e672e7b1ec1589fdd74c29bc95f6953ec2ae11a3bb0670ff9b982c5011
A really simple unikernel with mkernel/unic/mfetch
An OpenVPN-compatible server unikernel.
SHA256:51b79bbc44bb6b5fe407949dbd784e499279d08fa900f1640bac0bb385ed41c1
A DNS secondary unikernel with monitoring and mkernel
SHA256:d6e661e31ba725026862fd8bf030d884dc1252fa8c75cb047368ac0d23581253
An unikernel implementing an opam-repository and archive mirror
A static website example unikernel
A TLS reverse proxy unikernel
SHA256:77f72b95dbe7f0f60f5b3bda05e55cbd7cf15ccbc14c09dd06ab61cdf4236a2e
A unikernel executing a traceroute
SHA256:b57baf4e1f7640c07e9e1eb1a97a044c446fc93d2d29d36f8a0d7f617ac6c700
A web server unikernel which content is stored in a remote git repository, TLS certificate via ALPN let's encrypt challenge
Unikernels (with metrics reported to Influx)
A CalDAV unikernel (RFC 4791) using a remote git repository for data storage, reports metrics to influx and certificate retrieval via DNS and let's encrypt
A CalDAV unikernel (RFC 4791) using a remote git repository for data storage, reports metrics to influx
A DNS secondary server that pushes certificates signed by let's encrypt when certificate signing requests without a valid certificate are in the zone (using TLSA records), reports metrics to influx
SHA256:a9674f2e7bbac3873bdd6b0a88cb684d76b69610d26262faf0013219e6c76899
A primary DNS server unikernel that stores zone files in a remote git repository which reports metrics to influx
SHA256:753be2242c0b7c6b2bc7e5b391dd53896051b8fc052f06f9308f13e0c2030d60
A secondary DNS server as unikernel which reports metrics to influx
SHA256:101cce9aac8c2c673316e1d314fa6ee99ee27a837ddbb20f94db2f7d680cdac4
An OpenVPN-compatible router unikernel, the configuration is stored on a block device, reports metrics to influx
SHA256:5effa51d2135b030b26d7416dcdc154fab7f8bfe9bbacf326895d0a3d0a9aba7
The unikernel serving https://retreat.mirageos.org with metrics reported to influx
SHA256:09e54061220b03495649b027dc257d9fea7e0d44ffd4b2f1a7d58d687a3a1f5a
A TLS reverse proxy unikernel, reports metrics to influx
SHA256:3f7422d68bfa73f5016ca28adec68062dd8fd14e7a171e6a34a1647bfb20c963
A web server unikernel which content is stored in a remote git repository, TLS certificate via ALPN let's encrypt challenge, which reports metrics to influx
