Files
pulse/docs
rcourtman acb6bcfff6 Judge PBS and PMG freshness by the live polling interval (#2746)
Non-default organisations run tenant monitors against a detached config
copy (#1619). A saved PBS or PMG polling interval reaches them only as a
runtime override pushed by the system-settings save
(`SetPBSPollingInterval` / `SetPMGPollingInterval`). Their fixed-cadence
schedulers read that override, but `Monitor.resourceStaleThresholds`
still derived the PBS and PMG stale windows from the config copy.

Effect before this change: raising PBS from 1 to 5 minutes left the
stale window at 120s, so a healthy PBS or PMG instance in a non-default
organisation read stale (status `warning`) for part of every poll cycle
until the next restart. Lowering the interval left the window too long.

- `resource_stale_thresholds.go`: `resourceStaleThresholds` derives
PBS/PMG freshness from the same override-aware, clamped setting readers
the scheduler uses. An adaptive scheduler picks its own intervals and
ignores the overrides, so freshness there keeps its existing derivation.
`ResourceStaleThresholdsForConfig` stays config-only for adapter
construction, and the monitor overwrites those thresholds on its next
store update.
- `canonical_guardrails_test.go`:
`TestMonitorResourceStaleThresholdsFollowRuntimePollingOverrides` drives
a monitor with a `MonitorAdapter` through `updateResourceStore`. On
origin/main, a PBS sighting 3 minutes old reads `warning` under a
5-minute override, and the threshold stays 2m under a raised override
and 10m under a lowered one. All subtests pass with the fix. One subtest
also ties thresholds to `baseIntervalForInstanceType` for clamped
overrides (5s, 90s, 2h).
- `monitoring.md`: the derivation note now records the override rule.

Unchanged by design: the default organisation shares the server's config
pointer (the save writes it directly), and a PVE interval save reloads
every monitor from saved config.

Verification: the new test fails on origin/main's
`resource_stale_thresholds.go` and passes with the fix. The full
`internal/monitoring` package passes, and `go vet` is clean.
2026-10-08 10:37:54 +01:00
..
2026-10-05 21:53:41 +01:00
…
2026-10-05 21:53:41 +01:00
2026-10-05 21:53:41 +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.
  • Releases and update channels: choosing Stable or Preview, beta and RC expectations, and how releases are tested and promoted.
  • 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.