[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)