I am using systemd to run Podman containers as services:
- Kafka via
kafkauser and managing service via:systemctl start/stop --user kafka.service - Zookeeper via
zookeeperuser and managing service via:systemctl start/stop --user zookeeper.service
Files reside in locations:
- Kafka:
/home/kafka/.config/systemd/user/podman-kafka-pod.service, - Zookeeper:
/home/zookeeper/.config/systemd/user/podman-zookeeper-pod.service.
Both are separate, user-scoped systemd services. What I'd like to achieve to set up dependency to Zookeeper from Kafka: restart/start Zookeeper when Kafka is restarted/started. I am not sure if it's possible to define such relations between user-scoped services.
I tried adding:
Requires=podman-zookeeper-pod.service
Before=podman-zookeeper-pod.service
To Kafka service, but it fails with the following error:
$ systemctl restart --user podman-kafka-pod
Failed to restart podman-kafka-pod.service: Unit podman-zookeeper-pod.service not found.
Fair enough, because I cannot list Zookeeper service from Kafka user and vice-versa, it's expected I think.
Is it possible to set up dependencies between services being run by different users in systemd?
I could not find the answer on SO or in the documentation. Thanks in advance for a reply.