Commit Graph

9917 Commits

Author SHA1 Message Date
Pulse Test d06ffc233d Harden secure agent runtime transitions 2026-08-30 01:41:57 +01:00
Pulse Test 5d3571dbe8 Scope remaining provider inventory hydration 2026-08-30 00:42:18 +01:00
Pulse Test 5b2e377843 Expose secure agent runtime posture 2026-08-30 00:38:44 +01:00
Pulse Test 28be70071e Link the canonical /msp URL from the README
/msp is the canonical public URL; /msp.html is kept only as a platform
compatibility redirect. The README is the single highest-traffic surface
that links the MSP page, so it should not route through the redirect.
2026-08-30 00:14:13 +01:00
Pulse Test 3f1ffb6769 Merge latest main 2026-08-30 00:12:54 +01:00
Pulse Test 471c607e38 Optimize provider inventory hydration 2026-08-30 00:12:29 +01:00
Pulse Test 6405c47064 Clear Docker host removal block on fresh-token re-enroll
Removing a Docker host blocks its reports, but the report path only ever
consulted the in-memory block and offered no way for a legitimate
re-enroll to clear it: reinstalling the agent with a newly generated
token kept being rejected until a server restart happened to wipe the
in-memory map, which read as the Docker tab staying missing until the
Pulse server was rebooted. The restart also silently lifted deliberate
blocks, because the persisted entry was never consulted on report.

Docker reports now follow the host-agent rule from #1581: the block
check consults both the in-memory map and the persisted store, and a
token minted after the removal is explicit re-enroll intent that clears
the block from both. A still-running old agent presenting its
pre-removal token stays blocked, including across restarts.

Refs #1728
2026-08-30 00:07:53 +01:00
Pulse Test 54c3cdc061 Let fresher evidence decide merged connection member state
When the Proxmox node inventory and the unified resource registry both
project the same machine as a system member, the merge paired the most
severe state from one plane with the newest LastSeen from the other. A
lapsed projection, such as an orphaned registry entry left behind by a
remove/re-enroll cycle, could therefore permanently render a member as
Stale beside a heartbeat seconds old, and the cluster rollup inherited
the contradiction onto the parent row.

The plane that has seen the machine more recently now decides liveness.
Severity still decides when neither side carries evidence or the
timestamps tie, so genuinely offline members keep their state.

Refs #1728
2026-08-30 00:02:15 +01:00
Pulse Test d607d5cf46 Separate agent remediation runtime 2026-08-29 23:48:28 +01:00
Pulse Test 1720fd635b Harden CodeQL-scanned input boundaries 2026-08-29 23:42:23 +01:00
Pulse Test a628fc3063 Merge remote-tracking branch 'origin/main' into HEAD 2026-08-29 23:40:07 +01:00
Pulse Test 69f4cbeb74 Fix vSphere workload first paint 2026-08-29 23:36:27 +01:00
pulse-triage[bot] e67e4a7c5f Bind container promotion to attested digests 2026-08-29 22:56:12 +01:00
Pulse Test 6d4ee48000 Add typed agent privilege helper 2026-08-29 22:51:58 +01:00
pulse-triage[bot] 3099085475 Correct release subsystem registry numbering 2026-08-29 22:42:21 +01:00
pulse-triage[bot] 7e7fb53911 Gate release publication on immutable setting 2026-08-29 22:41:04 +01:00
pulse-triage[bot] 4d60d679f0 Bind activation marker to release attestation 2026-08-29 22:23:54 +01:00
pulse-triage[bot] 1a48d3cbd6 Honor namespaced cgroup memory limits 2026-08-29 22:23:54 +01:00
Pulse Test a966264bb1 Contain agent command authority 2026-08-29 22:12:41 +01:00
Pulse Test 6453593b4b Plan secure agent runtime separation 2026-08-29 21:34:58 +01:00
pulse-triage[bot] d8f8f78c2c Document integrated update and navigation contracts 2026-08-29 21:31:37 +01:00
pulse-triage[bot] 5cfa0f26b6 fix(frontend): use links for mobile navigation 2026-08-29 20:51:20 +01:00
pulse-triage[bot] 8c65d716f4 Expose honest Proxmox update evidence 2026-08-29 20:51:19 +01:00
pulse-triage[bot] 5926b4dc38 Align release integrity proof fixture 2026-08-29 20:03:39 +01:00
pulse-triage[bot] 1d170de364 Require immutable attested releases 2026-08-29 19:59:04 +01:00
pulse-triage[bot] 08581a2bc9 fix(frontend): use links for desktop navigation 2026-08-29 19:11:56 +01:00
pulse-triage[bot] a8b53ca205 Bound idle gzip compression memory 2026-08-29 18:55:06 +01:00
pulse-triage[bot] 61a58758b2 Stabilize telemetry candidate validation
Fail schema-version drift in the fast E2E preflight before starting the browser matrix, and align the stable telemetry preview proof with schema 15.

