Pulse/docs
rcourtman fe9c64a4d3 Stop the authenticated bootstrap pulling the full state payload
The shell fetched `/api/state` on every sign-in for two reasons: to learn
whether the session was authenticated, and to have something to render
before the socket connected. On a real estate that is 96% resources, and
the fetch sat on the critical path ahead of the websocket, which could not
begin connecting until it returned.

Neither reason survives. The session probe is now `/api/state/summary`,
which passes the same auth and monitoring-read scope checks and returns a
few hundred bytes. Navigation resolves from the platform admission facet.
Nothing else in the shell read the payload: `state()` had exactly three
consumers, two of them navigation and one an alert-count badge that the
socket supplies.

`/api/state` itself is untouched. It is the recovery path for a snapshot
too large for a websocket frame, which is precisely what the largest
estates need, so shrinking the endpoint would have removed the escape
hatch for the installs that depend on it most.

The seeded bootstrap state is gone rather than left empty. Keeping it
would have been actively unsafe: `runtimeStateResolved()` meant "a payload
arrived", so a bootstrap that no longer carried resources would still read
as resolved and navigation would classify an empty estate, hiding every
platform tab. Resolution is now websocket-backed, and an empty estate is
answered by the facet admitting nothing, which is a resolved answer rather
than an absent one.

Verified against two backends built from this change: a populated estate
resolves all six tabs, lands on the Proxmox overview and renders every
platform page, and an estate with zero resources shows no platform tabs in
the navigation landmark and lands on the infrastructure settings page.
Both issue one summary probe and zero `/api/state` requests.

Known regression: the alert-count badge is empty for the sub-second window
before the socket delivers alerts, where the bootstrap payload used to
supply it. The alerts store is not socket-synced, so reading the badge
from it would have traded a brief empty count for a lastingly stale one.

Tests that pinned the old mechanism were rewritten to their subjects: the
SSO and proxy-auth cases keep their auth assertions, and the empty-estate
distinction now asserts the facet admitting nothing rather than a
full-state payload arriving.

