fix: let the secret-delivery oneshots outlive their own bounded wait
Three host units poll up to 120s for a secret authelia mints on its first boot, and all three are `Type=oneshot` with no `TimeoutStartSec`. systemd's `DefaultTimeoutStartSec` is 90s, so it kills them at 90 — before the script reaches its own `exit 1` and names the file that never appeared. The wait itself is fine; what's lost is the diagnosis. On a fresh hive the operator gets a bare start-timeout instead of "authelia has not minted <path>", several layers from the container that was actually slow. Found while writing the same unit for Grafana, where the timeout is set — so this is the existing three catching up with it, not a new pattern.
This commit is contained in:
parent
6cbabc3515
commit
9451c06e82
2 changed files with 15 additions and 0 deletions
|
|
@ -1086,6 +1086,10 @@ in
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
SyslogIdentifier = "hive-forge-oidc-secret";
|
SyslogIdentifier = "hive-forge-oidc-secret";
|
||||||
|
# Longer than the 120s bounded wait below. `DefaultTimeoutStartSec`
|
||||||
|
# is 90s, so without this systemd kills the unit at 90 — before it
|
||||||
|
# can emit the message naming the file it was waiting for.
|
||||||
|
TimeoutStartSec = "180s";
|
||||||
};
|
};
|
||||||
path = [ pkgs.coreutils ];
|
path = [ pkgs.coreutils ];
|
||||||
script = ''
|
script = ''
|
||||||
|
|
@ -1139,6 +1143,10 @@ in
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
SyslogIdentifier = "hive-forge-swarm-controller-token";
|
SyslogIdentifier = "hive-forge-swarm-controller-token";
|
||||||
|
# Longer than the 120s bounded wait below. `DefaultTimeoutStartSec`
|
||||||
|
# is 90s, so without this systemd kills the unit at 90 — before it
|
||||||
|
# can emit the message naming the file it was waiting for.
|
||||||
|
TimeoutStartSec = "180s";
|
||||||
};
|
};
|
||||||
path = [ pkgs.coreutils ];
|
path = [ pkgs.coreutils ];
|
||||||
script = ''
|
script = ''
|
||||||
|
|
|
||||||
|
|
@ -710,6 +710,13 @@ in
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
RemainAfterExit = true;
|
RemainAfterExit = true;
|
||||||
SyslogIdentifier = "hive-matrix-oidc-secret";
|
SyslogIdentifier = "hive-matrix-oidc-secret";
|
||||||
|
# Longer than the 120s bounded wait below, and that is the whole
|
||||||
|
# point: `DefaultTimeoutStartSec` is 90s, so without this systemd
|
||||||
|
# kills the unit at 90 — before it can emit the message naming the
|
||||||
|
# file it was waiting for. The failure then reads as a timeout with
|
||||||
|
# no cause rather than "authelia has not minted <path>", which is
|
||||||
|
# the one line that makes a fresh-hive SSO stall diagnosable.
|
||||||
|
TimeoutStartSec = "180s";
|
||||||
};
|
};
|
||||||
path = [ pkgs.coreutils ];
|
path = [ pkgs.coreutils ];
|
||||||
script = ''
|
script = ''
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue