Pulse/scripts/installtests
rcourtman dd72bd1490 fix(install): stop agent kills matching a co-installed sibling agent
pkill -f matches the whole command line and "^" only anchors the start, so
"^/usr/local/bin/pulse-agent" also matches "/usr/local/bin/pulse-agent-prod".
On a host running a second agent whose binary name shares the prefix, every
install, every upgrade, and every restart of the generated Unraid wrapper
silently killed the other agent too. Confirmed on a live dual-agent Unraid
box: the old pattern matched both the dev agent and the production dogfood
agent, the bounded pattern matches only its own.

The wrapper is the worst of the three because restarting through it is the
documented runbook step, so the collateral kill repeats every time an
operator follows it.

Bound the far end of each binary-anchored pattern with ([[:space:]]|$), and
swap the bare pkill -9 -f "pulse-agent" for -x on the exact process name,
which keeps that site's deliberate path-agnostic intent while excluding the
sibling. The pkill -x sites were already safe and are unchanged.

Guarded by two tests: one pins that no binary-anchored pkill in the installer
is left unbounded, the other exercises POSIX ERE semantics against the two
command lines a dual-agent host presents, including a premise check that the
unbounded pattern really does match the sibling so the assertion cannot pass
vacuously.
2026-08-06 14:07:32 +01:00
..
windowslifecycleserver Extract the transport-independent action lifecycle service 2026-07-10 11:06:55 +01:00
agent_state_dir_lifecycle_test.go Let --report-ip lead host identity and pass it through the installer 2026-07-22 00:49:43 +01:00
backfill_release_assets_test.go Add historical release asset backfill workflow 2026-04-22 17:25:58 +01:00
build_release_assets_test.go chore(ci): stop resurrecting the pulse-agent GHCR package 2026-08-06 10:48:05 +01:00
docker_entrypoint_test.go Refresh Pulse 6.1 RC1 mobile evidence 2026-07-13 19:41:41 +01:00
install_docker_sh_test.go Revert "Prepare v6.2.0-rc.9 release" 2026-08-05 22:18:52 +01:00
install_ps1_test.go Run the Windows installer TLS callback off a compiled type 2026-08-02 13:12:17 +01:00
install_sh_test.go fix(install): stop agent kills matching a co-installed sibling agent 2026-08-06 14:07:32 +01:00
provider_msp_deploy_test.go Self-issue the MSP evaluation licence, and fix two things it exposed 2026-08-03 18:14:05 +01:00
pulse_auto_update_test.go Fix auto-update leaving service down after installer failure 2026-07-27 09:38:37 +01:00
release_ldflags_test.go Require signed unified agent release assets 2026-04-22 02:00:29 +01:00
root_install_sh_test.go fix(install): use absolute binary path in pct exec instructions 2026-08-06 12:08:13 +01:00
uninstall_sensor_proxy_test.go Prepare v6.0.0 release candidate 2026-06-04 14:07:14 +01:00
windows_agent_lifecycle.ps1 Extract the transport-independent action lifecycle service 2026-07-10 11:06:55 +01:00