cross-posted from: https://programming.dev/post/36342010
Nitro is a tiny process supervisor that also can be used as pid 1 on Linux.
There are four main applications it is designed for:
- As init for a Linux machine for embedded, desktop or server purposes
- As init for a Linux initramfs
- As init for a Linux container (Docker/Podman/LXC/Kubernetes)
- As unprivileged supervision daemon on POSIX systems
Nitro is configured by a directory of scripts, defaulting to /etc/nitro (or the first command line argument).
I guess the question is how many choices do we need, can we cooperate on a couple of them?
We already had sysvinit, busybox-init, dinit, epoch, ginitd, initng, launchd, openrc, rinit, shepherd, s6, upstart, smf, finit, BSD rc.d, and probably more.
A choice for every person who finds the existing choices lacking for whatever reason.