Pulse/docs
rcourtman aae8aef4ab fix(security): bound provider MSP restore writes
restoreProviderMSPArchiveFile copied each tar entry with an unbounded
io.Copy, so the only limit on what a restore wrote to disk was the size
the archive declared for itself. A gzip bomb, a PAX sparse entry claiming
a huge logical size, or a corrupt stream could fill the target volume.

Bound extraction the way readProviderMSPBackupManifestBytes already
bounds the manifest: a per-entry cap and a cumulative cap across the
whole restore, both enforced against the bytes actually copied rather
than the declared header size. That size comes from the archive, so it
is only good for an early reject, never as the bound. An entry that
overruns fails the restore and its partial file is removed, rather than
being silently truncated into a file that looks complete.

A restore that failed partway had already deleted whatever it replaced,
leaving a half-populated control plane that looks bootable and forcing
the retry to use replace. Roll the partial restore back to an empty
target instead, and say so in the error.

Follows the zip-slip fix in the same function (CodeQL alert 314).
2026-08-06 22:39:20 +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 fix(security): bound provider MSP restore writes 2026-08-06 22:39:20 +01:00
releases Revert "Prepare v6.2.0-rc.9 release" 2026-08-05 22:18:52 +01:00
security Prefer agent temperatures over SSH fallback 2026-07-03 10:43:28 +01:00
AGENT_SECURITY.md feat(proxmox): show all LXC filesystems 2026-07-30 22:42:04 +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 Write the deep-dive docs the AI pages promised 2026-08-03 22:20:57 +01:00
AI_AUTONOMY.md Write the deep-dive docs the AI pages promised 2026-08-03 22:20:57 +01:00
AI_PATROL_QUALIFICATION.md Record Windows Patrol cold-start qualification 2026-07-20 20:50:50 +01:00
AI_TRANSPARENCY.md Note the dedicated triage bot identity in the AI transparency statement 2026-08-03 00:29:02 +01:00
API.md Write the deep-dive docs the AI pages promised 2026-08-03 22:20:57 +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 docs: publish SignPath policy links 2026-08-06 17:42:08 +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 docs: bring Docker update section in line with the reviewed-action flow 2026-07-26 19:26:29 +01:00
FAQ.md fix(install): use absolute binary path in pct exec instructions 2026-08-06 12:08:13 +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
MIGRATION.md
MIGRATION_UNIFIED_NAV.md Finalize v6 GA release packet 2026-06-03 17:15:00 +01:00
MSP.md Self-issue the MSP evaluation licence, and fix two things it exposed 2026-08-03 18:14:05 +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 Replace the two non-discriminating audit telemetry fields and guard the class 2026-08-05 17:33:57 +01:00
PROXY_AUTH.md Fix security scan findings 2026-07-01 09:55:35 +01:00
PULSE_PRO.md Write the deep-dive docs the AI pages promised 2026-08-03 22:20:57 +01:00
RBAC.md docs: add Entra ID SSO and group mapping guide (#1635) 2026-07-28 10:43:27 +01:00
README.md docs: refresh public repository surface 2026-08-06 01:00:41 +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 Revert "Prepare v6.2.0-rc.9 release" 2026-08-05 22:18:52 +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
STORAGE_ARCHITECTURE.md
TEMPERATURE_MONITORING.md feat(agent): collect Windows CPU temperatures via LHM 2026-07-30 21:50:33 +01:00
TROUBLESHOOTING.md fix(install): use absolute binary path in pct exec instructions 2026-08-06 12:08:13 +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 feat(proxmox): show all LXC filesystems 2026-07-30 22:42:04 +01:00
UNIFIED_RESOURCES.md
UPGRADE_v5.md Prepare v6.0.0 release candidate 2026-06-04 14:07:14 +01:00
UPGRADE_v6.md Revert "Prepare v6.2.0-rc.9 release" 2026-08-05 22:18:52 +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.
  • 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.