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).

  • TMP_NKcYUEoM7kXg4qYe@lemmy.world
    link
    fedilink
    arrow-up
    1
    ·
    20 hours ago

    This does not seem very different from runit, so you probably do things similarly. Dependencies are done by checking if the dependency is running inside the script. Presumably you deal with daemons by execing the daemon, so that the daemon becomes the script, not a separate process.