commit 0e033a5dd41be8427fb3ae7bcc72868087dbc1ad
parent 49ba85dc3eb4001dadeb4a4945e07735ff832ff8
Author: Antoine A <>
Date: Sat, 17 Jan 2026 12:14:17 +0100
common: improve service restart logic
Diffstat:
7 files changed, 93 insertions(+), 12 deletions(-)
diff --git a/debian/libeufin-bank.libeufin-bank-gc.service b/debian/libeufin-bank.libeufin-bank-gc.service
@@ -6,9 +6,12 @@ PartOf=libeufin-bank.target
[Service]
User=libeufin-bank
ExecStart=/usr/bin/libeufin-bank gc -c /etc/libeufin/libeufin-bank.conf
+
StandardOutput=journal
StandardError=journal
+
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
+
Slice=libeufin-bank.slice
\ No newline at end of file
diff --git a/debian/libeufin-bank.libeufin-bank.service b/debian/libeufin-bank.libeufin-bank.service
@@ -5,14 +5,27 @@ PartOf=libeufin-bank.target
[Service]
User=libeufin-bank
+Type=exec
ExecStart=/usr/bin/libeufin-bank serve -c /etc/libeufin/libeufin-bank.conf
-Restart=on-failure
-RestartSec=1s
+
+Restart=always
+RestartMode=direct
+RestartSec=10ms
+RestartSteps=5
+RestartPreventExitStatus=9
+
+StartLimitBurst=5
+StartLimitInterval=5s
+
+RuntimeMaxSec=4d
+
StandardOutput=journal
StandardError=journal
+
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
+
Slice=libeufin-bank.slice
[Install]
diff --git a/debian/libeufin-ebisync.libeufin-ebisync-fetch.service b/debian/libeufin-ebisync.libeufin-ebisync-fetch.service
@@ -5,15 +5,28 @@ PartOf=libeufin-ebisync.target
[Service]
User=libeufin-ebisync
+Type=exec
ExecStart=/usr/bin/libeufin-ebisync fetch -c /etc/libeufin-ebisync/ebisync.conf
ExecCondition=/usr/bin/libeufin-ebisync fetch -c /etc/libeufin-ebisync/ebisync.conf --check
-Restart=on-failure
-RestartSec=1s
+
+Restart=always
+RestartMode=direct
+RestartSec=10ms
+RestartSteps=5
+RestartPreventExitStatus=9
+
+StartLimitBurst=5
+StartLimitInterval=5s
+
+RuntimeMaxSec=4d
+
StandardOutput=journal
StandardError=journal
+
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
+
Slice=libeufin-ebisync.slice
[Install]
diff --git a/debian/libeufin-ebisync.libeufin-ebisync-httpd.service b/debian/libeufin-ebisync.libeufin-ebisync-httpd.service
@@ -5,15 +5,28 @@ PartOf=libeufin-ebisync.target
[Service]
User=libeufin-ebisync
+Type=exec
ExecStart=/usr/bin/libeufin-ebisync serve -c /etc/libeufin-ebisync/libeufin-ebisync.conf
ExecCondition=/usr/bin/libeufin-ebisync serve -c /etc/libeufin-ebisync/libeufin-ebisync.conf --check
-Restart=on-failure
-RestartSec=1s
+
+Restart=always
+RestartMode=direct
+RestartSec=10ms
+RestartSteps=5
+RestartPreventExitStatus=9
+
+StartLimitBurst=5
+StartLimitInterval=5s
+
+RuntimeMaxSec=4d
+
StandardOutput=journal
StandardError=journal
+
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
+
Slice=libeufin-ebisync.slice
[Install]
diff --git a/debian/libeufin-nexus.libeufin-nexus-ebics-fetch.service b/debian/libeufin-nexus.libeufin-nexus-ebics-fetch.service
@@ -5,14 +5,27 @@ PartOf=libeufin-nexus.target
[Service]
User=libeufin-nexus
+Type=exec
ExecStart=/usr/bin/libeufin-nexus ebics-fetch -c /etc/libeufin/libeufin-nexus.conf
-Restart=on-failure
-RestartSec=1s
+
+Restart=always
+RestartMode=direct
+RestartSec=10ms
+RestartSteps=5
+RestartPreventExitStatus=9
+
+StartLimitBurst=5
+StartLimitInterval=5s
+
+RuntimeMaxSec=4d
+
StandardOutput=journal
StandardError=journal
+
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
+
Slice=libeufin-nexus.slice
[Install]
diff --git a/debian/libeufin-nexus.libeufin-nexus-ebics-submit.service b/debian/libeufin-nexus.libeufin-nexus-ebics-submit.service
@@ -5,14 +5,27 @@ PartOf=libeufin-nexus.target
[Service]
User=libeufin-nexus
+Type=exec
ExecStart=/usr/bin/libeufin-nexus ebics-submit -c /etc/libeufin/libeufin-nexus.conf
-Restart=on-failure
-RestartSec=1s
+
+Restart=always
+RestartMode=direct
+RestartSec=10ms
+RestartSteps=5
+RestartPreventExitStatus=9
+
+StartLimitBurst=5
+StartLimitInterval=5s
+
+RuntimeMaxSec=4d
+
StandardOutput=journal
StandardError=journal
+
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
+
Slice=libeufin-nexus.slice
[Install]
diff --git a/debian/libeufin-nexus.libeufin-nexus-httpd.service b/debian/libeufin-nexus.libeufin-nexus-httpd.service
@@ -5,15 +5,28 @@ PartOf=libeufin-nexus.target
[Service]
User=libeufin-nexus
+Type=exec
ExecStart=/usr/bin/libeufin-nexus serve -c /etc/libeufin/libeufin-nexus.conf
ExecCondition=/usr/bin/libeufin-nexus serve -c /etc/libeufin/libeufin-nexus.conf --check
-Restart=on-failure
-RestartSec=1s
+
+Restart=always
+RestartMode=direct
+RestartSec=10ms
+RestartSteps=5
+RestartPreventExitStatus=9
+
+StartLimitBurst=5
+StartLimitInterval=5s
+
+RuntimeMaxSec=4d
+
StandardOutput=journal
StandardError=journal
+
PrivateTmp=yes
PrivateDevices=yes
ProtectSystem=full
+
Slice=libeufin-nexus.slice
[Install]