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: supervision@list.skarnet.org
Subject: Re: Trouble starting services on boot with s6-rc
Date: Sat, 20 Aug 2022 14:58:18 +0000	[thread overview]
Message-ID: <em1174fbd5-4c3d-48d1-8edc-8abfeea6a401@dcf0ae40.com> (raw)
In-Reply-To: <c831f550-6470-49fa-9a61-4ba1c6fd803f@www.fastmail.com>


>I am a bit ashamed to admit I cannot find the logs. From reading https://wiki.gentoo.org/wiki/S6_and_s6-rc-based_init_system#logger I thought maybe I should be looking for file /run/uncaught-logs but could not find any such file in my docker instance(I understand, docker is not Gentoo).

  By default, s6-overlay containers don't have a catch-all logger, so
all the logs fall through to the container's stdout/stderr.
  You can have an in-container catch-all logger that logs to
/run/uncaught-logs if you define S6_LOGGING to 1 or 2.


>While the docs did speak a lot to the directory structure used by s6, I still am finding it quite hard to figure out what the default directories are for some things. (e.g. I was clear on where my uncompiled s6-rc service directories should go but they seemed to "magically" get complied on boot and show up in a scan_dir)

  That's a thing with s6, and even s6-rc: it does not define policies, 
but
only mechanism. In other words: it lets you place things wherever you 
want,
there's no default.
  Of course, higher-level software that uses the s6 bricks needs to 
define
policies in order to get things done; that's why s6-overlay is a set of
scripts putting directories in certain places and calling s6 binaries
with certain arguments and options.
  s6-overlay uses s6-rc-compile under the hood, so it compiles your
database for you at boot time, to keep things as simple as possible 
(even
though it's not the optimal way of doing it).



>One additional item. As seems like not a great idea to smash the timeout for all services. Is there any way to adjust it on a per service basis? If not
>consider me a +1 to kindly add it to a wishlist somewhere.

  You can define timeout-up and timeout-down files in your s6-rc source
definition directories, they do just that. :)


>n.b. You should put up a BTC lightning "tip bucket" somewhere :)

  Thank you. Please see this Twitter thread:
  https://twitter.com/laurentbercot/status/1209247040657674240

--
  Laurent


      reply	other threads:[~2022-08-20 14:58 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-20 11:01 dark.pen9108
2022-08-20 12:57 ` Laurent Bercot
2022-08-20 14:30   ` dark.pen9108
2022-08-20 14:58     ` Laurent Bercot [this message]

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=em1174fbd5-4c3d-48d1-8edc-8abfeea6a401@dcf0ae40.com \
    --to=ska-supervision@skarnet.org \
    --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).