From 5a7dd001250da73ce2236f245b6bba9a1663477e Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Thu, 2 Dec 2021 08:02:20 +0100 Subject: improve suicide logic --- ...aler-exchange.taler-exchange-aggregator.service | 3 ++- .../taler-exchange.taler-exchange-closer.service | 3 ++- debian/taler-exchange.taler-exchange-httpd.service | 6 ++++- .../taler-exchange.taler-exchange-httpd@.service | 26 ++++++++++++++++++++++ debian/taler-exchange.taler-exchange-httpd@.socket | 14 ++++++++++++ ...er-exchange.taler-exchange-secmod-eddsa.service | 3 ++- ...aler-exchange.taler-exchange-secmod-rsa.service | 3 ++- .../taler-exchange.taler-exchange-transfer.service | 3 ++- ...taler-exchange.taler-exchange-wirewatch.service | 3 ++- ...aler-exchange.taler-exchange-wirewatch@.service | 16 +++++++++++++ 10 files changed, 73 insertions(+), 7 deletions(-) create mode 100644 debian/taler-exchange.taler-exchange-httpd@.service create mode 100644 debian/taler-exchange.taler-exchange-httpd@.socket create mode 100644 debian/taler-exchange.taler-exchange-wirewatch@.service (limited to 'debian') diff --git a/debian/taler-exchange.taler-exchange-aggregator.service b/debian/taler-exchange.taler-exchange-aggregator.service index d0fcbf60c..683c1a81e 100644 --- a/debian/taler-exchange.taler-exchange-aggregator.service +++ b/debian/taler-exchange.taler-exchange-aggregator.service @@ -5,7 +5,8 @@ PartOf=taler-exchange.target [Service] User=taler-exchange-aggregator Type=simple -Restart=on-failure +Restart=always +RestartSec=100ms ExecStart=/usr/bin/taler-exchange-aggregator -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-closer.service b/debian/taler-exchange.taler-exchange-closer.service index b2a820d35..01c52b2d4 100644 --- a/debian/taler-exchange.taler-exchange-closer.service +++ b/debian/taler-exchange.taler-exchange-closer.service @@ -5,7 +5,8 @@ PartOf=taler-exchange.target [Service] User=taler-exchange-closer Type=simple -Restart=on-failure +Restart=always +RestartSec=100ms ExecStart=/usr/bin/taler-exchange-closer -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-httpd.service b/debian/taler-exchange.taler-exchange-httpd.service index de65e17b6..7db2b1194 100644 --- a/debian/taler-exchange.taler-exchange-httpd.service +++ b/debian/taler-exchange.taler-exchange-httpd.service @@ -8,7 +8,11 @@ PartOf=taler-exchange.target [Service] User=taler-exchange-httpd Type=simple -Restart=on-failure +# Depending on the configuration, the service suicides and then +# needs to be restarted. +Restart=always +# Do not dally on restarts. +RestartSec=1ms ExecStart=/usr/bin/taler-exchange-httpd -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-httpd@.service b/debian/taler-exchange.taler-exchange-httpd@.service new file mode 100644 index 000000000..4235f72e9 --- /dev/null +++ b/debian/taler-exchange.taler-exchange-httpd@.service @@ -0,0 +1,26 @@ +% This is a systemd service template. +[Unit] +Description=GNU Taler payment system exchange REST API at %I +AssertPathExists=/run/taler/exchange-httpd +Requires=taler-exchange-httpd@%i.socket taler-exchange-secmod-rsa.service taler-exchange-secmod-eddsa.service +After=postgres.service network.target taler-exchange-secmod-rsa.service taler-exchange-secmod-eddsa.service +PartOf=taler-exchange.target + +[Service] +User=taler-exchange-httpd +Type=simple +# Depending on the configuration, the service suicides and then +# needs to be restarted. +Restart=always +# Do not dally on restarts. +RestartSec=1ms +EnvironmentFile=/etc/environment +ExecStart=/usr/bin/taler-exchange-httpd -c /etc/taler/taler.conf +StandardOutput=journal +StandardError=journal +PrivateTmp=no +PrivateDevices=yes +ProtectSystem=full + +[Install] +WantedBy=multi-user.target diff --git a/debian/taler-exchange.taler-exchange-httpd@.socket b/debian/taler-exchange.taler-exchange-httpd@.socket new file mode 100644 index 000000000..e1d6b6bd4 --- /dev/null +++ b/debian/taler-exchange.taler-exchange-httpd@.socket @@ -0,0 +1,14 @@ +[Unit] +Description=Taler Exchange Socket at %I +PartOf=taler-exchange-httpd@%i.service + +[Socket] +ListenStream=80 +Accept=no +Service=taler-exchange-httpd@%i.service +SocketUser=taler-exchange-httpd +SocketGroup=www-data +SocketMode=0660 + +[Install] +WantedBy=sockets.target diff --git a/debian/taler-exchange.taler-exchange-secmod-eddsa.service b/debian/taler-exchange.taler-exchange-secmod-eddsa.service index 7406e3c76..e4898581c 100644 --- a/debian/taler-exchange.taler-exchange-secmod-eddsa.service +++ b/debian/taler-exchange.taler-exchange-secmod-eddsa.service @@ -6,7 +6,8 @@ PartOf=taler-exchange.target [Service] User=taler-exchange-secmod-eddsa Type=simple -Restart=on-failure +Restart=always +RestartSec=100ms ExecStart=/usr/bin/taler-exchange-secmod-eddsa -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-secmod-rsa.service b/debian/taler-exchange.taler-exchange-secmod-rsa.service index b4fedd1cc..6c5a3d613 100644 --- a/debian/taler-exchange.taler-exchange-secmod-rsa.service +++ b/debian/taler-exchange.taler-exchange-secmod-rsa.service @@ -6,7 +6,8 @@ PartOf=taler-exchange.target [Service] User=taler-exchange-secmod-rsa Type=simple -Restart=on-failure +Restart=always +RestartSec=100ms ExecStart=/usr/bin/taler-exchange-secmod-rsa -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-transfer.service b/debian/taler-exchange.taler-exchange-transfer.service index 274b64624..b2615b7c9 100644 --- a/debian/taler-exchange.taler-exchange-transfer.service +++ b/debian/taler-exchange.taler-exchange-transfer.service @@ -6,7 +6,8 @@ PartOf=taler-exchange.target [Service] User=taler-exchange-wire Type=simple -Restart=on-failure +Restart=always +RestartSec=100ms ExecStart=/usr/bin/taler-exchange-transfer -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-wirewatch.service b/debian/taler-exchange.taler-exchange-wirewatch.service index 2705ca2b5..54704cb80 100644 --- a/debian/taler-exchange.taler-exchange-wirewatch.service +++ b/debian/taler-exchange.taler-exchange-wirewatch.service @@ -6,7 +6,8 @@ PartOf=taler-exchange.target [Service] User=taler-exchange-wire Type=simple -Restart=on-failure +Restart=always +RestartSec=100ms ExecStart=/usr/bin/taler-exchange-wirewatch -c /etc/taler/taler.conf StandardOutput=journal StandardError=journal diff --git a/debian/taler-exchange.taler-exchange-wirewatch@.service b/debian/taler-exchange.taler-exchange-wirewatch@.service new file mode 100644 index 000000000..54704cb80 --- /dev/null +++ b/debian/taler-exchange.taler-exchange-wirewatch@.service @@ -0,0 +1,16 @@ +[Unit] +Description=GNU Taler payment system exchange wirewatch service +After=network.target +PartOf=taler-exchange.target + +[Service] +User=taler-exchange-wire +Type=simple +Restart=always +RestartSec=100ms +ExecStart=/usr/bin/taler-exchange-wirewatch -c /etc/taler/taler.conf +StandardOutput=journal +StandardError=journal +PrivateTmp=yes +PrivateDevices=yes +ProtectSystem=full -- cgit v1.2.3