You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: [sc-109762] Isolate the Linux auto-update helper from its own systemd cgroup
The --update helper inherited the running service's cgroup, so calling
systemctl stop on its own unit let KillMode=control-group kill the helper
along with the service before it could restart it, leaving the endpoint
offline with no auto-recovery. The helper now runs in its own transient
systemd scope (systemd-run --scope) so it survives the stop.
Adds integration-test coverage that asserts the helper actually logs a
restart, the service is active, and it resubscribes after a Linux
auto-update, closing a gap where the existing check could pass even when
the helper never restarted anything.
rather than as a plain child of the running service, so it is never a member
68
+
of that service's cgroup — otherwise `systemctl stop`'s default
69
+
`KillMode=control-group` kills the helper along with the service it just
70
+
stopped, before it can restart it, leaving the endpoint offline with no
71
+
automatic recovery. See the README's "Surviving Its Own systemd Stop
72
+
(Linux)" section.
65
73
66
74
-**internal/agent/**: Device configuration, installation paths, and OS-specific host information. Auto-update installers are downloaded into `<data directory>/updates` (a `0700` directory the agent owns) rather than the shared system temp directory, and `SweepStaleInstallers` reclaims installer binaries older than 24 hours at service startup — from that directory and from the legacy temp location — so the binaries a detached installer necessarily leaves behind stop accumulating one per update. See the README's "Reclaiming Downloaded Installer Binaries" section. The auto-update retry schedule is capped (1 hour, or a quarter of the check interval when shorter) and jittered (±25%) via `utils.JitteredBackoff`, the same helper the postback retry schedule uses, so the doubling cannot overflow into a negative sleep that busy-spins and a fleet-wide release-endpoint outage cannot produce a synchronized retry storm. See the README's "Capped and Jittered Auto-Update Retries" section.
67
75
-**internal/interpreter/**: Command execution engine supporting both PowerShell and Bash interpreters
0 commit comments