mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-11-27 17:33:09 +00:00
nixos/services.tinc: Add all generated /etc/ files to reloadTriggers
Bug fix for issue #66431. Adds all files created as a result of hostSettings configuration to the created service's reloadTriggers, or to restartTriggers if the version of tinc isn't 1.1pre or later.
This commit is contained in:
parent
81f1863ca7
commit
ca591e7008
@ -349,9 +349,9 @@ in
|
||||
|
||||
###### implementation
|
||||
|
||||
config = mkIf (cfg.networks != { }) {
|
||||
|
||||
environment.etc = foldr (a: b: a // b) { }
|
||||
config = mkIf (cfg.networks != { }) (
|
||||
let
|
||||
etcConfig = foldr (a: b: a // b) { }
|
||||
(flip mapAttrsToList cfg.networks (network: data:
|
||||
flip mapAttrs' data.hosts (host: text: nameValuePair
|
||||
("tinc/${network}/hosts/${host}")
|
||||
@ -366,19 +366,22 @@ in
|
||||
};
|
||||
}
|
||||
));
|
||||
in {
|
||||
environment.etc = etcConfig;
|
||||
|
||||
systemd.services = flip mapAttrs' cfg.networks (network: data: nameValuePair
|
||||
("tinc.${network}")
|
||||
({
|
||||
(let version = getVersion data.package; in {
|
||||
description = "Tinc Daemon - ${network}";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
path = [ data.package ];
|
||||
restartTriggers = [ config.environment.etc."tinc/${network}/tinc.conf".source ];
|
||||
reloadTriggers = mkIf (versionAtLeast version "1.1pre") [ (builtins.toJSON etcConfig) ];
|
||||
restartTriggers = mkIf (versionOlder version "1.1pre") [ (builtins.toJSON etcConfig) ];
|
||||
serviceConfig = {
|
||||
Type = "simple";
|
||||
Restart = "always";
|
||||
RestartSec = "3";
|
||||
ExecReload = mkIf (versionAtLeast (getVersion data.package) "1.1pre") "${data.package}/bin/tinc -n ${network} reload";
|
||||
ExecReload = mkIf (versionAtLeast version "1.1pre") "${data.package}/bin/tinc -n ${network} reload";
|
||||
ExecStart = "${data.package}/bin/tincd -D -U tinc.${network} -n ${network} ${optionalString (data.chroot) "-R"} --pidfile /run/tinc.${network}.pid -d ${toString data.debugLevel}";
|
||||
};
|
||||
preStart = ''
|
||||
@ -433,7 +436,7 @@ in
|
||||
users.groups = flip mapAttrs' cfg.networks (network: _:
|
||||
nameValuePair "tinc.${network}" {}
|
||||
);
|
||||
};
|
||||
});
|
||||
|
||||
meta.maintainers = with maintainers; [ minijackson mic92 ];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user