Re: anopa: init system/service manager built around s6

From: Laurent Bercot <ska-supervision_at_skarnet.org>
Date: Sat, 11 Apr 2015 06:27:29 +0200

On 11/04/2015 03:41, Aristomenis Pikeas wrote:
> I'm having a lot of trouble figuring out the differences between your
> projects. The s6 suite of utils can be considered building blocks for
> a full init system, but what does each of your projects do on top of
> s6?

  s6-rc and anopa are very similar, except that anopa is released and
s6-rc isn't - and won't be for a couple months. (If Olivier agrees,
I'll discuss s6-rc design with him.)
  The point of both s6-rc and anopa is to implement a complete
dependency-based init system that handle both one-time initialization
scripts and long-running services, the latter being supervised by s6.
They're mostly aimed at full-fledged machines ; you probably do not
need them in a Docker container, unless you really have a lot of
services.

  AIUI, Toki's supervision framework aims to ease integration of
supervision systems with existing init schemes like SysVinit/OpenRC.
You probably do not need that either in a Docker container.

  Gorka's s6-overlay integrates s6 into a Docker image for you, saving
you the hassle of writing init scripts by hand for your container.
This package will probably help you.


> For a bit of context, my goal is the simplest init system that could
> possibly work, to be run inside of a docker container. I need to
> start services and gracefully handle SIGTERM/SIGKILL, with everything
> logged to standard out. That's about it.

  s6-overlay is what you need. You probably don't need anything else.


> But this is proving to be difficult with s6.

  From what you are saying in the beginning of your mail, I understand
that the difficulty comes from the abundance of peripheral projects with
unclear use cases. Did I get your meaning correctly, or are you running
into other difficulties ?


> I've been chipping away at things, but it's slow
> going between understanding all of the tricky bash-isms and learning
> about all of the relevant s6 components.

  Bashisms ? There are no bashisms in s6. Or in s6-overlay. There is no
shell at all involved in either of these packages!
  I suspect you are getting confused by a few projects that are outside
your scope. Maybe we need a meta-documentation page, that explains which
project does what. This surprises me, however, because I think we're
still a quite small community...

  When in doubt, go back to the basics. s6 itself is not more complicated
than runit; there's just more in it, and all the extras are non-essential.
  http://skarnet.org/software/s6/overview.html should help you make sense
of the s6 components. If something is unclear on that page, please tell
me what you would like to see.

  And to use s6 in a Docker container, forget about complete init scripts
and service management: you don't need all that. s6-overlay is the only
community package you need; it should provide you with the minimal amount
of necessary plumbing to run an s6-based container without headaches.

  Good luck, and please ask more questions if you're running into
difficulties.

-- 
  Laurent
Received on Sat Apr 11 2015 - 04:27:29 UTC

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