Contracts: performance-and-scalability records that the bootstrap is
estate-independent and that `/api/state` stays the recovery path rather
than a bootstrap surface; cloud-paid records the tenant probe.
2026-08-18 10:33:11 +01:00
..
api
architecture Govern commercial offer and lifecycle 2026-07-14 11:54:22 +01:00
i18n Publish the sshsig key as an allowed_signers line so the documented verify command works 2026-07-13 16:17:25 +01:00
images docs(brand): crop the animated Pulse mark to its artwork bounds 2026-08-06 11:22:26 +01:00
monitoring Harden Operational Trust rollout contracts 2026-07-19 15:11:02 +01:00
operations
release-control Stop the authenticated bootstrap pulling the full state payload 2026-08-18 10:33:11 +01:00
releases Prepare v6.3.0-rc.1 release 2026-08-17 22:04:54 +01:00
security Prefer agent temperatures over SSH fallback 2026-07-03 10:43:28 +01:00
security-review docs: add focused security review packet 2026-08-16 17:13:02 +01:00
AGENT_SECURITY.md Allow agents to include filtered disk mounts 2026-08-11 16:37:37 +01:00
AGENT_SUBSTRATE.md Rewrite the agent integrations doc for the operator reading it 2026-08-03 19:27:14 +01:00
AI.md Add model-authored Patrol observer proposals 2026-08-14 00:24:52 +01:00
AI_AUTONOMY.md Rework Patrol around outcome-driven autonomous operations 2026-08-14 12:52:51 +01:00
AI_PATROL_QUALIFICATION.md Honor local Patrol preflight deadlines 2026-08-15 02:23:48 +01:00
AI_TRANSPARENCY.md docs: refine AI transparency wording 2026-08-15 22:55:36 +01:00
API.md Add durable Patrol objectives 2026-08-13 23:59:33 +01:00
ASSISTANT_ARCHITECTURE.md Fail the build when the AI architecture docs drift from the code 2026-08-03 23:10:54 +01:00
ASSISTANT_SAFETY.md Write the deep-dive docs the AI pages promised 2026-08-03 22:20:57 +01:00
AUDIT_LOGGING.md
AUTO_UPDATE.md Remove dead autoUpdateCheckInterval and autoUpdateTime settings 2026-07-28 11:13:37 +01:00
CANONICAL_ALERT_ENGINE_MIGRATION_2026-03-10.md
CENTRALIZED_MANAGEMENT.md Clarify agent upgrade and notification docs 2026-06-12 19:26:26 +01:00
CLOUD.md Correct stale Settings/Alerts nav labels in user docs 2026-07-13 13:47:13 +01:00
CODE_SIGNING_POLICY.md Split Windows signing submission from approval-bound collection 2026-08-11 15:50:25 +01:00
CONFIGURATION.md docs: refresh public repository surface 2026-08-06 01:00:41 +01:00
DEPLOYMENT_MODELS.md Reconcile provider-hosted MSP copy 2026-06-02 19:14:18 +01:00
DOCKER.md Read host Docker credentials for private registry update checks 2026-08-13 10:06:26 +01:00
FAQ.md docs: add production security deployment guide 2026-08-16 09:21:36 +01:00
INSTALL.md docs(signing): record SignPath onboarding status 2026-08-06 15:12:25 +01:00
KUBERNETES.md feat(kubernetes): add OpenShift-safe Helm profile 2026-07-30 17:38:02 +01:00
MAIL_GATEWAY.md
METRICS_HISTORY.md Protect shared metrics database directories 2026-08-11 15:57:17 +01:00
MIGRATION.md
MIGRATION_UNIFIED_NAV.md Finalize v6 GA release packet 2026-06-03 17:15:00 +01:00
MSP.md Distinguish MSP evaluation issuance from readiness 2026-08-11 14:50:47 +01:00
MULTI_TENANT.md Fix agent command channel admission 2026-07-24 13:00:03 +01:00
OIDC.md docs: cover the Entra groupMembershipClaims manifest override 2026-08-04 10:23:11 +01:00
OIDC_SCOPE_GROUP_AUTH_FIX_SPEC.md Record OIDC scope fix resolution in handoff spec 2026-07-07 21:44:23 +01:00
OPERATIONAL_TRUST.md Fix availability check identity projection 2026-07-23 23:46:34 +01:00
PATROL_ARCHITECTURE.md Write the deep-dive docs the AI pages promised 2026-08-03 22:20:57 +01:00
PBS.md Fix Proxmox registration for host-token installs 2026-07-28 11:21:14 +01:00
PRIVACY.md Complete Patrol retained objective loop 2026-08-14 03:11:10 +01:00
PRODUCTION_SECURITY.md docs: clarify security review scope 2026-08-16 16:28:19 +01:00
PROXY_AUTH.md Document the 5.x proxy-auth mitigation and its end-of-life status 2026-08-12 10:21:46 +01:00
PULSE_PRO.md Write the deep-dive docs the AI pages promised 2026-08-03 22:20:57 +01:00
RBAC.md fix(rbac): make SSO user access manageable 2026-08-09 13:36:07 +01:00
README.md docs: add focused security review packet 2026-08-16 17:13:02 +01:00
RECOVERY.md Build canonical protection posture 2026-07-19 15:10:38 +01:00
RELAY.md docs: refresh public repository surface 2026-08-06 01:00:41 +01:00
RELEASE_NOTES.md Prepare v6.3.0-rc.1 release 2026-08-17 22:04:54 +01:00
REPO_BOUNDARY.md
REVERSE_PROXY.md
SCREENSHOTS.md docs: refresh public repository surface 2026-08-06 01:00:41 +01:00
SECURITY.md
SECURITY_REVIEW.md docs: add focused security review packet 2026-08-16 17:13:02 +01:00
STORAGE_ARCHITECTURE.md
TEMPERATURE_MONITORING.md fix(security): verify SSH hosts during proxy cleanup 2026-08-08 05:18:55 +01:00
TROUBLESHOOTING.md Improve 6.2 usability across core workflows 2026-08-09 01:16:15 +01:00
TRUENAS.md Document the TrueNAS 25.10 Readonly Admin API key limitation 2026-07-18 11:54:10 +01:00
UNIFIED_AGENT.md Read host Docker credentials for private registry update checks 2026-08-13 10:06:26 +01:00
UNIFIED_RESOURCES.md
UPGRADE_v5.md fix(security): verify SSH hosts during proxy cleanup 2026-08-08 05:18:55 +01:00
UPGRADE_v6.md Prepare v6.3.0-rc.1 release 2026-08-17 22:04:54 +01:00
VM_DISK_MONITORING.md
WEBHOOKS.md feat(notifications): route alerts by resource tags 2026-07-30 14:48:42 +01:00
ZFS_MONITORING.md feat(storage): surface Proxmox ZFS datasets 2026-07-30 16:45:13 +01:00

Pulse documentation

Start here for installation, platform setup, security, operations, and Pulse Intelligence. Commands, configuration keys, image names, API fields, and product identifiers remain untranslated in localized guides.

Start here

  • Install Pulse — signed Proxmox/Linux installation, Docker, Docker Compose, Kubernetes, and first-run setup.
  • Production deployment and security — least-privilege Proxmox setup, root-agent boundaries, discovery, supply-chain verification, plan limits, scale evidence, and a rollout checklist.
  • Upgrade from Pulse v5 — migration prerequisites, rollback, agent continuity, and post-upgrade checks.
  • Configure Pulse — authentication, notifications, discovery, retention, and system settings.
  • Deployment models — data locations, lifecycle, and differences between supported deployment paths.
  • Troubleshooting and FAQ — common failures, diagnostics, and operator questions.

Localized getting started guides: Deutsch · Español

Platforms and agents

VMware vSphere support is early access. Current builds expose dedicated vSphere inventory and recovery context, but operators should validate the integration against their own vCenter before production use.

Monitoring and operations

Pulse Intelligence

Patrol watch-only analysis is available on Community with a local model or the operator's own provider. Investigation and governed fixes require the relevant Pulse Pro capabilities.

Security, privacy, and access

Plans and managed access

Pulse Cloud is not generally available. Ordinary self-hosted Pulse remains the primary installation path; MSP and Enterprise access are explicit commercial paths rather than defaults in self-hosted setup.

Development and reference

Detailed design notes and dated migration specifications may remain in this directory for maintainers, but they are not operator setup guides unless they are linked from the sections above.

Previous versions and migrations

Found a bug? Use the issue forms. For setup questions, use GitHub Discussions.