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:7e2a977c9de05763f41477c3749743130dd0b0e039f7af42ec0523eb1c579924
SHA256:86817a0e1259dc46e6d2f7a539f28583fa272f943d33a2ea8ee147730aa89c13
SHA256:37898caffe90a016af7e31ba3060ba4c1c8cc654baaa4ef4c8c192a3142c4d8f
SHA256:758cb435562cc51b4bc51484dc57ee6b63f6a1f45038d2ec21caeeae6b6c9535
SHA256:db502ef108502494760f42004817b477f2ef46cc72d925077bf1d2c3f34079eb
OCI runtime for Solo5 unikernels
Scheduling and executing shell jobs
SHA256:7aa883774f82aca603731bb6eb80723968006124f2e3c4942094f8b222216d5c
SHA256:2beaf5a0d135a7c793b9eecf28a12b79ff531b48cb3ef44e4c163afac5d35ec7
SHA256:4e1d20b0cc545f8751a3a7d1752c6a09c32450e416fffd9bf91706fbd78d315e
SHA256:626de6764cbac5555cc6af001dff90616649603eac15dcf0da12dd207cc990f3
SHA256:1a31f395cc9b3cd3ea89fdafc6f3746b2c35fc6a457e32210a28a34c7e2b5838
SHA256:1271ff3a5ae21571613ef922dc2b2965cb0e2b872e56f921629d0bc87a699fab
Web interface for builder
SHA256:2f4ee5dd6ef0917dc4e0c23555d75d0ca0c10f1d339b9f154905fe26c89ffb2b
SHA256:6a2dbf295b2f09e50c0f8a154f22a24082363ce4b06c724a9670fa932e5a0cf0
SHA256:e3ac92b8ca2edcfb1060af977edc3d998b2614f5beed212ddbec17a6df0e70ca
SHA256:309cd7c9bcbde57c0b2292f14bbe7e738981314053b628783f2570499dbc8281
SHA256:7f70b4c3c8a5f6706af8cd9e7681facfa04409123d71d5ad03828b68c2eb7088
Unix command line DNS utilities
SHA256:b002ea91f088d0f52c3fe5eb2e7a1797a1de74087c4071f1b3159e73429df245
SHA256:357b84fb98228ca6058addb5c8a1484189544551be677f1f89e7eef7ade84eb7
SHA256:e97aaa2bcc924a6ce07460f439d50c76850dfb897ae9eb1aa100d9fc76324a49
SHA256:a15f9ed489d7a78c40ff040869d0043249856325fad88f097158ca82b6c23196
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:f7faae969e9c192d1ab833504ab3aa1fab7b32adce47c0c1fbaf358e2a6d47c9
SHA256:16b894f7ef74cfc66fb4aa7a1043ada4e7cffdcb1f3a03f8203b5c2a432ff520
SHA256:51e79751ef1de26649f1f1c31ec9d00e8b10c7251384d85768dd1c8772e25e7b
SHA256:2ca7051c260e38cf917422c7a9c52acb58f664fb2022409ef7916e511cacef77
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:30aafcad4d084c13d18483b59b19dba81d0703f909127f9006d25e0d5337aba8
A primary DNS server unikernel that stores zone files in a remote git repository
SHA256:b8134e0b2afc786eb4786dfe5d140b45d9c0319d7b805aa525c21b783f53679c
SHA256:586bed2fd3f0fc88a67bf62bc84065623d709f84f1f908dfe53722cc324705a5
A secondary DNS server as unikernel
SHA256:51781122ff170e023207b2bbc31c4a8bf5049489a0c8f7efe02ca26d9628143e
SHA256:da9d1cc3d2cd0aee39168496b8e7f7d5649b354c6773c002a40bfb650b6ff250
A DNS stub resolver
SHA256:1df8d77b9fb8e69189e42d475848ea4411a1986cbdf742c1345b7a79ea6bfd9d
SHA256:6c9769992bbf0b60d0cd8d44536af12ef02b1ed83132ffd514040433af0fedcf
A DNS resolver and DHCP server MirageOS unikernel
SHA256:e1f0a0cd14f8da954e58bb28447b6745a2bfff80bf58e64ea5a5b3dc992bed0e
SHA256:4315d439d57082c78aa20b42db590d4cd8486baf9f1f986012082cf91fab5ccd
The famous hello world unikernel
SHA256:4db50da2ffb311d3fb245f6129dc2c20dc1f7d66b7cc425bf9d84379979c8773
SHA256:1c92a0e2b380b1b50b8d258898c68e95f07c68f16a4b681e47cf53da7bf34a34
An OpenVPN-compatible unikernel for QubesOS
SHA256:56ab42349954156b5c0185dd847385001214d1a2b77f4ec990ca5cdd204ccd49
SHA256:478058a32b737df81b71444ee9830f52d0d554a958219707d07990dc2af64c57
SHA256:1b21289b1532451f6bc9d07266a9fc7f736386a7837602661a2bf6055889dfef
An OpenVPN-compatible server unikernel.
SHA256:2974552c6653ff53c8b91700233fde17e8d03ebf025cb4661c12f29123381f2f
SHA256:8ed82758fd7349ece575be45551dc5e3fc3631fd21b445d41f8356752ddcfb2e
Mollymawk is a web user interface and REST API for albatross, and a MirageOS unikernel
SHA256:db37b8d1004811e2a6d042f19d8beef0ad530b008e6b28fbc57271ec64c62723
SHA256:5ccca1be2181fe41a09df6882fc3c419ae240449c600aae892967b4e416d9f47
An unikernel implementing an opam-repository and archive mirror
A static website example unikernel
A TLS reverse proxy unikernel
SHA256:453feef448e9ddf069c8441d171c9d21a9484052bcf9b8d985ec6309a1a132ee
SHA256:592aabb895cbac22451349576e87bebcd2f2ccc17f650004cf727372a464e0b1
A unikernel executing a traceroute
SHA256:a5d23d2bbac296fb4f4d9d5ed5e4e5eadbdf9966852875c8a099269a273a19a3
SHA256:29c55409f6f778ba8b4dda126762a0632097030dcecde9cab98e0e1b4a3480aa
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:e356ae550c9d4f301f33b4f6144e8caebd38ed68e8930b4ab89de52627748691
A primary DNS server unikernel that stores zone files in a remote git repository which reports metrics to influx
SHA256:d9c40c88e286c44c31197b41b12f7d3a95f1d7a13a011e553efba2c9eb9b6a5d
SHA256:effc6f2a14e4ff5867ef6019de03fe5869acae6e0aac33ddebf4bf6831f5bd52
A secondary DNS server as unikernel which reports metrics to influx
SHA256:420881255cbfe2f992d50ad5568d9442b543ff90ed48a7eab148db2e87d70051
SHA256:49e0455388748706e986d1bfbe7455700b9630e46afbae5ecb0fe39bdae7ed70
An OpenVPN-compatible router unikernel, the configuration is stored on a block device, reports metrics to influx
SHA256:2c12c43a79a389e57e128610c7b666e2f3012a88274d5689eb862e0843d4ba0c
SHA256:a3ed2e498b3dc2a4e11a60bd8db03b838c6444966c7703424fefd83927f8719a
The unikernel serving https://retreat.mirageos.org with metrics reported to influx
SHA256:22eef3cff44ef18ad4285995ce5eaab4ab2e78923a209f9b1975eca0eceb4cfa
SHA256:700880eb5bbc98e953a9b586e0c73aebe085f3723ddd3aa2d7745d9d9dc85887
A TLS reverse proxy unikernel, reports metrics to influx
SHA256:ef46ce68142b4923553c0ec5545cfb1ee9c5a61d3e375eec81dac32e38661b2f
SHA256:c7977f7937e63e9c0b709fa606cab28f6499a67ea1b3cb155c5b9f52d30d29a1
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
