Re: s6-rc user experience question

From: Ihor Antonov <>
Date: Sun, 16 Oct 2022 09:02:28 -0700

On 2022-10-16 10:39, Laurent Bercot wrote:
> ...
> I agree it's confusing, and one of the reasons (but not the main one)
> why s6-rc needs a redesign: you currently get access to all the internal
> workings of the service manager, even when they're not relevant to you,
> which is not ideal.
Perhaps I can offer a few suggestions how to improve usability:
  - combine compile + svscan on empty dir + init steps into one, like
    `s6-rc init source_dir` and it does those steps under the hood.

  - maybe instead of creating file based database take on sqlite as a
    dependency and keep compiled + live state there? sqlite is
    ubiquitous and very light weight. It can save the trouble of
    inventing our own compiled database formats and folder strucutres

> ...
> Having this duplication is the only way of ensuring that your
> modifications do not change the snapshots you take when compiling and
> do not impact the current machine state, and also that the operation
> of your current services does not impact the set of services you're
> booting on (which could lead to failed boots).
> Other service managers do not make the distinction between the
> user working set, the system working set, and immutable snapshots; that
> is a big issue I have with them, because it's difficult to make them
> safe.

This makes sense. Popular cloud infrastructure management tool Terraform
does this too. It does 3-way diff on each operation, comparing desired
state of the system, currently observed state, and state recorded after
finishing previous operation. This way it knows when things need to be
added/removed/modified. This cannot be done reliably with 2-way diff
approach, and tools like ansible fall short here. Removal of a resource
from ansible playbook simply makes ansible forget about it, where
terraform detects the absense and undersands that previously managed
resource needs to be de-provisioned.

What you describe sounds very similar, but applied to the state of
service dependency tree.

> Hope this helps,
It does, thank you. What are your plans / thoughts on s6-rc redesign?

Received on Sun Oct 16 2022 - 18:02:28 CEST

This archive was generated by hypermail 2.4.0 : Sun Oct 16 2022 - 18:03:06 CEST