Re: Thoughts on "First Class Services"

From: Avery Payne <>
Date: Tue, 28 Apr 2015 14:04:25 -0700

On 4/28/2015 11:34 AM, Laurent Bercot wrote:
> I'm also interested in Avery's experience with dependency handling.

Hm. Today isn't the best day to write this (having been up since 4am)
but I'll try to digest all the little bits and pieces into something.
Here we go...

First, I will qualify a few things. The project's scope is, compared to
a lot of the discussion on the mailing list, and especially in regard to
s6-rc and anopa, very narrow. There are several goals but the primary
thrust of the project is to create a generic, universal set of service
definitions that could be plugged into any init, distribution, and
supervision framework arrangement. That's a tall order in itself, but
there are ways around a lot of this.

With regard to init work, I don't touch it. Period. Trying to describe
a proper init sequence is already well beyond the scope of the project;
and everyone has their own needs. Compound this with things like, oh,
the differences between Linux and FreeBSD starting up, and you have
plenty of headache to go around. So my work around for this is to
completely avoid it; I'm leaving that to other implementers.

With regard to distributions, well, I'm trying to make it as generic as
possible. Development is done on a Debian 7 box but I have tried to
make every effort to avoid any Debian-isms in the actual project
itself. In theory, you should be able to use the scripts on any
distribution, and not just Debian.

With regard to the supervision programs used, this was the tricky one.
While daemontools, runit, and s6 all have ./run, ./finish, and ./check,
there's differences in the commands, signals, and capabilities
involved. So unless I want to write a bunch of case statements in a
shell script for each time I touch a command, this is a problem.
Fortunately, both runit and s6 have emulation of daemontools commands.
You create a symlink of the daemontools name and point it at the runit/s6
Received on Tue Apr 28 2015 - 21:04:25 UTC

This archive was generated by hypermail 2.3.0 : Sun May 09 2021 - 19:44:19 UTC