nixos/bird: check config during reload

`birdc configure` seems to not return a nonzero exit code if the reload
failed.

Context: https://bird.network.cz/pipermail/bird-users/2018-January/011858.html

Co-Authored-By: Puck Meerburg <puck@puck.moe>
This commit is contained in:
Florian Klink 2021-03-18 14:21:58 +01:00
parent 7d266264ce
commit 2b03d3a1cf

View File

@ -58,7 +58,7 @@ let
Type = "forking";
Restart = "on-failure";
ExecStart = "${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -u ${variant} -g ${variant}";
ExecReload = "${pkg}/bin/${birdc} configure";
ExecReload = "/bin/sh -c '${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -p && ${pkg}/bin/${birdc} configure'";
ExecStop = "${pkg}/bin/${birdc} down";
CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID"
# see bird/sysdep/linux/syspriv.h