On Tue, 8 Aug 2023 at 16:00, Steve Litt <slitt@???> wrote:
>
> wirelessduck--- via Dng said on Tue, 8 Aug 2023 13:56:18 +1000
> >It is planned to support declarative
> >service files a la systemd and a more simplified interface than the
> >current collection of various individual s6-related tools.
>
> Personally, I see no need for declarative syntax. Please remember, the
> average runit or s6 run file is about 6 lines, and very few consume
> more than 10 lines. It's hard to get simpler than that. And also keep
> in mind that with runit or s6, you can design a test to see whether a
> dependant service is not only up but doing its job. Declarative syntax
> limits one, but shellscripts (or execline scripts or even compiled C
> run scripts) enable one to do absolutely anything.
The declarative syntax will be part of a new `s6` frontend program
that sits above the existing s6-* programs. This new part won't be a
requirement to use s6 so you will be able to ignore all of this if you
still want to write s6 run files. What it does offer is a simplified
interface to the existing s6-* stack that will be easier for new
people to learn and use. The declarative files will just be processed
and converted into a form that the existing s6-* tools can read.
The s6-frontend web page[1] explains all of this very nicely. The
existing s6 toolkit requires learning multiple commands and has quite
a large learning curve to take it all in. The benefit of a unified
interface in a single command, along with the declarative syntax
files, is that it makes switching from existing init systems such as
systemd or openrc much less of a cognitive burden for other people.
This might not matter so much to you or me or other people on this
list who are capable of writing run scripts, but there is a
significant number of people who use systemd for its declarative unit
files. Including this in s6 will allow the argument to be presented
that "this is just like systemd, but implemented better without the
bugs and terrible design problems". This should make it less of a
burden to get other people on board.
The other benefit of declarative syntax here is that it should be much
simpler to convert systemd unit files into s6 service files.
Nothing in this prevents you from continuing to use s6 as you would
today. What it will do is make it easier for disto-maintainers to
accept it and integrate it into their existing software stack.
[1]
https://skarnet.com/projects/s6/frontend/
Tom