[HN Gopher] S6 - skarnet's small supervision suite
___________________________________________________________________
S6 - skarnet's small supervision suite
Author : tosh
Score : 58 points
Date : 2024-09-13 11:09 UTC (3 days ago)
(HTM) web link (skarnet.org)
(TXT) w3m dump (skarnet.org)
| generalizations wrote:
| Can't wait until this is integrated with alpine linux. Has there
| been recent progress on this? Been watching it for years.
| cies wrote:
| feels pretty integrated in our containers; just works. what's
| there to integrate?
| vhodges wrote:
| I think they (and me!) were looking for news on
|
| https://skarnet.com/projects/service-manager.html
| jitl wrote:
| It's good.
| crest wrote:
| I've found that s6 and s6-rc are correct to a fault. It works as
| documented, but you can't take shortcuts like you can with other
| init systems that don't have a validating compiler compilation
| step.
| yjftsjthsd-h wrote:
| What shortcuts do others let you get away with?
| chucky_z wrote:
| I really like s6. I've been using it for a couple of years now as
| it's how HAProxy runs all of their containers, and modifying it
| has been pretty simple. The docs are excellent, and it's in 'just
| works' territory. I'd place it alongside redis and beanstalkd for
| 'just works' territory.
| _hyn3 wrote:
| I personally am a fan of _runit_
|
| https://smarden.org/runit/
|
| But s6 is excellent as well.
| generalizations wrote:
| This was an interesting comparison:
| https://skarnet.org/software/s6/why.html
| apitman wrote:
| I've also found this useful: https://ahmet.im/blog/minimal-
| init-process-for-containers/
|
| And this looks really good:
| https://wiki.gentoo.org/wiki/Comparison_of_init_systems
| apitman wrote:
| If you're curious where these tools might be used, one place is
| it's a popular init system for containers, notably
| https://www.linuxserver.io/
| webstrand wrote:
| The associated execline project is such a joy to use, compared to
| writing bash scripts, especially for the purposes of process
| management.
| sleepydog wrote:
| I've used this on my personal machines for years, and I really
| appreciate how small, comprehensible, and rigorous the code base
| of each tool is. Not including the libraries, the most important
| bits, s6-supervise (the process monitor) and s6-svscan (pid 1)
| are under 1000 lines of code.
|
| The coding style is a little terse and is clearly influenced by
| djb. The author has some (justified) mistrust of the C standard
| library, so you'll need to get used to the alternatives in their
| "skalibs" library, but I'd feel much more comfortable debugging a
| problem with this suite than I would with systemd.
|
| Also, the related tool, execline, is a trip:
| https://skarnet.org/software/execline/ .
| jerrac wrote:
| I use it in most of my containers. Very handy if you need to run
| some kind of pre-script before you main program, or need to run
| multiple programs in the same container.
| cies wrote:
| used it in containers. it replaced some python script solution,
| so i could reduce the image size as i otherwise did not need
| python
| xoranth wrote:
| Are there any good how-tos for how to set up a non-trivial
| container with s6 and s6-rc? Last time I looked at this the
| documentation was pretty sparse, and more of a reference and
| design document than a set of how-tos.
| jitl wrote:
| This is well thought-out and quite well documented:
| https://github.com/just-containers/s6-overlay
|
| There's a huge community https://www.linuxserver.io/ for people
| building "home server" containers that all use the s6-overlay,
| hundreds of examples there. They have a lot of tutorials and a
| very busy Discord, Reddit, etc with all levels of experience
| from container developers to people who don't program and are
| just getting into Docker. I run a bunch of these containers
| myself and am pretty happy with how adaptable they are.
| markl42 wrote:
| We use https://github.com/Yelp/pgctl heavily, which uses s6!
___________________________________________________________________
(page generated 2024-09-16 23:00 UTC)