-
Tomas Krizek authored
In order to be able to spawn multiple processes with socket activation, systemd template (see systemd.unit(5)) is used. This allows the user to create any amount of instances by simply providing a unique name for each of them. The most sensible instance identifiers are natural numbers, but any convention could be used. The default recommended service name becomes kresd@1.service, replacing the older kresd.service. Sockets are renamed in a similar way. Users are able to take advantage of bash expansion to spawn/control multiple processes, e.g. "systemctl start kresd@{1..16}.service" The socket-activated service can now be launched directly with "systemctl start kresd@1.service", which will request the associated sockets without the need for any extra priviledges or capabilities. Stopping the kresd service now also stops the associated sockets. Stopping any individual socket is an isolated opration now (stopping kresd@1.socket no longer stop kresd-tls@1.socket and kresd-control@1.socket). Users and packagers are also encouraged to use drop-in files for extra configuration or modifications to ensure compatibility with their distribution.