supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: "Laurent Bercot" <ska-supervision@skarnet.org>
To: "Oliver Schad" <oliver.schad@automatic-server.com>,
	supervision@list.skarnet.org
Subject: Re: External health Check Process
Date: Thu, 22 Oct 2020 15:34:37 +0000	[thread overview]
Message-ID: <eme3c9ca88-1765-4f7a-a2a6-0c06faf88eb2@elzian> (raw)
In-Reply-To: <20201022142829.788f4da5@flunder>

>I know you can model a service in s6, which watches another service and
>kills it, so in fact the problem is solved outside of s6. But I wanted
>to ask to develop a feature to get a simple way to model that within s6.
>Usually it's good enough to call a external command with a timeout and
>watches exit code.

  Hi Oliver,

  The s6-idiomatic way of doing it would be, as you say, to have a
separate service that calls an external command (the health checker,
which is daemon-specific) with a timeout and watches the exit code.
It is trivial to do in shell, which is why I haven't written any
particular binary for that.

  I could add a program that does it for you so you don't have to write
a 3-line shell script, and a command that creates a s6 service directory
(or even a s6-rc source definition directory) that watches another
service using the aforementioned program, it would not be hard.
However, I am concerned about scope creep, and a common criticism I
hear from distros is that s6 is "too big" - which is unfair considering
that integrated init systems providing the same level of functionality
are 5x-10x bigger, but is really a way of saying that there are a lot of
exposed binaries with miscellaneous functionality and it's difficult to
wrap one's head around it. So I'm trying not to add to the problem, and
the direction I'm going these days is more towards integration and
high-level management than towards adding building blocks to help with
various tasks, so if something is doable with a bit of scripting, then
I'd rather let users do it that way.

  I'm pretty sure that people in the community already have run script
models for healthchecker services, if they could contribute them it
would be awesome ;)

--
  Laurent


  reply	other threads:[~2020-10-22 15:34 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-22 12:28 Oliver Schad
2020-10-22 15:34 ` Laurent Bercot [this message]
2020-10-22 15:46   ` Casper Ti. Vector
2020-10-23  0:03   ` Steve Litt
2020-10-23  7:27     ` Oliver Schad
2020-10-23  9:15       ` Steve Litt
2020-10-23 13:44       ` Laurent Bercot
2020-10-23 17:03         ` Steve Litt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=eme3c9ca88-1765-4f7a-a2a6-0c06faf88eb2@elzian \
    --to=ska-supervision@skarnet.org \
    --cc=oliver.schad@automatic-server.com \
    --cc=supervision@list.skarnet.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).