On 4/10/2015 6:41 PM, Aristomenis Pikeas wrote:
Laurent (s6-rc), Olivier (anopa), Toki (supervision framework), and Gorka 
(s6-overlay),

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?

A breakdown of differences:

+ s6-rc: Laurent's version of an init system based on s6, meant to bring a machine up/down.

+ anopa: Olivier's version of an init system base on s6, meant to bring a machine up/down.

+ supervision framework: Toki's version of a complete framework-agnostic init system, partially geared towards OpenRC. Last I checked he had progressed into supporting a complete init (with OpenRC support).

+ s6-overlay: this is meant for Docker containers, and is most likely the one you want.

Yes, there is duplication of effort between Laurent and Olivier, that's ok though - I personally argue that choice is a good thing. :) There are actually many, many projects out there, if you know what to look for, that might provide clues or insights. Ignite on github I believe has some rudimentary init stuff in it, although it's runit based.

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. But this is proving to be difficult with s6. 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.

If by "tricky bash-isms" you mean the shell redirections and exec and all of that, well...once you can visualize it, it's not that bad really. I don't believe any of the projects use bash directly. Toki's project (as well as my own) assume /bin/sh, which at this time usually means an ash variant. Laurent and Olivier have *nothing* done in bash (beyond the build process). If anything, I think all of the projects are trying hard to avoid "bash specific" implementations; believe me when I say, I've looked at *a lot* of shell scripting in the last 5 months, and I can say that a lot of projects with shell scripts are actually fairly clean. (Yes, I sound a little surprised when I say that)

Reply via email to