Commit Graph

9947 Commits

Author SHA1 Message Date
Pulse Test 161e322ee0 Add workload history discovery lens 2026-08-30 13:49:58 +01:00
pulse-triage[bot] 8724f6b9e5 Continuously verify stable release delivery 2026-08-30 13:10:22 +01:00
pulse-triage[bot] 9393b710da Preflight immutable release publication 2026-08-30 12:55:51 +01:00
pulse-triage[bot] 68887f7114 Bound chart response cache retention 2026-08-30 12:55:50 +01:00
pulse-triage[bot] 21367b655d Make Patrol finding outcomes discoverable 2026-08-30 11:25:06 +01:00
Richard Courtman 1e805afc4b Avoid full-estate settings hydration 2026-08-30 10:03:34 +01:00
Pulse Test 5be6706428 Verify secure runtime qualification provenance 2026-08-30 09:46:29 +01:00
pulse-triage[bot] 2fca8c957b Authenticate published release sidecars 2026-08-30 09:38:23 +01:00
Richard Courtman 87fda2a235 Scope provider inventory hydration by route 2026-08-30 09:32:35 +01:00
Pulse Test 36dd5b9119 Bind secure runtime proof to committed main 2026-08-30 09:27:45 +01:00
Pulse Test cb843e37e8 Qualify separate action runner lifecycle 2026-08-30 09:07:27 +01:00
pulse-triage[bot] 74cf2c1283 Require authority for infrastructure actions 2026-08-30 08:36:31 +01:00
pulse-triage[bot] f70da05467 Bind Helm delivery to release provenance 2026-08-30 07:34:56 +01:00
pulse-triage[bot] 918d87c47a Add automated accessibility regression coverage 2026-08-30 06:58:13 +01:00
pulse-triage[bot] 71c16e8da9 Surface GPU telemetry on Proxmox nodes 2026-08-30 06:45:44 +01:00
pulse-triage[bot] 0d32dac16e Keep release toolchains within support 2026-08-30 06:40:25 +01:00
pulse-triage[bot] 366fe3f293 Inherit runtime availability history limits 2026-08-30 05:49:15 +01:00
pulse-triage[bot] ca238e97ac Define availability history product contract 2026-08-30 05:47:43 +01:00
pulse-triage[bot] e66f6a26f7 Fail closed when installing MCP binaries
Verify the signed release checksum manifest against Pulse's pinned SSH key before either MCP installer accepts a downloaded binary. Remove the unsigned bypass and require one exact digest entry.

Include bare Unix MCP executables in release checksum/signature assembly, cover unavailable, invalid, ambiguous, mismatched, and successful evidence paths with executable regression tests, and enforce MCP installer pins against the configured release key.
2026-08-30 05:11:55 +01:00
pulse-triage[bot] d8986c139a Enforce workflow data trust boundaries
Contract-Neutral: Moves workflow expressions into environment data flow without changing deployment interfaces or behavior.
2026-08-30 04:56:34 +01:00
pulse-triage[bot] a2bfadba7b Enforce workflow execution trust boundaries 2026-08-30 04:44:25 +01:00
pulse-triage[bot] f9ffbf701a Strengthen dependency maintenance contracts 2026-08-30 04:05:02 +01:00
pulse-triage[bot] 560c2de026 Automate dependency trust maintenance 2026-08-30 04:02:27 +01:00
pulse-triage[bot] 95a7191ca9 Enforce native private state permissions 2026-08-30 03:31:00 +01:00
pulse-triage[bot] f1ddfce083 Improve TrueNAS storage disk scannability 2026-08-30 02:27:41 +01:00
pulse-triage[bot] ee6bb64d72 Honor cgroup v1 service memory limits
Resolve the process memory-controller hierarchy before selecting the tightest v1 hard limit, so systemd and nested appliance limits actually inform the existing Go runtime headroom.

Contract-Neutral: runtime memory-limit detection only; no API or persistence contract change
2026-08-30 02:15:36 +01:00
pulse-triage[bot] 184b3cbfa6 Restore Windows native agent verification 2026-08-30 02:05:30 +01:00
pulse-triage[bot] b001ad8ef1 Classify Proxmox guest lifecycle transport 2026-08-30 01:51:58 +01:00
pulse-triage[bot] ac2a2fe020 Complete release and helper download safeguards 2026-08-30 01:51:58 +01:00
pulse-triage[bot] 718de25b2b Bind release activation to trusted provenance 2026-08-30 01:51:58 +01:00
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