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 0000002997 2.93 KB
Latest Revision
Dirk Mueller's avatar Dirk Mueller (dirkmueller) accepted request 1191144 from Johannes Kastl's avatar Johannes Kastl (ojkastl_buildservice) (revision 1)
new package youki: A container runtime written in Rust
Comments 0
openSUSE Build Service is sponsored by