Change-source: pulse-maintainer
2026-08-29 18:21:50 +01:00
pulse-triage[bot] 5a5232a048 fix(frontend): keep stacked dialog focus on top layer
Change-source: pulse-maintainer
2026-08-29 18:21:50 +01:00
pulse-triage[bot] 4e1e02a243 Keep PBS history open across refreshes
Change-source: pulse-maintainer
2026-08-29 18:21:50 +01:00
pulse-triage[bot] 3e66f042a5 Document shipped availability probe coverage
Change-source: pulse-maintainer
2026-08-29 18:21:50 +01:00
Pulse Test 6db3cc8616 fix(alerts): correlate linked outage signals 2026-08-29 18:19:00 +01:00
Pulse Test d671f05408 fix(alerts): stabilize noisy lifecycle signals 2026-08-29 17:32:17 +01:00
Pulse Test a506cdde8b Separate notification server errors from rejections 2026-08-29 16:57:44 +01:00
Pulse Test 938f0d1063 chore(release-control): release SMART alert evidence claim 2026-08-29 16:56:18 +01:00
Pulse Test 9c914ff6ae fix(alerts): hold SMART incidents on unknown evidence 2026-08-29 16:54:18 +01:00
Pulse Test ed5de5d144 fix(frontend): align desktop drawer detail cards 2026-08-29 16:40:17 +01:00
pulse-triage[bot] 974f102333 Stabilize E2E tier test identity
Treat Playwright source coordinates as presentation metadata so cold transform-cache line mappings cannot split one test across all/stable/probation listings. Pin project, spec, and full-title identity with a focused Node regression.

Change-source: pulse-maintainer
2026-08-29 16:31:54 +01:00
pulse-triage[bot] 3de3cd320d Deliver alerts from first startup reports
Wire outbound alert callbacks before a monitor is published so immediately reconnecting agents cannot create active warnings in the constructor-to-Start gap. Add a pre-Start custom-sensor regression and bind the ordering in monitoring and agent lifecycle contracts.

Change-source: pulse-maintainer
2026-08-29 16:20:20 +01:00
pulse-triage[bot] f29e7397b1 Complete schema 14 privacy disclosure
Name every outbound alert-quality field in both operator-facing privacy documents, lock the current schema value in verification, and align the alert-manager adoption test with the telemetry contract.

Change-source: pulse-maintainer
2026-08-29 15:23:28 +01:00
pulse-triage[bot] 523bb3f705 Synchronize monitoring governance fixture
Include the newly accepted reload proof in the canonical guard's exact monitoring-runtime expectation.

Change-source: pulse-maintainer
2026-08-29 15:03:25 +01:00
pulse-triage[bot] 1d9c71c575 Re-run canonical release validation
The prior contract-neutral reason was separated from the final trailer block and canonical governance could not parse it. Restore a current branch verdict without changing the validated implementation.

Change-source: pulse-maintainer
2026-08-29 14:58:24 +01:00
pulse-triage[bot] e3c0990e15 Stabilize release validation boundaries
Authenticate global API tokens before cold tenant runtime resolution, lock the cross-org behavior into integration coverage, and refresh schema-14 telemetry browser proof.

Contract-Neutral: Restores bounded cross-org token authorization and records verification without changing the API contract

Change-source: pulse-maintainer
2026-08-29 14:54:04 +01:00
Pulse Test 0df9747bd7 Add privacy-safe alert quality telemetry 2026-08-29 14:00:28 +01:00
pulse-triage[bot] 88da3e05c9 Document persistent agent log level control
Change-source: pulse-maintainer
2026-08-29 13:55:32 +01:00
pulse-triage[bot] 75a240ad1c Classify offline Proxmox node failures accurately
Treat node-scoped HTTP 595 responses as debug-level resource unavailability instead of repeated authentication warnings. Preserve warnings and returned errors for real credential failures.

Refs #1794.

Contract-Neutral: corrects internal log severity without changing API, resource, or extension contracts
Change-source: pulse-maintainer
2026-08-29 13:16:21 +01:00
pulse-triage[bot] 5a72efa002 Ship the issue triage contract
Change-source: pulse-maintainer
2026-08-29 12:44:25 +01:00
pulse-triage[bot] 6cb5d3046b Preserve secondary issue feedback
Contract-Neutral: issue-triage intake only; no product, deployment, or release contract change
Change-source: pulse-maintainer
2026-08-29 12:24:03 +01:00
Pulse Test b75a5aeec2 Add release service health telemetry 2026-08-29 11:24:53 +01:00
pulse-triage[bot] db7e26deac Document TrueNAS parsing in v6.4.1 v6.4.1 helm-chart-6.4.1 2026-08-29 11:22:24 +01:00