mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-23 12:15:42 +00:00
33d318a29e
The only production consumer of the UpdaterRegistry is the plan endpoint (GET /api/updates/plan); every real apply runs through the in-Go pipeline in manager.go ApplyUpdate, with concurrency held by updateMu/updateInFlight. The InstallShAdapter Execute/Rollback path (install.sh piping, rollback binary download, health wait) and the UpdateQueue were never called outside tests, so fixes made there silently did nothing. Adapters are now plan providers only: the Updater interface keeps SupportsApply, PrepareUpdate, and GetDeploymentType, pinned by the new registry proof in internal/api/updates_test.go. The orphaned fetchAndVerifyReleaseSignature helper goes with it; its fail-closed sidecar tests now exercise the manager's downloadAndVerifyReleaseSignature directly. The deployment-installability sshsig invariant now names the manager pipeline as the only surface that fetches release artifacts, and api-contracts, storage-recovery, and agent-lifecycle pin the same plan-provider-only shape at their update transport boundaries. Stale adapter references in build-release.sh, validate-release.sh, and the installtests comments are updated to match.