Support socket activation for build Nix daemons #399

Open
opened 2025-12-22 12:01:07 +00:00 by raito · 0 comments
Owner

Since https://gerrit.lix.systems/c/lix/+/4719 — the structure of the Lix daemons needs a slight adjustement to let systemd handle the socket and activate Lix.

This means that all our code for build Nix daemon won't work with these Lix versions.
At the time of writing, the codebase has two copies of that code: Forgejo multi-runner AND the generic build Nix daemon used by Buildkite.

We are aiming to knock down the former by reusing the latter in https://cl.afnix.fr/c/infra/+/103 but work stalled because I went on holidays and had other emergencies.

In general, we should prepare the generic build Nix daemon abstraction to support this and trial run it.

What needs to be done on a high level perspective:

  • Get rid of the single systemd unit for the daemon
  • Use a template unit for the subdaemons with the right $PATH, taken from the old legacy daemon unit
  • Add the directive for socket activation on the socket unit

That's it.

Since https://gerrit.lix.systems/c/lix/+/4719 — the structure of the Lix daemons needs a slight adjustement to let systemd handle the socket and activate Lix. This means that all our code for build Nix daemon won't work with these Lix versions. At the time of writing, the codebase has two copies of that code: Forgejo multi-runner *AND* the generic build Nix daemon used by Buildkite. We are aiming to knock down the former by reusing the latter in https://cl.afnix.fr/c/infra/+/103 but work stalled because I went on holidays and had other emergencies. In general, we should prepare the generic build Nix daemon abstraction to support this and trial run it. What needs to be done on a high level perspective: - Get rid of the single systemd unit for the daemon - Use a template unit for the subdaemons with the right `$PATH`, taken from the old legacy daemon unit - Add the directive for socket activation on the socket unit That's it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
afnix/infra#399
No description provided.