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 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, or OpenBSD VMM)
- .xen: Xen PVH virtual machine (on a Xen or QubesOS host)
Packages
Albatross - orchestrate and manage MirageOS unikernels with Solo5
SHA256:1c7e16e6b664b1272d30e5c1159163cf946874b6e8e406d0da064a6a4d9e103d
SHA256:f81e806be124d163df936c863187601d0361c7878079af61f663e55ae05e84d1
SHA256:17aa64753e4e7f677eb07d4184bb061e58b25a05dcadde6205a1d7474391c277
SHA256:37898caffe90a016af7e31ba3060ba4c1c8cc654baaa4ef4c8c192a3142c4d8f
SHA256:758cb435562cc51b4bc51484dc57ee6b63f6a1f45038d2ec21caeeae6b6c9535
SHA256:c6228f034c16a98d399d34d6732d0f41a89a941db51492aa5fa62f1f02c4fb49
OCI runtime for Solo5 unikernels
A boringly simpleconfiguration format
Scheduling and executing shell jobs
SHA256:7aa883774f82aca603731bb6eb80723968006124f2e3c4942094f8b222216d5c
SHA256:f40ea3f3153241f69856d760a818ddf7767e8ac587c8d9586bb06549d711e666
SHA256:07ba68da28b00883c01fc744fbd062c94ec41224468fc8280d4d2dbc8f21c625
SHA256:626de6764cbac5555cc6af001dff90616649603eac15dcf0da12dd207cc990f3
SHA256:1a31f395cc9b3cd3ea89fdafc6f3746b2c35fc6a457e32210a28a34c7e2b5838
SHA256:30a79745d0d06a3b023fbfa80ba11fbfe7356971801ef82d7d9eccb2c740a9c1
Web interface for builder
SHA256:2f4ee5dd6ef0917dc4e0c23555d75d0ca0c10f1d339b9f154905fe26c89ffb2b
SHA256:b2ea5fe6b274b47c735f1fcf5335dcbce028ab5caa0ca28b78316077e469b510
SHA256:a3f39a44bc7f57779cb1428a441c70c2a31fbd243dade5ac3d52ad007ff0045c
SHA256:309cd7c9bcbde57c0b2292f14bbe7e738981314053b628783f2570499dbc8281
SHA256:9a66f8966acbf2952f615ebfee204f1b6a4e6f6216cd9513bd8a155046a83fe6
Unix command line DNS utilities
SHA256:a2e610b830134d319ab94c1c337b1f2876ac6d06e88418586b5bdf0173ebe78f
SHA256:f1722147a121a0067441a83fe73280c2cb8e7a4d8021db0f32e583687c09d512
SHA256:e97aaa2bcc924a6ce07460f439d50c76850dfb897ae9eb1aa100d9fc76324a49
SHA256:7de31b6cfb8e330bf201487facaa9c1dc8c7e91ece3e1e76d30fcc22d8934892
Dissect OCaml compiled programs, and weight their content
SHA256:08d16d35322f35b5166667d472c7888b385e763df78c5cf5a29103a51f741425
SHA256:998a39a74a3a836234a63fbce2e51abafb02db56afa8a6f5ce63e0057f657297
SHA256:1a11b136793460d67408e631089dd7e23e2af01bcacd3f848630a76f6a45a92d
SHA256:bd23a433c0035e7f7e3a31086607552c5ccd9c5d12baf59a4904ad27c2c86e20
SHA256:93c8ba5ca00dd254eecc53cc3226b5042433c9bb4ea23684cba9edcf134da0e7
Graphing dependencies of opam packages
SHA256:64aaf5e13564fd5bd7d2350f9544e90e7ba93d514631a590ef1ac5a7c8cfee2d
SHA256:4fe93336714f696d79d08fd0c3ae3a844fcd5076ffa7f0380a63d5f13d472f60
SHA256:bbad4b4142bbc20eaaccd4d02f8c7df912c8c62b552c56dc00c0c84bf6f2d4c2
SHA256:51e79751ef1de26649f1f1c31ec9d00e8b10c7251384d85768dd1c8772e25e7b
SHA256:c12ccdf69cf099a80accbc294175716c191c32c80d362ebc791df40991903ba7
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:0272abe55f1edc19d641156384497c74687226da0525108fae967c16f29e41ed
SHA256:bad7278b0ce83fe2fae7d8de21f996cdaab4e243da2bc99bc090509ae2784971
A primary DNS server unikernel that stores zone files in a remote git repository
SHA256:b8134e0b2afc786eb4786dfe5d140b45d9c0319d7b805aa525c21b783f53679c
SHA256:01e1c3bd574b128fe8546b809683750100360cb0a2349650b015e9830799d8e7
A secondary DNS server as unikernel
SHA256:51781122ff170e023207b2bbc31c4a8bf5049489a0c8f7efe02ca26d9628143e
SHA256:908c29474d20f054f58832734bcac7ad16184f434e4e07522751b38df8c8ceef
A DNS stub resolver
SHA256:1df8d77b9fb8e69189e42d475848ea4411a1986cbdf742c1345b7a79ea6bfd9d
SHA256:39bc814aacdd59903a96ac3653e10d61c1bd7c27bf0658d5866e33082757bbe5
A DNS resolver and DHCP server MirageOS unikernel
SHA256:e1f0a0cd14f8da954e58bb28447b6745a2bfff80bf58e64ea5a5b3dc992bed0e
SHA256:ed624a44fb19ff23256f2e8eb5802c1cf5cd9a930904d459f4c9662c3d35201d
The famous hello world unikernel
SHA256:4db50da2ffb311d3fb245f6129dc2c20dc1f7d66b7cc425bf9d84379979c8773
SHA256:44e9e47fcf835854f5d08919351a26d3b801d6b1d28a02fcb01a32d254f2d74c
An OpenVPN-compatible unikernel for QubesOS
SHA256:56ab42349954156b5c0185dd847385001214d1a2b77f4ec990ca5cdd204ccd49
SHA256:478058a32b737df81b71444ee9830f52d0d554a958219707d07990dc2af64c57
SHA256:1b21289b1532451f6bc9d07266a9fc7f736386a7837602661a2bf6055889dfef
An OpenVPN-compatible server unikernel.
SHA256:2974552c6653ff53c8b91700233fde17e8d03ebf025cb4661c12f29123381f2f
SHA256:12947781fdb272e9d58028fc9ec4a2c1ba0c3f8f16fc923a95b9870065b6478b
Mollymawk is a web user interface and REST API for albatross, and a MirageOS unikernel
SHA256:db37b8d1004811e2a6d042f19d8beef0ad530b008e6b28fbc57271ec64c62723
SHA256:0af43cf36d63ebaef5b18d069123fad3d70a821c14700042faa0cc02f6dfc9e4
An unikernel implementing an opam-repository and archive mirror
A static website example unikernel
A TLS reverse proxy unikernel
SHA256:453feef448e9ddf069c8441d171c9d21a9484052bcf9b8d985ec6309a1a132ee
SHA256:ff57ac167bc83b48b5a13c7e8edbb74481c9cc1a0c45bb47b283919b138ff018
A unikernel executing a traceroute
SHA256:a5d23d2bbac296fb4f4d9d5ed5e4e5eadbdf9966852875c8a099269a273a19a3
SHA256:eade9b0e7adcfaa1b622b23a1b26fe805a263eab57b0bb6fd95f03ae66d7d6c9
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:2014be9f7bb18e7c1089408298058c8a837a20b1d90076f89cc87f9ff305769b
SHA256:34f2921349fe394164e2d583446378d8134047cbd26c6e1cabbb4df87bad4841
A primary DNS server unikernel that stores zone files in a remote git repository which reports metrics to influx
SHA256:d9c40c88e286c44c31197b41b12f7d3a95f1d7a13a011e553efba2c9eb9b6a5d
SHA256:2cf1cd0fa5c10823677477b539c708cc9a05d642c3ebed0ef33b903ad9ecdae4
A secondary DNS server as unikernel which reports metrics to influx
SHA256:420881255cbfe2f992d50ad5568d9442b543ff90ed48a7eab148db2e87d70051
SHA256:b4bfeb1dae3caf4a10a009f20382358999288a4a121700a63a46d400030bb7d0
An OpenVPN-compatible router unikernel, the configuration is stored on a block device, reports metrics to influx
SHA256:2c12c43a79a389e57e128610c7b666e2f3012a88274d5689eb862e0843d4ba0c
SHA256:32e734b98b1ccfff27348b458c27f3c63183c81eddd7920512d652ef9a1db490
The unikernel serving https://retreat.mirageos.org with metrics reported to influx
SHA256:22eef3cff44ef18ad4285995ce5eaab4ab2e78923a209f9b1975eca0eceb4cfa
SHA256:26a19d5755c0b312bde795156fb924abf3b4972e3467701eaa4a23b9eeb07597
A TLS reverse proxy unikernel, reports metrics to influx
SHA256:ef46ce68142b4923553c0ec5545cfb1ee9c5a61d3e375eec81dac32e38661b2f
SHA256:b4786f4bb7a83ea258cf93b25b545d8fe5989ca64395ef7d3493b51590adb7bd
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
