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:4158ec89e4ede1c2b84094093748efecde8bfb6b83dc1beedb3d151797347d97
SHA256:f679705f16bd95ab0f68723a73a9bc450cd73a2b18f8c46b369290b5f6514367
SHA256:6e0940391b55b1d0d75c9fee5bb23e534f17a95136dc0545719eceb34e18de4d
OCI runtime for Solo5 unikernels
A boringly simpleconfiguration format
Scheduling and executing shell jobs
SHA256:7ce7c99b4d96fbf05de62c54a8fc1e888181c5966370da06d712e07526a646cb
SHA256:aebc87907f300a87345a75f437603989933c312e7b9f0fb2061aa82139112730
SHA256:1f1ed9a0bb2815fed544e235c98ae90a1cd1de1aba4a302365a8e5931337eca5
Web interface for builder
SHA256:9e71d633f8b0eab5e87715960b1b05de1f206392dc25751557cff154dbc3a166
SHA256:5f9669fa0f4901c82a5426ecbdf229078f3e05d68299e721e2776f975715db43
SHA256:855498f09835e89c7b8201d66c191754c5e050addffa3fa7a939fdd6338b024b
Unix command line DNS utilities
SHA256:ad9b558ceb897f9322f1842d59f3e2aadee1d0267affd0657ef6a1ad861ccea5
SHA256:062a0cb927c01679ee4d4726e6aa748f93a838744dc0c61cc0e539509e6650dc
SHA256:2cb4bdad16a0f00cd84e234275d0b78e0bcb1796d0c2b4912e004dfb6b8b00e9
Dissect OCaml compiled programs, and weight their content
SHA256:c1b93ab8c6782b0bdb67e723a1698c23d2ced352682b471ed54bb8380db93af4
SHA256:3809c02666b9936b6c4fb441ed771d19976591a6f0e99dadb981b8af1f873f55
SHA256:59fdbfa4145828ed8cb29d4e6439e4a25f5be940e1681dc7049027a64214d1e9
Graphing dependencies of opam packages
SHA256:d81254ff8dcc190d1700010f17e8f83dd729aadc79a8585200482c3fcf37e243
SHA256:bac5482a545c23cb5af9c74d38d11bcc7651c75f62c5c20d55d8d128413008f4
SHA256:945dfc045d959ac0fb0fd87b2ecd5c12b6fbf3ddc9eda8a41f0dad90d1d7075c
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:2bac3be898d6040cd67ad855cd929407f0fe84787463eee806ae98eabaf599f6
A primary DNS server unikernel that stores zone files in a remote git repository
SHA256:33c3ce2a1fef838ec0d97db175147e033868b2fb107e10135c5018937bbe4971
A secondary DNS server as unikernel
SHA256:4692a36cfeb5495a5feac0f75d4ec08b3af9eda22ac315b17557f52e5f6887b0
A DNS stub resolver
SHA256:105ceb117d20aee1227324156ea47a061f8f51c5f1da2aa694dbac146c5e4253
A DNS resolver and DHCP server MirageOS unikernel
SHA256:8751d21fac3894bba410b4f9b9131363dcac4fb5f28e2a3f16d6c71b7589da84
A really simple unikernel with mkernel/unic/mfetch
An OpenVPN-compatible server unikernel.
SHA256:ebff52f47e5999edae6d039ab3e06100265a21ab5a2323da2c64acf02e274621
A DNS secondary unikernel with monitoring and mkernel
SHA256:2e5e6f817570d8a7b4e70f879158a3b5886a2cc31cad49d4bbb0c40c1766d01b
An unikernel implementing an opam-repository and archive mirror
A static website example unikernel
A TLS reverse proxy unikernel
SHA256:34160a6ae1074ec33916c0b5c5eaec2c473be1d39bebc78329ea65f9832d5536
A unikernel executing a traceroute
SHA256:aac7b764ff5a24d7f52f0e1c965a51118b101785cbd541a513c0c9477375dbc1
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:997836fd05a348aff5ba05a0979833e249a7072112477344a37a0e4fa933a7d9
A primary DNS server unikernel that stores zone files in a remote git repository which reports metrics to influx
SHA256:84d11056a268716071975f226ec37efe522023255cf4d32aa8d2b077a2b080a4
A secondary DNS server as unikernel which reports metrics to influx
SHA256:cdbde175eb72261b9b83843c3460d5320e0bf3568467c70f7b3c4f501ee7ad32
An OpenVPN-compatible router unikernel, the configuration is stored on a block device, reports metrics to influx
SHA256:c0b35bcfb412a5265f4ddd0d1f9285cdebfda909d46ee86c522a0b62cfc7fd57
The unikernel serving https://retreat.mirageos.org with metrics reported to influx
SHA256:423364105f4cad8a11239ef09d94be8ffb671ab302215514400e8f3a94ec5eee
A TLS reverse proxy unikernel, reports metrics to influx
SHA256:bd01d62b67cd27129249d5e1714e470ed5b5928444c9f1fca18883ea9d6aef52
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
