From 53ae9b85210ec120adf94c0b3397f6f68620b41e Mon Sep 17 00:00:00 2001 From: Andreas Linz Date: Fri, 16 Jun 2017 10:40:21 +0200 Subject: [PATCH] Increase restart rate limit The previous setting caused the service to hit a rate-limit when it was restarted more than 5 times in 24h. Editing the Caddyfile and restarting the service could also easily trigger this rate limit. One could argue that users could simply call `systemctl reset-failed caddy` to reset the rate-limit counter, but this is counterintuitive because most users won't know this command and are possibly unaware that they had hit a rate-limit. The service is now allowed to restart 10 times in 10 seconds before hitting a rate limit. This should be conservative enough to rate limit quickly failing services and to allow users to edit and test their caddy configuration. This closes #1718 Remove restart limit settings and use defaults By default 5 restarts within 10 seconds are allowed without encountering a restart limit hit, see `man systemd.unit` for details. Set Restart to on-abnormal The table in https://www.freedesktop.org/software/systemd/man/systemd.service.html#Restart= shows the conditions for which on-abnormal would restart the service. It will *not* restart the service in the following cases: - a non-zero exit status, e.g. an invalid Caddyfile - a zero exit code (or those specified in SuccessExitStatus=) and a clean signal clean signals are SIGHUP, SIGINT, SIGTERM or SIGPIPE https://github.com/systemd/systemd/blob/3536f49e8fa281539798a7bc5004d73302f39673/src/basic/exit-status.c#L205 The service *will be restarted* in the following cases: - a unclean signal, e.g. SIGKILL - on start and watchdog timeout (we don't use those systemd service constructs explicitly) --- dist/init/linux-systemd/caddy.service | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/dist/init/linux-systemd/caddy.service b/dist/init/linux-systemd/caddy.service index 72c610f43..dc560b8be 100644 --- a/dist/init/linux-systemd/caddy.service +++ b/dist/init/linux-systemd/caddy.service @@ -5,9 +5,7 @@ After=network-online.target Wants=network-online.target systemd-networkd-wait-online.service [Service] -Restart=on-failure -StartLimitInterval=86400 -StartLimitBurst=5 +Restart=on-abnormal ; User and group the process will run as. User=www-data