Hasty Briefsbeta

Nitro: Tiny but flexible init system and process supervisor

10 hours ago
  • #init-system
  • #linux-netbsd
  • #process-supervisor
  • nitro is a tiny process supervisor usable as pid 1 on Linux and NetBSD.
  • Designed for embedded, desktop, server, initramfs, and container init.
  • Configuration via /etc/nitro directory with scripts for setup, run, finish, and log.
  • Supports reliable service restarting, logging chains, and works with read-only root.
  • Efficient, event-driven, with zero memory allocations during runtime.
  • Service states include DOWN, SETUP, STARTING, UP, ONESHOT, SHUTDOWN, RESTART, FATAL, DELAY.
  • Control via nitroctl with commands like up, down, restart, and system shutdown/reboot.
  • Supports parametrized services with templates ending in '@'.
  • Self-contained, static binary suitable for containers; mounts /dev and /run as needed.
  • Licensed under 0BSD, inspired by daemontools, runit, perp, and s6.