mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-10-03 12:47:49 +00:00
A provider could stand the MSP bundle up and evaluate it without asking anyone, but paying still meant emailing its public key to Pulse and copying a licence file onto the host by hand. With the licence server's self-serve purchase path (pulse-pro license-server/provider_msp_purchase), the control plane can do the whole thing itself. The control plane now signs a challenge with its lease signing key to fetch the licence its subscription entitles, validates it exactly as startup does, requires it to bind this platform's key, and keeps it in the data directory, because the host licence is a read-only secret mount. Startup prefers that renewed licence while it validates, so a paying provider keeps starting after the self-issued evaluation on the host expires. A changed licence restarts the control plane through the existing graceful shutdown, since the plan version is read at load by every workspace-limit, backup and status path; client workspaces keep running. Preflight, proof, recovery and backup accept either signed source. The portal gains owner and admin routes for plan state, checkout, the Stripe billing portal and an immediate licence refresh, and the plan list comes from the licence server so it shows only what can be bought, at Stripe's price. Adds the msp_solo plan: 3 client workspaces, the first paid step above the 2-workspace evaluation. |
||
|---|---|---|
| .. | ||
| agent-probe | ||
| eval | ||
| hashpw | ||
| mutation-registry-audit | ||
| patrol-qualify | ||
| pulse | ||
| pulse-agent | ||
| pulse-agent-helper | ||
| pulse-agent-runner | ||
| pulse-control-plane | ||
| pulse-mcp | ||