Re: Re[4]: Help translating a bash function to execline

From: Angelo Verlain <geoangercola_at_gmail.com>
Date: Fri, 23 May 2025 01:55:36 +0200

>
> My current job is precisely to make sure s6-rc gets integrated into
> Alpine and that there is an accessible UI for it. It would be nice if
> the work could avoid being duplicated, and if Alpine devs were faced
> with one unified proposal for multiple service managers rather than
> several independent and uncoordinated initiatives.


Oh nice, I didn't know that and it's nice to know. This is currently a
personal endeavour and not related to Alpine "devs" at all. It's just
something that I'm exploring.

It would really be nice to coordinate, though.

So if you intend to make 66 an available service manager for Alpine,
> I suggest you coordinate with me to see what features 66 provides and
> how we can unify the interface as much as possible so that people can
> switch between 66, s6-rc and OpenRC as painlessly as possible.


I'm not a 66's developer, but I find the developer quite knowledgeable and
since their projects have an s6-esque thing going on, I thought you two
knew each other. Obarun's key features can be found here on the homepage:
https://web.obarun.org/software/66/0.8.1.1/index/. It provides mostly all
you would need from a service manager: user services, Provides, Conflicts,
Requires, RequiredBy, Start & Stop commands, a nice logger abstraction,
groups (called trees) and more.

The developer also seems to have some nice and weird ideas, especially some
slated for the future as you can see in the project's roadmap:
https://git.obarun.org/Obarun/66/-/blob/master/README.md?ref_type=heads.
Notably missing currently is cgroup and "event reaction" (notably socket
activation and dbus services). But overall I like the direction of the
project.

I'm not yet ready to work on the abstraction of the service manager
> engine (my estimate is that I'll start it in something like September
> or October): at the moment I'm working on a frontend for s6 commands.
> But if you are drafting a declarative syntax for services, I am
> interested in its design, so please keep me in the loop 🙂


Oh nice. 66 already has a declarative frontend file service syntax:
https://web.obarun.org/software/66/0.8.1.1/66-frontend.md/

They look something like this

[Main]
Type = classic
Description = "ntpd daemon"
Version = 0.1.0
User = ( root )

[Start]
Execute = (
    foreground { mkdir -p -m 0755 ${RUNDIR} }
    execl-cmdline -s { ntpd ${CMD_ARGS} }
)

[Environment]
RUNDIR=!/run/openntpd
CMD_ARGS=!-d -s

Not sure if you could take some inspiration from them or even provide
ideas to the project. I don't understand what "a frontend for s6
commands" mean, but if it means declarative frontend service files,
then I think it's better to not have the effort duplicated.
Received on Fri May 23 2025 - 01:55:36 CEST

This archive was generated by hypermail 2.4.0 : Fri May 23 2025 - 01:56:18 CEST