Commit Graph

237 Commits

Author SHA1 Message Date
rcourtman 2fb76b90af Add guest agent meminfo VM memory fallback 2026-04-01 19:00:48 +01:00
rcourtman 69ea9e5940 Harden Proxmox guest fsinfo parsing 2026-04-01 18:47:14 +01:00
rcourtman 072ca71e7c Use checked Proxmox replication parsing 2026-04-01 16:18:02 +01:00
rcourtman 030fc20cd6 Harden Proxmox integer parsing bounds 2026-04-01 14:51:00 +01:00
rcourtman 4e16f35347 Defer metrics store startup maintenance 2026-04-01 13:29:39 +01:00
rcourtman c5f5af7abf Forward-port Proxmox monitoring fixes from v5 2026-04-01 11:51:19 +01:00
rcourtman a3f99a271b Curate demo-facing mock data across platform views 2026-03-31 18:05:55 +01:00
rcourtman 2fdf0e16c8 Support enterprise mobile approval proof backend 2026-03-29 21:52:18 +01:00
rcourtman 74b78ebd2f Pin discovery HTTP probes to captured TLS peers 2026-03-29 19:32:56 +01:00
rcourtman bf4820733e Canonicalize metrics store database paths 2026-03-29 15:35:49 +01:00
rcourtman f1fc17e627 Canonicalize fixed alerts and licensing paths 2026-03-29 14:14:36 +01:00
rcourtman 72559f737b Harden Proxmox numeric parsing bounds 2026-03-29 13:44:46 +01:00
rcourtman 9ac8048acd Harden email delivery and TLS probing 2026-03-29 13:02:36 +01:00
rcourtman d6536932fc Harden outbound URLs and file-backed storage 2026-03-29 12:47:55 +01:00
rcourtman 234f2a585f privacy(telemetry): add preview and reset controls 2026-03-28 23:13:43 +00:00
rcourtman be5982dcae privacy(telemetry): reduce commercial detail 2026-03-28 22:46:32 +00:00
rcourtman c19b06d1f4 fix(telemetry): aggregate tenant snapshots 2026-03-28 22:31:33 +00:00
rcourtman 893d003c0a Merge origin/pulse/v6-release and fix reconciled API regressions 2026-03-28 21:14:54 +00:00
rcourtman 27507a47ad perf(metrics): keep downsampled series ordered 2026-03-27 12:16:31 +00:00
Richard Courtman 57a3f19a84 fix(hosted): preserve direct handoff membership continuity 2026-03-26 23:40:02 +00:00
rcourtman 48dc1a997d Exclude placeholder capabilities from dev entitlements 2026-03-26 22:45:07 +00:00
rcourtman 94330b6787 Bound dev entitlements to runtime-enabled features 2026-03-26 22:38:29 +00:00
rcourtman b9dc003712 Align dev entitlements with feature gates 2026-03-26 22:19:15 +00:00
Richard Courtman 257dd55f12 perf(metrics): stream downsampled batch aggregation 2026-03-26 17:59:41 +00:00
Richard Courtman dbd470398a perf(metrics): reduce downsampled batch query tail latency 2026-03-26 17:37:25 +00:00
rcourtman b90fdc7e2c test(metrics): rebaseline github actions slo budgets 2026-03-26 13:51:08 +00:00
rcourtman 6dcfca9831 Canonicalize reporting single-file fallback subject 2026-03-26 09:31:32 +00:00
rcourtman 1886f7fca4 Canonicalize reporting fallback filename date style 2026-03-26 09:28:17 +00:00
rcourtman a490ba2b7e Canonicalize reporting transport filenames and format errors 2026-03-26 09:15:15 +00:00
rcourtman 78ba7dcc2a Move reporting guidance into catalog 2026-03-25 23:47:00 +00:00
rcourtman 445c2d49ef Remove redundant inventory definition route 2026-03-25 23:40:22 +00:00
rcourtman 51067ed034 Move reporting locked copy into catalog 2026-03-25 23:28:26 +00:00
rcourtman 3d85fde176 Drive reporting default ranges from catalog 2026-03-25 22:56:20 +00:00
rcourtman 3a7a39996d Canonicalize reporting handler contract 2026-03-25 22:54:14 +00:00
rcourtman 7728b352c0 Canonicalize reporting settings catalog 2026-03-25 22:27:35 +00:00
rcourtman bb6571fd20 Define VM inventory export schema contract 2026-03-25 22:09:37 +00:00
rcourtman 2b93a08558 Carry Proxmox pool membership into VM inventory export 2026-03-25 21:58:46 +00:00
rcourtman b0e76b00ae Add canonical VM inventory export surface 2026-03-25 21:26:25 +00:00
rcourtman 00a3817d9e fix(hosted): normalize AI defaults and seed quickstart credits 2026-03-25 15:22:17 +00:00
rcourtman 778a2577b6 feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
rcourtman 3a02dd171b fix(proxmox): add GetClusterOptions to ClusterClient for tag colour fetch 2026-03-15 19:51:20 +00:00
rcourtman caff845c1a fix(ui): use Proxmox tag colours from datacenter config
Pulse was generating tag colours from a hash of the tag name instead
of using the colours configured in Proxmox. Now polls /cluster/options
once per PVE instance and merges the tag-style colour map into state,
which the frontend uses as the first-priority colour source for tag
badges. Falls back to the existing special-tag and hash-based colours
when Proxmox hasn't set a custom colour for a tag.
2026-03-15 19:49:46 +00:00
rcourtman 499ab812e3 Fix post-release regressions and lock v5 to single-tenant runtime 2026-03-05 23:46:35 +00:00
rcourtman ac83074fc2 fix(hostmetrics): skip network mounts before usage probe (#1313) 2026-03-03 20:27:41 +00:00
rcourtman adad2bbd1c fix(server): fail fast on frontend bind errors 2026-03-03 15:43:22 +00:00
rcourtman b38488f2da fix(proxmox): stabilize pulse monitor token lifecycle 2026-03-03 10:57:19 +00:00
rcourtman 0ae2806f18 fix(memory): add guest agent /proc/meminfo fallback to avoid VM memory inflation (#1270)
Proxmox status.Mem includes page cache as "used" memory, inflating
reported VM usage. The existing fallbacks (balloon meminfo, RRD, linked
host agent) were frequently unavailable, causing most VMs to fall
through to the inflated status-mem source.

Adds a new last-resort fallback that reads /proc/meminfo via the QEMU
guest agent file-read endpoint to get accurate MemAvailable. Results
are cached (60s positive, 5min negative backoff for unsupported VMs).

Also fixes: RRD memavailable fallback missing from traditional polling
path, cache key collisions in multi-PVE setups, FreeMem underflow
guard inconsistency, and integer overflow in kB-to-bytes conversion.
2026-02-20 13:31:52 +00:00
rcourtman 8c7d507ea4 fix(alerts): make --disk-exclude suppress Proxmox SSD wear/health alerts (#1142)
The --disk-exclude agent flag only filtered local metric collection but
had no effect on server-side Proxmox disk health and SSD wearout alerts,
which poll the Proxmox API directly. Users excluding disks (e.g.
--disk-exclude sda) still received alerts for those disks.

Agent now sends its DiskExclude patterns in each report. The server
stores them on the Host model and consults them during Proxmox disk
polling — excluded disks get a synthetic healthy status passed to
CheckDiskHealth so any existing alerts clear immediately.

Also adds FreeBSD pseudo-filesystem types (fdescfs, devfs, linprocfs,
linsysfs) to the virtual FS filter and /var/run/ to special mount
prefixes, fixing false disk-full alerts on FreeBSD for fdescfs mounts.
2026-02-20 13:31:52 +00:00
rcourtman 74d46807d8 fix(test): update /var/lib/docker fsfilter expectation to match new skip=false behavior
(cherry picked from commit 6671a0d5a654ef8d0b023bd610e5c2fd5fedbf8b)
2026-02-18 12:59:23 +00:00
rcourtman a54d71117b fix(proxmox): prevent guest agent errors from marking endpoints unhealthy
Backport of v6 commits a87c9950 and 347d7db1.

Part 1 (a87c9950): Wrap the four guest agent c.get() errors with
fmt.Errorf("guest agent ...: %w", err) so isVMSpecificError() correctly
scopes them to the VM rather than the cluster endpoint.

Part 2 (347d7db1): Replace the 20+ pattern blocklist in
executeWithFailover with an allowlist via isEndpointConnectivityError().
Only true TCP/DNS/TLS failures mark an endpoint unhealthy. Any HTTP
response from Proxmox — including 500 — proves the node is reachable
and returns the error without affecting endpoint health.
2026-02-18 12:59:20 +00:00