Merge pull request #62779 from grahamc/containers-restart
Restart declarative containers when their host environment configuration changes
This commit is contained in:
commit
9d11c30cf9
@ -689,7 +689,7 @@ in
|
|||||||
[{ name = "container@"; value = unit; }]
|
[{ name = "container@"; value = unit; }]
|
||||||
# declarative containers
|
# declarative containers
|
||||||
++ (mapAttrsToList (name: cfg: nameValuePair "container@${name}" (let
|
++ (mapAttrsToList (name: cfg: nameValuePair "container@${name}" (let
|
||||||
config = cfg // (
|
containerConfig = cfg // (
|
||||||
if cfg.enableTun then
|
if cfg.enableTun then
|
||||||
{
|
{
|
||||||
allowedDevices = cfg.allowedDevices
|
allowedDevices = cfg.allowedDevices
|
||||||
@ -700,18 +700,21 @@ in
|
|||||||
else {});
|
else {});
|
||||||
in
|
in
|
||||||
unit // {
|
unit // {
|
||||||
preStart = preStartScript config;
|
preStart = preStartScript containerConfig;
|
||||||
script = startScript config;
|
script = startScript containerConfig;
|
||||||
postStart = postStartScript config;
|
postStart = postStartScript containerConfig;
|
||||||
serviceConfig = serviceDirectives config;
|
serviceConfig = serviceDirectives containerConfig;
|
||||||
} // (
|
} // (
|
||||||
if config.autoStart then
|
if containerConfig.autoStart then
|
||||||
{
|
{
|
||||||
wantedBy = [ "machines.target" ];
|
wantedBy = [ "machines.target" ];
|
||||||
wants = [ "network.target" ];
|
wants = [ "network.target" ];
|
||||||
after = [ "network.target" ];
|
after = [ "network.target" ];
|
||||||
restartTriggers = [ config.path ];
|
restartTriggers = [
|
||||||
reloadIfChanged = true;
|
containerConfig.path
|
||||||
|
config.environment.etc."containers/${name}.conf".source
|
||||||
|
];
|
||||||
|
restartIfChanged = true;
|
||||||
}
|
}
|
||||||
else {})
|
else {})
|
||||||
)) config.containers)
|
)) config.containers)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user