Pulse/scripts
rcourtman 0e40ec07cb Make the provider MSP portal honest and self-sufficient without an email provider
Exercised the full provider portal as a pilot MSP would and fixed what
made it feel broken:

- The signed-out portal promised "a sign-in link is on the way" even when
  the control plane has no email provider (the bundle default), and team
  invitations silently sent nothing. The portal bootstrap now carries
  email_sign_in_available and provider_hosted_mode; the sign-in page shows
  the host command that actually prints a link, and the invite panel says
  invitation emails are not sent and how to hand over a link instead.
- New "provider-msp portal-link --email" CLI mints a one-time portal link
  for an account member or pending invitee, so teammates can sign in at
  all on email-less installs (bootstrap only covers the owner).
- Portal sessions were fixed at 12h; CP_SESSION_TTL now configures them
  and provider-hosted MSP mode defaults to 7 days.
- Creating a client past the license cap showed a generic "Failed to
  create workspace." toast: the limit error is now a JSON payload with
  current/limit, the API client no longer drops non-JSON error bodies
  (double body read), and the toast explains the license limit.
- Copy polish: provider-mode sign-in intro (no refunds/privacy register),
  least-privilege default invite role, queue tile label matches "Client
  onboarding", softer Support tab with a docs/MSP.md pointer, setup.sh
  summary now prints the bootstrap next step and day-2 sign-in commands,
  .env.example and docs/MSP.md document portal sign-in and sessions.

Contracts updated (cloud-paid, api-contracts, deployment-installability,
security-privacy) with verification pins in tenant_handlers_test,
config_test, magiclink_test, and provider_msp_deploy_test.

