supervision - discussion about system services, daemon supervision, init, runlevel management, and tools such as s6 and runit
 help / color / mirror / Atom feed
From: Paul Sopka <psopka@sopka.ch>
To: supervision@list.skarnet.org, janbraun@gmx.de
Subject: Re: s6/s6-rc policy for Gentoo: config files for service scripts
Date: Fri, 20 Sep 2024 12:19:34 +0200	[thread overview]
Message-ID: <38e6d7af-8111-425e-b5d3-9f8933d54723@sopka.ch> (raw)
In-Reply-To: <ZuyI4lJpGJz3Ey-k@abakus>


[-- Attachment #1.1.1: Type: text/plain, Size: 1889 bytes --]

> I think there's a misunderstanding here, I'll try again:
> What I proposed is putting the service definitions into /usr, never copy
> or link them to /etc, never modify them (except by package updates), and
> let s6 execute them directly from there.
>
> If the local admin wants something other than the service as you ship
> it, they create a completely new, independent local service and disable
> the one shipped by you.
>
> Thus you can update the definitions in /usr as you see fit, and the
> admin can override things as they see fit. No machinery needed inside
> the actual run scripts.
I do not think that providing only this option this is a good idea,
since names are unique and dependencies are declared in the dependent 
service.

Consider the example of "seatd-srv":

The sysadmin disables it and creates "seatd-new-srv",
now he has to create a "${SERVICE}-new-srv" for every "${SERVICE}-srv" 
depending on "seatd-srv"
to adjust their dependencies, do the same for every 
"${SERVICE}-new-srv", ...

Of course, this can easily be solved by only ever depending on bundles,
thus, one creates "seatd-new-srv" adds it to the bundle 
"seat-management"(everyone depends on),
removes "seatd-srv" from "seat-management" and has exactly what you 
envisioned.

Thus, a policy of "only ever depend on a bundle", which I already 
employ, is needed.
Anyway, I am not sure if all if this additionally requirement is really 
worth saving one line per service script.

A point for your approach is, of course, that the user gains full control
over the service he changed, as he is able to change the logging 
behavior, dependencies, ...

That however, requires way more insight into the entire service system, 
s6 and s6-rc
as opposed to "read the script, understand the script, adapt the script, 
put it in the right place".

Regards,

Paul


[-- Attachment #1.1.2: OpenPGP public key --]
[-- Type: application/pgp-keys, Size: 3195 bytes --]

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]

  reply	other threads:[~2024-09-20 10:19 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-09-18 19:43 Paul Sopka
2024-09-19  3:33 ` Jan Braun
2024-09-19 14:40   ` Paul Sopka
2024-09-19 17:51     ` Jan Braun
2024-09-19 18:28       ` Hoël Bézier
2024-09-19 19:11         ` Paul Sopka
2024-09-19 20:26           ` Jan Braun
2024-09-20 10:19             ` Paul Sopka [this message]
2024-09-20 11:10               ` Jan Braun
2024-09-19 19:07       ` Paul Sopka
2024-09-19 20:47         ` Re[2]: " Laurent Bercot
2024-09-20 10:21           ` Paul Sopka

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=38e6d7af-8111-425e-b5d3-9f8933d54723@sopka.ch \
    --to=psopka@sopka.ch \
    --cc=janbraun@gmx.de \
    --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).