[announce] s6-rc: a s6-based service manager for Unix systems

From: Laurent Bercot <ska-skaware_at_skarnet.org>
Date: Wed, 23 Sep 2015 22:59:37 +0200

  s6-rc- is out.

  s6-rc is a service manager for Unix systems, running on top of
a s6 supervision tree. It manages the live state of the machine,
defined by a set of services, by bringing those services up or
down as ordered by the user.

  It handles long-lived processes, a.k.a. "longruns", ensuring they're
supervised by the s6 tree. It also handles one-time initialization
scripts, a.k.a. "oneshots", running them in a reproducible environment
without needing the usual sanitizer boilerplate.

It manages dependencies between services, no matter whether they are
oneshots or longruns; it can intertwine oneshot starts and longrun
starts, or oneshot stops and longrun stops. When changing the machine
state, it always ensures the consistency of the dependency graph.

  Services can be grouped in collections named "bundles", for easier
manipulation. Bundles are like runlevels, but more powerful and

  s6-rc allows an arbitrary number of longrun services to be pipelined.
s6, and other supervision suites, can maintain a pipe between a
producer and a consumer ("logger"), so the producer or the consumer
can restart without breaking the pipe and losing any data; s6-rc
extends this idea to an arbitrary chain of producers piping their
data into consumers that themselves pipe their data into...

  s6-rc features the shortest run-time code path of any service manager
to this day: this includes systemd, sysv-rc, OpenRC and anopa.
(I'd like to compare to nosh, but I can't read, or build, C++.
I suspect the s6-rc codepaths are shorter than nosh's, if only
because pure C vs. C++, but it's probably close either way.)


  Bug-reports welcome.

  Reports and suggestions on usability are also welcome. I'd like
to get s6-rc adopted by Unix distributions, and that will only
happen if they don't see it as daunting work; ideally, I'd like to
spark a discussion about the best ways to convert existing rc
scripts to the s6-rc source format, and then submit the emerging
ideas to distributions.

Received on Wed Sep 23 2015 - 20:59:37 UTC

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