A container runtime written in Rust

Edit Package youki
https://github.com/containers/youki

youki is an implementation of the OCI runtime-spec in Rust, similar to runc.

Here is why we are writing a new container runtime in Rust.

* Rust is one of the best languages to implement the oci-runtime spec. Many very nice container tools are currently written in Go. However, the container runtime requires the use of system calls, which requires a bit of special handling when implemented in Go. This is too tricky (e.g. namespaces(7), fork(2)); with Rust, it's not that tricky. And, unlike in C, Rust provides the benefit of memory safety. While Rust is not yet a major player in the container field, it has the potential to contribute a lot: something this project attempts to exemplify.

* youki has the potential to be faster and use less memory than runc, and therefore work in environments with tight memory usage requirements. Here is a simple benchmark of a container from creation to deletion.

Runtime Time (mean ± σ) Range (min … max)
youki 198.4 ms ± 52.1 ms 97.2 ms … 296.1 ms
runc 352.3 ms ± 53.3 ms 248.3 ms … 772.2 ms
crun 153.5 ms ± 21.6 ms 80.9 ms … 196.6 ms

* I have fun implementing this. In fact, this may be the most important.

Refresh
Refresh
Source Files
Filename Size Changed
_service 0000000789 789 Bytes
vendor.tar.zst 0046073061 43.9 MB
youki-0.3.2.obscpio 0025308685 24.1 MB
youki.changes 0000000207 207 Bytes
youki.obsinfo 0000000094 94 Bytes
youki.spec 0000002656 2.59 KB
Latest Revision
Johannes Kastl's avatar Johannes Kastl (ojkastl_buildservice) committed (revision 5)
remove bogus BuildRequires that did not fix the errors
Comments 0
openSUSE Build Service is sponsored by