summary refs log tree commit diff
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2021-08-01 14:44:46 +0200
committerNaïm Favier <n@monade.li>2021-08-01 15:03:41 +0200
commit12bbb0fd7bd2d88ee232cf505b917f3873be0f4f (patch)
treeb7dc858c780fabdc2d6f586316e1b69a03ee37e0
parent6376458424433ced446cbb9045641cb23c9b832d (diff)
downloadnixpkgs-12bbb0fd7bd2d88ee232cf505b917f3873be0f4f.tar
nixpkgs-12bbb0fd7bd2d88ee232cf505b917f3873be0f4f.tar.gz
nixpkgs-12bbb0fd7bd2d88ee232cf505b917f3873be0f4f.tar.bz2
nixpkgs-12bbb0fd7bd2d88ee232cf505b917f3873be0f4f.tar.lz
nixpkgs-12bbb0fd7bd2d88ee232cf505b917f3873be0f4f.tar.xz
nixpkgs-12bbb0fd7bd2d88ee232cf505b917f3873be0f4f.tar.zst
nixpkgs-12bbb0fd7bd2d88ee232cf505b917f3873be0f4f.zip
nixos/syncthing: fix curl not retrying on network errors
-rw-r--r--nixos/modules/services/networking/syncthing.nix11
1 files changed, 4 insertions, 7 deletions
diff --git a/nixos/modules/services/networking/syncthing.nix b/nixos/modules/services/networking/syncthing.nix
index 63b249df735..2e92fe51e90 100644
--- a/nixos/modules/services/networking/syncthing.nix
+++ b/nixos/modules/services/networking/syncthing.nix
@@ -37,13 +37,9 @@ let
     do sleep 1; done
 
     curl() {
-        while
-            ${pkgs.curl}/bin/curl -Ss -H "X-API-Key: $api_key" \
-                --retry 100 --retry-delay 1 --retry-connrefused "$@"
-            status=$?
-            [ "$status" -eq 52 ] # retry on empty reply from server
-        do sleep 1; done
-        return "$status"
+        ${pkgs.curl}/bin/curl -sS -H "X-API-Key: $api_key" \
+            --retry 1000 --retry-delay 1 --retry-all-errors \
+            "$@"
     }
 
     # query the old config
@@ -547,6 +543,7 @@ in {
         cfg.devices != {} || cfg.folders != {} || cfg.extraOptions != {}
       ) {
         description = "Syncthing configuration updater";
+        requisite = [ "syncthing.service" ];
         after = [ "syncthing.service" ];
         wantedBy = [ "multi-user.target" ];