As I use systemd more and more I find myself needing to express complex 
dependencies between units. While systemd provides many 'building blocks' which 
can be combined to satisfy the requirements, determining which blocks to use, 
and the pros/cons of each combination, is non-trivial.

Attempting to find examples using search engines generally leads to Stack 
Overflow posts with no answers, or with answers which are wildly out of date, 
or are just incorrect.

I'd like to create a man page to be included with all the rest of the systemd 
man pages which details relatively common scenarios, and the various ways that 
each can be achieved using the dependency options available.

For example, right now I've got a situation with two service units, A and B. I 
want B to always be started when A is started, stopped when A is stopped, 
stopped if A stops itself, restarted if A is restarted, but otherwise left 
alone (so it should not be 'upheld' by A). I suspect this is not an uncommon 
combination, and it would be useful to be able to document one (or more) ways 
that unit dependency specifications can be used achieve this goal.

If this was contained in a man page in the systemd tree, it could then be 
updated as new versions are released with changes in dependency behavior, and 
improved when new versions offer additional dependency specifications as well. 
It would also be available on the freedesktop.org site with the rest of the man 
pages, and over time might end up being the place that most searches land.

Is this something that would be welcomed by the systemd team? Are there others 
out there listening who would be willing to help build this (contributing use 
cases, or reviewing/testing proposed solutions)? I'm happy to drive this 
effort, if so.

Reply via email to