Re: Supervision on the BSD's

From: Laurent Bercot <ska-supervision_at_skarnet.org>
Date: Sat, 09 Apr 2022 13:43:52 +0000

>In searching, I found some messages on the Skaware lists about
>running s6 as PID 1 on FreeBSD; has that work been published anywhere?
>I'm not sure if I want to go so far as replacing PID 1 right out
>of the gate, but having some existing service directories would be
>nice.
  I have done some experiments and my conclusion was that to replace
pid 1 on FreeBSD, a real s6-freebsd-init package was needed, because
the way the BSDs organize their init and shutdown is radically
different from the way Linux does it, and the conversion is far from
obvious.

  However, you don't need to replace pid 1 to run s6 on a BSD. As
mentioned in https://skarnet.org/software/s6/s6-svscan-not-1.html , you
can start a supervision tree from /etc/ttys, and run your services
under it. It will work like on any other system.

  Quite a few people on the #s6 channel on IRC (OFTC network) are using
s6 on a BSD, so if you're looking for example service directories, and
various tips and tricks, I suggest you join the channel and ask them. ;)


>Have I correctly understood how daemons/services work on the BSD's?
>If not, what am I missing? Are the daemons included with the
>distributions so incredibly stable that they don't need supervision
>in order to keep the system functional?

  The BSDs are tightly integrated systems, more than "distributions", and
especially with OpenBSD, daemons are carefully audited and patched so
they are indeed super stable. Which is a very good thing - but because
of that, the BSD community tends to look down on supervision, without
understanding that it has other benefits than auto-restarting crashed
daemons.


>Finally, if you wanted to create a router that you could (metaphorically)
>put in a closet and forget about for 5 years, what approach would
>you take? My initial thought was OpenBSD + s6, but I worry now that
>there could be an impedance mismatch between these systems.

  OpenBSD + s6 will definitely work. Just make sure not to get in the
way of how OpenBSD does things; run an s6 supervision tree at boot
time and start your services under it as you see fit, independently from
OpenBSD's rc.

  Since the BSDs don't care for supervision, though, depending on
upstreams it may be difficult to find options for your packaged daemons
that stop autobackgrounding and that are not debugging options. Just a
small practical hurdle, but when it happens it can be infuriating.

--
  Laurent
Received on Sat Apr 09 2022 - 15:43:52 CEST

This archive was generated by hypermail 2.4.0 : Sat Apr 09 2022 - 15:44:21 CEST