Package: wnpp Owner: Reinhard Tartler <siret...@tauware.de> Severity: wishlist
* Package name : catatonit Version : 0.1.7 Upstream Author : 2018 SUSE LLC * URL or Web page : https://github.com/openSUSE/catatonit * License : GPLv3 Description : Lightweight init implementation for containers A container init that is so simple it's effectively brain-dead. This is a rewrite of [initrs][initrs] in C, because we found that it is not possible to statically compile Rust binaries without using musl. That was, in turn, a reimplementation of other container inits like `tini` and `dumb-init`. The reason for re-implementing `docker-init` is because it appears as though all of the other implementations do not handle signals as correctly as they should. In particular, they all appear to make use of `sigwait(2)` (`tini` does a `sigtimedwait(2)` for an interval and then will do a `waitpid(2)` even if it didn't detect a `SIGCHLD`). `catatonit` uses `signalfd(2)`, which [has its own warts][signalfd-broken], but the improvements over `sigwait(2)` are significant in terms of stability. Ideally we would just write a patch for the other projects to use `signalfd(2)` rather than creating a new project, but after some time spent looking at `tini` and `dumb-init` we felt that such patches would be closer to full rewrites. In addition, the purpose of `catatonit` is to only support the key usage by `docker-init` which is `/dev/init -- <your program>`. With few exceptions, no other features will be added. Co-maintainers welcome!