Commit Graph

1797 Commits

Author SHA1 Message Date
rcourtman 0c76b5d756 Stabilize API test log capture 2026-08-31 19:47:01 +01:00
rcourtman 17a1c2096d Decouple WebSocket contract tests from monitor workload 2026-08-31 17:59:38 +01:00
pulse-triage[bot] 1bb23545b6 Require TrueNAS API key owner identity
Change-source: pulse-maintainer
2026-08-31 17:09:53 +01:00
rcourtman bbdc2d5413 Stabilize WebSocket contract tests under release load 2026-08-31 16:32:56 +01:00
rcourtman 669cce6787 Restore main CI after guardrail and contract drift
Three consecutive main runs were red because landed features outran their
guardrails while change detection kept the affected shards out of their own
runs.

- Resync shipped copies of API.md, CODE_SIGNING_POLICY.md, and
  PRODUCTION_SECURITY.md from repo docs.
- Track the schema v16 telemetry disclosure (workload-history adoption
  counts) in the settings architecture guardrail.
- Track route-scoped TrueNAS hydration queries and the conditional Kind
  column class in the platform overview layout guardrails.
- Track the contained command-authority copy (legacy combined command
  profile) in the installer and setup guide tests.
- Match the sentence-split delivery retention copy in AlertDeliveryLogCard.
- Provide selectedAgentUrl, insecureMode, and customCaPath in the
  InfrastructureWorkspace operations mock for the safe-collector commands.
- Include the resource list facets block in the two API contract snapshots,
  normalizing the direct-marshal fixture the way every handler does.
- Require the fail-closed installer checksum wording in the
  AGENT_SUBSTRATE doc contract.
2026-08-31 06:26:53 +01:00
pulse-triage[bot] 92b5f3a9e1 Bound security request decoding 2026-08-31 01:43:55 +01:00
Richard Courtman 79967177ea Enforce explicit SSO administrator grants 2026-08-31 00:43:42 +01:00
pulse-triage[bot] 0f2d7ae055 Make notification delivery failures actionable 2026-08-31 00:39:53 +01:00
Richard Courtman 08f7c5f0d5 Harden secure agent runtime boundaries 2026-08-31 00:06:24 +01:00
Pulse Test 16a1574a18 Add multi-location service delivery evidence 2026-08-30 21:44:32 +01:00
Richard Courtman d9e9bf3679 Prove production action runner credential lifecycle 2026-08-30 21:03:37 +01:00
Richard Courtman 77afff4f60 Bind action runner to enrolled agent identity 2026-08-30 18:49:12 +01:00
Pulse Test 6ee3b7e24e Add discovery-led service assurance onboarding 2026-08-30 18:40:06 +01:00
Richard Courtman 770733fc92 Make action runner rotation activation-safe 2026-08-30 18:00:33 +01:00
Pulse Test c0b190bfa1 Add application response contracts to availability checks 2026-08-30 17:38:59 +01:00
Richard Courtman 34849268e5 Enforce collector credential scope allowlists 2026-08-30 17:18:38 +01:00
pulse-triage[bot] 323da54067 Support agent retargeting after server moves 2026-08-30 16:17:15 +01:00
Pulse Test 712f1a3bfe Add availability history and fleet view 2026-08-30 15:38:34 +01:00
Pulse Test 7e92ac8118 Harden secure runtime separation boundaries 2026-08-30 14:26:01 +01:00
Pulse Test 161e322ee0 Add workload history discovery lens 2026-08-30 13:49:58 +01:00
pulse-triage[bot] 68887f7114 Bound chart response cache retention 2026-08-30 12:55:50 +01:00
Richard Courtman 87fda2a235 Scope provider inventory hydration by route 2026-08-30 09:32:35 +01:00
pulse-triage[bot] 74cf2c1283 Require authority for infrastructure actions 2026-08-30 08:36:31 +01:00
pulse-triage[bot] ac2a2fe020 Complete release and helper download safeguards 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 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 6d4ee48000 Add typed agent privilege helper 2026-08-29 22:51:58 +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-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-triage[bot] 9e8cdde75c Keep first-run credential reset atomic
Commit restart-time token revocation before clearing live authentication or sessions. Restore auth environment files and remove the staged bootstrap credential when token persistence fails, preserving a usable retry path.

Contract-Neutral: hardens development reset failure handling without changing successful API payloads or extension contracts
2026-08-29 06:16:52 +01:00
pulse-triage[bot] 56fc9b8255 Keep token issuance atomic on persistence failure
Restore the complete live token inventory when durable writes fail during legacy regeneration, quick security setup, and container-runtime token preparation. Return an error instead of exposing or claiming an unpersisted credential.

Contract-Neutral: hardens internal failure handling without changing successful API payloads or extension contracts
2026-08-29 05:19:19 +01:00
Pulse Test 473885e2ce Harden Patrol activation telemetry 2026-08-28 11:35:41 +01:00
pulse-triage[bot] 0c2d3f6d80 Keep agent install token issuance atomic
Restore the complete prior API-token inventory when an agent install credential cannot be persisted, so failed issuance neither admits an undisclosed secret nor evicts an older valid token. Prove the package and API failure boundaries and govern the shared lifecycle contract.

Change-source: pulse-maintainer
2026-08-28 07:33:22 +01:00
pulse-triage[bot] 73be3df3c5 Keep API token creation atomic
Restore the complete pre-creation token inventory when persistence fails so sorting cannot evict an older valid token or leave an unreturned credential active. Govern and test the durable creation boundary across API, security, agent lifecycle, and storage.

Change-source: pulse-maintainer
2026-08-28 07:08:08 +01:00
Pulse Test 5ee1cdd002 Make informational alerts a first-class severity 2026-08-28 00:45:20 +01:00
Pulse Test ff6c6a7fe7 Make mock alert history lifecycle-consistent 2026-08-27 23:36:55 +01:00
rcourtman 8ade613dfd Add complete mock alert timelines 2026-08-27 22:04:26 +01:00
rcourtman 1878245cdb Make alert incident timelines complete 2026-08-27 21:42:25 +01:00
rcourtman a9076de15a fix(patrol): require Docker health recovery 2026-08-27 20:43:54 +01:00
pulse-triage[bot] f9340e3334 Complete Docker action verification proof
Change-source: pulse-maintainer
2026-08-27 20:19:17 +01:00
rcourtman 6163a2a564 feat(patrol): verify Docker actions independently 2026-08-27 20:14:38 +01:00
pulse-triage[bot] 5f6bfefa56 Make notification destination updates durable 2026-08-27 19:46:40 +01:00
rcourtman 1164d37302 feat(patrol): reconcile actionable findings on activation 2026-08-27 19:44:02 +01:00
rcourtman 8df9db7ab1 feat(alerts): add destination severity routing 2026-08-27 19:13:32 +01:00
pulse-triage[bot] e1d05e7b12 Make deploy enrollment credentials atomic 2026-08-27 18:49:41 +01:00
rcourtman 3d4c43162a feat(alerts): add recurring scoped maintenance 2026-08-27 18:20:03 +01:00