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).
Is choice a bad thing? Each one gets the features and workflow that suits that one. You put the wheels on your Linux that you like the best, I choose mine too. They all work on the same roads.
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.