Verified live against a dockerless control plane: portal-link for an
invitee redeems, promotes the invitation, and sets a 7-day session;
the at-cap toast shows the license copy; portal vitest suite and
cloudcp/auth/account/installtests Go suites pass.
2026-07-10 11:22:57 +01:00
..
dev Fix settings security tab navigation 2025-10-11 23:29:47 +00:00
eval chore: add evaluation scripts, CI workflow and dev tooling 2026-01-30 19:00:48 +00:00
installtests Make the provider MSP portal honest and self-sufficient without an email provider 2026-07-10 11:22:57 +01:00
lib backend and governance: MCP contract, agent capabilities, API, and release-control 2026-06-23 17:26:15 +01:00
lint-fixer feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
release_control Extract the transport-independent action lifecycle service 2026-07-10 11:06:55 +01:00
systemd feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
tests Modernize Unified Agent lifecycle and platform support 2026-07-09 23:20:35 +01:00
.go-version Modernize Unified Agent lifecycle and platform support 2026-07-09 23:20:35 +01:00
audit-private-boundary.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
backfill-release-assets.sh Add historical release asset backfill workflow 2026-04-22 17:25:58 +01:00
build-release.sh Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00
bundle.manifest feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
bundle.sh feat: add shared script library system and refactor docker-agent installer 2025-10-20 15:13:38 +00:00
check-bench-regression.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
check-workflow-dispatch-inputs.py fix(release): restore release helper executable bits 2026-03-26 12:26:55 +00:00
clean-mock-alerts.sh Route mock alert cleanup through managed runtime 2026-03-24 15:49:29 +00:00
cleanup.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
cloud-backup.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
com.pulse.hot-dev.plist.template feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
conformance-smoke.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
demo_public_browser_smoke.cjs Harden demo public browser smoke readiness 2026-04-12 17:07:50 +01:00
dev-check.sh Switch script-reference integrity test from rg to git grep for portable CI 2026-05-12 00:30:43 +01:00
dev-deploy-agent.sh Harden dev agent deploy SSH host verification 2026-04-22 11:41:50 +01:00
dev-launchd-setup.sh Prefer managed runtime controls in launchd helper 2026-03-24 16:01:14 +00:00
dev-launchd-wrapper.sh Supervise launchd dev runtime through hot-dev-bg 2026-03-24 15:39:55 +00:00
docker-build.sh security: complete Phase 1 sensor proxy hardening 2025-10-20 15:13:37 +00:00
ensure_test_assets.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
exclusive-lock.mjs feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
generate-pulse-intelligence-docs.go backend and governance: MCP contract, agent capabilities, API, and release-control 2026-06-23 17:26:15 +01:00
generate-release-notes.sh Clarify paid Pulse Pro runtime install path 2026-05-06 21:52:50 +01:00
generate-self-hosted-feature-catalog.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
generate-types.go backend and governance: MCP contract, agent capabilities, API, and release-control 2026-06-23 17:26:15 +01:00
hot-dev-bg.sh backend and governance: MCP contract, agent capabilities, API, and release-control 2026-06-23 17:26:15 +01:00
hot-dev.sh fix(dev): clear proxy env vars before launching backend 2026-06-26 14:40:49 +01:00
install-container-agent.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
install-docker.sh Prepare 6.0.5 release 2026-07-09 11:52:28 +01:00
install-go-toolchain.sh Modernize Unified Agent lifecycle and platform support 2026-07-09 23:20:35 +01:00
install-mcp.ps1 Stop install-mcp scripts from linking to GitHub blob/main docs 2026-05-11 23:58:45 +01:00
install-mcp.sh Stop install-mcp scripts from linking to GitHub blob/main docs 2026-05-11 23:58:45 +01:00
install.ps1 Modernize Unified Agent lifecycle and platform support 2026-07-09 23:20:35 +01:00
install.sh Fix native agent release lifecycle verification 2026-07-10 01:49:38 +01:00
package-helm-chart.sh release: prepare v4.25.0 2025-10-22 10:46:18 +00:00
patrol_e2e_matrix.sh feat(patrol): implement patrol findings, evaluation, and investigation logic 2026-01-31 16:23:08 +00:00
pulse-auto-update.sh Update the Pro binary in-app from the license server download broker 2026-07-08 23:39:37 +01:00
release_asset_common.sh Fix release key helper module path 2026-05-04 09:44:41 +01:00
release_candidate_manifest.py Build releases once and promote verified candidates 2026-07-09 22:21:34 +01:00
release_ldflags.sh Require signed unified agent release assets 2026-04-22 02:00:29 +01:00
release_update_key.go Fix v6 demo release signing key deployment 2026-05-05 21:40:14 +01:00
remerge-parallel.sh Align v6 release branch governance 2026-03-19 10:18:45 +00:00
render_installers.go Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00
repo-boundary-paid-surface.allowlist feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
run_cloud_public_signup_smoke.sh Add Pulse Cloud public signup smoke 2026-04-23 23:09:10 +01:00
run_demo_public_browser_smoke.sh Add public browser smoke proof to demo workflows 2026-04-11 13:50:00 +01:00
run_hosted_staging_smoke.sh Auto-select hosted staging tenant 2026-04-15 12:23:57 +01:00
session-handoff.sh feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
standalone.manifest feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
sync-production-config.sh chore: update dev scripts and mock configuration 2026-01-22 22:32:45 +00:00
sync_chart_release_metadata.py fix(deploy): pin docs links to release refs 2026-03-28 21:32:11 +00:00
telemetry_adoption_report.py backend and governance: MCP contract, agent capabilities, API, and release-control 2026-06-23 17:26:15 +01:00
test-vm-disk.sh Update Proxmox guest agent permissions docs and tooling (refs #548) 2025-10-14 10:21:52 +00:00
toggle-mock.sh fix(mock): backfill the metrics store in mock mode so reports get real history 2026-06-10 21:25:02 +01:00
trigger-release-dry-run.sh Add mobile impact gate to release dispatch 2026-07-07 18:21:20 +01:00
trigger-release.sh Add mobile impact gate to release dispatch 2026-07-07 18:21:20 +01:00
trigger-stable-patch.sh Build releases once and promote verified candidates 2026-07-09 22:21:34 +01:00
uninstall-sensor-proxy.sh Prepare v6.0.0 release candidate 2026-06-04 14:07:14 +01:00
validate-published-release.sh Publish signed release-packet SBOM assets 2026-04-22 16:49:29 +01:00
validate-release.sh Delete the unreachable adapter Execute/Rollback update path and the unused UpdateQueue 2026-07-10 01:14:40 +01:00