Pulse/internal/updates
rcourtman 0c91799e0f Self-test the new binary before the in-app update swaps it in
Checksum and SSHSIG verification prove the downloaded artifact matches
what was published, not that it can run on this host or is the version
the user approved. The apply pipeline previously swapped the binary and
exited, relying on systemd to restart into an unproven executable; a
wrong-arch fallback asset or unstamped build would take Pulse down with
the backup left unused.

ApplyUpdate now locates the extracted binary and probes it with
--version before the backup and swap stages, failing the update with
zero changes applied when the probe fails or reports a version other
than the apply target. Same pattern the agent updater already uses.
Pinned in the deployment-installability contract with
internal/updates/selftest_test.go as the owned proof surface.
2026-07-10 00:44:01 +01:00
..
adapter_installsh.go Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
adapter_installsh_exec_test.go Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
adapter_installsh_execute_test.go Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
adapter_installsh_extra_test.go Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
adapter_installsh_helpers_test.go Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
adapter_installsh_more_test.go Port installer disk preflight from v5 2026-05-01 20:28:11 +01:00
adapter_installsh_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
history.go Harden update history persistence root 2026-03-29 14:39:11 +01:00
history_test.go Harden update history persistence root 2026-03-29 14:39:11 +01:00
manager.go Self-test the new binary before the in-app update swaps it in 2026-07-10 00:44:01 +01:00
manager_additional_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
manager_applyupdate_test.go test: Add comprehensive test coverage across packages 2026-01-19 19:26:18 +00:00
manager_backup_runtime_test.go Harden self-hosted update runtime against low-disk drift 2026-04-22 09:40:49 +01:00
manager_check_updates_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
manager_checksum_test.go Harden self-hosted update runtime against low-disk drift 2026-04-22 09:40:49 +01:00
manager_edition_test.go Update the Pro binary in-app from the license server download broker 2026-07-08 23:39:37 +01:00
manager_fileops_test.go Harden update manager directory scans 2026-03-29 14:23:13 +01:00
manager_more_test.go Enforce upgrade readiness before v6 updates 2026-05-28 17:22:01 +01:00
manager_pro_update_test.go Self-test the new binary before the in-app update swaps it in 2026-07-10 00:44:01 +01:00
manager_retry_test.go Harden update manager outbound requests 2026-03-29 13:11:14 +01:00
manager_sse_helpers_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
manager_test.go Reframe prerelease update copy 2026-03-25 11:25:41 +00:00
mock_updater.go docs: Add godoc comments to more exported functions 2025-12-02 16:03:57 +00:00
mock_updater_additional_test.go test: expand backend coverage 2026-01-25 21:08:44 +00:00
mock_updater_test.go test: Add comprehensive test coverage across packages 2026-01-19 19:26:18 +00:00
pro_update.go Pin the OAuth Tailscale path in the update-demo workflow test 2026-07-08 23:23:20 +01:00
queue.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
queue_observability_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
queue_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
selftest.go Self-test the new binary before the in-app update swaps it in 2026-07-10 00:44:01 +01:00
selftest_test.go Self-test the new binary before the in-app update swaps it in 2026-07-10 00:44:01 +01:00
signature.go Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
signature_test.go Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
sse.go Remove 198 unreachable Go functions 2026-06-03 12:29:37 +01:00
sse_test.go feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
updater.go Add update readiness checks for v6 upgrades 2026-05-28 16:47:49 +01:00
updater_test.go Add update readiness checks for v6 upgrades 2026-05-28 16:47:49 +01:00
version.go Canonicalize usage-data telemetry reporting 2026-04-14 11:05:10 +01:00
version_additional_test.go Fix updates mock deployment test 2026-04-11 15:06:44 +01:00
version_test.go Canonicalize usage-data telemetry reporting 2026-04-14 11:05:10 +01:00