Re: S6 integration in mainstream linux distributions

From: Casper Ti. Vector <caspervector_at_gmail.com>
Date: Sun, 17 Mar 2019 20:04:38 +0800

On Fri, Mar 15, 2019 at 02:33:50PM +0100, Oliver Schad wrote:
> The next question was the long-term strategy with systemd: we have 2
> approaches
>
> 1) mix systemd (PID 1) to use the boot phase (especially one shots)
> and later (after system initialization) use s6 to manage all services.
> 2) just use s6

Hello, I am the author of slew, and use it on quite a few real-life
systems, and it works quite nicely. I think its mechanism for system
initialisation is quite flexible, and oneshots for requirements you
mentioned in the later mail, including encrypted filesystems, logical
volumes, iSCSI etc, can be easily plugged into the initialisation
procedure.

And as you might have already noticed, the services definitions (whether
longruns, oneshots or bundles) in slew are fairly easy to write: at
least for longruns, it is usually straightforward enough to manually
translate corresponding systemd units.

> My question to the list is, what do you use today? Do you use S6 in
> mainstream distributions and how?
> What are your problems you see? Should we work together to solve them?

Currently I think the main technical limitation of slew (or perhaps all
supervision-based init/rc systems as of now) is the lack of a networking
component that has an interface somehow like Gentoo's netifrc or
Debian's ifupdown but integrates with the supervision system. Without
such a component, configuring the network might appear to be a somewhat
frightening task to the average user. See the original slew (formerly
s6.rc) announcement [1] for more details;

[1] <https://skarnet.org/cgi-bin/archive.cgi?2:mss:1945:201803:pdabbgogplcnfhcmpgkg>.

> Our problem is the exiting code base in community projects, i.e. puppet
> config management. So we think, we should offer a systemctl commmand,
> which integrates with s6. We started that project.

I think the way supervision-based frameworks work in ways different
enough from systemd, so the attempt to emulate `systemctl' would create
more problems than it solves. From my limited understanding, puppet is
just a way to replicate sysadmin commands to multiple nodes, and it
seems easier to directly write command wrappers for s6/s6-rc.

-- 
My current OpenPGP key:
RSA4096/0x227E8CAAB7AA186C (expires: 2020.10.19)
7077 7781 B859 5166 AE07 0286 227E 8CAA B7AA 186C
Received on Sun Mar 17 2019 - 12:04:38 UTC

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