Hacker News new | ask | show | jobs
by habitue 898 days ago
Maybe a good way to get competition is to give someone a possibly dubious (but fun!) goal of writing a systemd compatible alternative in rust.

Reimplementing such a massive piece of infrastructure is pretty daunting. I don't think many people who are not being paid to would embark on it and then keep up the momentum to actually cover all those edge cases and maintain a community around it.

Rewriting things in rust seems to be pretty motivating though, so maybe it could be a force for good here

3 comments

There's a willingness from the systemd devs to start incorporating Rust into it, possibly quite soon: https://github.com/systemd/systemd/pull/19598
Ah, because while systemd is divisive, couldn't it be _more_ divisive?
This choice literally only affects contributors and packagers for distros. If you even notice it at all as a user, it should only be through a very slight reduction in crashes.
From 2021?
The original PR is from 2021, but there's been activity on it that's less than a month old indicating that it's still wanted, especially as the kernel starts to integrate Rust.
If you're just looking for init and service management, the S6 system (and its wrapper 66suite) are pretty good. It's the only alternative that seems to match Systemd for feeling like a modern tool in my opinion, rather than a relic of the old days.
Don't want s6 as it brings with it a binary configuration database (Windows registry). systemd at least has text files for config.
Sorry, where's the binary configuration database in S6? The config looked like a collection of directories with scripts to run to start things.

EDIT: Ah, you might mean https://skarnet.org/software/s6-rc/s6-rc-compile.html -- that indeed is getting to be weirdly complex.

My sole resistance to s6, binary config AND default-all privilege for spawned daemon.

Better to stick with INI v1.4 format.

https://cloanto.com/specs/ini/#escapesequences

Been watching that for a couple years now. At one point there were plans to integrate with alpine Linux, but it wasn’t ready yet. Has there been progress towards that?
Yes, there is some progress it seems: https://skarnet.com/projects/service-manager.html
I'm Just going to plug myself here:

https://github.com/KillingSpark/rustysd

Rustysd is a reimplantation of the core features of the systemd service manager with a deliberate focus on less features so it can work on more platforms (e.g. BSD)

It's been a while since I actively progressed on the project but it works and would probably be a good starting point for anyone wanting to do further work in this direction.