Commit Graph

126 Commits

Author SHA1 Message Date
rcourtman 435cf816fb Harden Discovery command-scan gating 2026-05-20 12:40:04 +01:00
rcourtman 90482607da Bind Proxmox install command tokens on first use 2026-05-19 09:47:05 +01:00
rcourtman 976e7c6b42 Add settings discovery refresh action
- expose a manual discovery sweep API

- wire Assistant & Patrol settings to run new, changed, and stale workload refreshes
2026-05-15 23:27:08 +01:00
rcourtman 82a2494ffa Add action execution safety contract 2026-05-04 23:19:58 +01:00
rcourtman 2040285085 Add action decision API 2026-05-04 22:56:55 +01:00
rcourtman 99129d0c09 Retire product upgrade metrics runtime
Remove local upgrade-metrics API registration, settings payload wiring, startup store migration, and backend conversion recorder hooks from the normal product runtime.

Delete the retired conversion/funnel and metering packages from compiled licensing code, and extend diagnostics boundary audits and governance contracts so maintainer commercial analytics cannot return through Settings or diagnostics.
2026-04-30 12:24:22 +01:00
rcourtman c743a231b8 Retire dashboard landing surface 2026-04-29 16:25:09 +01:00
rcourtman 0b52968cd0 Retire self-hosted trial start route 2026-04-28 15:05:58 +01:00
rcourtman 649516cab4 Fix API auth failure handling
Make direct CheckAuth failures return explicit auth-required responses while preserving route-specific auth errors through shared response capture.

Align API contract tests with uncapped self-hosted monitoring, route-local config import/export auth, and marketed entitlement upgrade reasons.
2026-04-26 17:26:16 +01:00
rcourtman 60d7db6ef9 Harden agentexec token binding and disk filtering 2026-04-23 15:54:48 +01:00
rcourtman 2806cc6c9e Split audit log access into dedicated token scope 2026-04-22 07:59:12 +01:00
rcourtman ccb2edc3b8 Require explicit websocket origin continuity 2026-04-22 04:46:13 +01:00
rcourtman 14fc2bd4f0 Fail closed on wildcard trusted proxy configuration 2026-04-22 04:23:23 +01:00
rcourtman 3ec2c0779e Harden agent command and deploy trust boundaries 2026-04-21 23:50:34 +01:00
rcourtman 9bac3f421d Fix agent-token fallback to reject cross-org tokens and update security contract test
Two test regressions introduced when agent-report tokens were allowed as
fallback auth for /api/auto-register:

1. Org mismatch was not checked: a token belonging to org-a could authenticate
   a request whose context carried org-b. Add an explicit org consistency check
   before setting authenticated=true in the fallback path.

2. The security regression test assumed only setup tokens could authenticate
   auto-register. That contract has intentionally changed: agent-report tokens
   can now authenticate but are restricted to updating existing nodes (403 for
   new-node attempts). Update the test to assert the actual security boundary.
2026-04-18 23:10:50 +01:00
rcourtman 5ebb3d9952 Harden session and setup token auth flows 2026-04-18 00:06:50 +01:00
rcourtman cceca653dc Compact dashboard demo hot path 2026-04-10 18:30:39 +01:00
rcourtman 8d97bc3995 Tighten dashboard summary hot paths 2026-04-10 17:32:30 +01:00
rcourtman 38c8237a4f Add monitored-system admission previews for platform connections 2026-04-08 22:20:42 +01:00
rcourtman 7062f556dc Resolve BYOK models from live provider catalogs 2026-04-03 11:33:03 +01:00
rcourtman 9b19cb4446 Implement VMware vCenter connections slice 2026-03-30 17:56:37 +01:00
rcourtman 4524edc51e fix(truenas): retest saved connections canonically 2026-03-30 10:49:19 +01:00
rcourtman 893d003c0a Merge origin/pulse/v6-release and fix reconciled API regressions 2026-03-28 21:14:54 +00:00
rcourtman 5f436f11af Canonicalize relay mobile capability boundary 2026-03-28 19:32:42 +00:00
Richard Courtman ab370201d4 fix(api): bind router teardown to owned auth stores 2026-03-26 21:43:30 +00:00
rcourtman 8916bc0669 fix(release): align api and hostagent rc contracts 2026-03-26 17:12:27 +00:00
rcourtman 2afb96ee13 fix(release): align api and hostagent rc contracts 2026-03-26 17:08:48 +00:00
rcourtman 445c2d49ef Remove redundant inventory definition route 2026-03-25 23:40:22 +00:00
rcourtman 899466d13a Ungate reporting catalog metadata 2026-03-25 23:24:12 +00:00
rcourtman 7728b352c0 Canonicalize reporting settings catalog 2026-03-25 22:27:35 +00:00
rcourtman 86a3f2161c fix(onboarding): allow relay mobile pairing scope 2026-03-25 13:40:29 +00:00
rcourtman 8ba8f0b475 fix(relay): introduce dedicated mobile runtime scope 2026-03-24 23:59:52 +00:00
rcourtman 3b6e48d5ce fix(relay): mint server-owned mobile access tokens 2026-03-24 23:37:14 +00:00
rcourtman 778a2577b6 feat: Pulse v6 release 2026-03-18 16:06:30 +00:00
rcourtman a6f6f66078 Improve auto-register auth errors and setup token grace window (#1319)
The /api/auto-register endpoint returned a generic "Invalid or expired
setup code" for all auth failures, making cluster registration issues
impossible to diagnose. Now returns specific errors for expired tokens,
wrong scope, invalid API tokens, etc.

Also extend the setup token grace window to /api/auto-register so
multiple cluster nodes can register with the same token within the
1-minute grace period after first use.
2026-03-07 13:39:26 +00:00
rcourtman 499ab812e3 Fix post-release regressions and lock v5 to single-tenant runtime 2026-03-05 23:46:35 +00:00
rcourtman d43dfbc490 feat(ui): add host removal action to hosts table
Add an actions menu to the hosts overview with a "Remove host from
Pulse" button. Includes permission checks (requires settings:write
scope), confirmation handling, and a security regression test for
the delete endpoint scope enforcement.
2026-03-01 23:28:33 +00:00
rcourtman 0f961054c6 fix: allow agent tokens to auto-register Proxmox nodes
The security hardening in beae4c86 added a settings:write scope
requirement to /api/auto-register, but agent install tokens only have
host-agent:report scope. This broke Proxmox auto-registration for all
agent-generated tokens. Accept either settings:write or host-agent:report
scope for auto-registration.

Fixes #1191
2026-02-04 22:55:25 +00:00
rcourtman 7e55c4dc52 Expand proxy non-admin coverage for permissioned routes 2026-02-04 18:12:30 +00:00
rcourtman 422271d103 Require proxy admin for permissioned endpoints 2026-02-04 18:11:12 +00:00
rcourtman 4741307c4c Require proxy admin for quick security setup 2026-02-04 18:08:40 +00:00
rcourtman 25285e64bc Require proxy admin for AI test endpoints 2026-02-04 16:30:22 +00:00
rcourtman 5a494b10a5 Cover proxy auth for AI settings updates 2026-02-04 16:27:48 +00:00
rcourtman 34f35f0322 Protect discovery notes secrets for proxy users 2026-02-04 16:25:16 +00:00
rcourtman 12038e4e9a Guard discovery settings against proxy non-admin 2026-02-04 16:23:08 +00:00
rcourtman a2f01f14af Require proxy admin for token regeneration 2026-02-04 16:19:57 +00:00
rcourtman 0867490ae0 Block proxy non-admin password changes 2026-02-04 16:17:00 +00:00
rcourtman 27d8cc92dc Cover proxy auth on config export/import 2026-02-04 16:13:15 +00:00
rcourtman ce9ee2481a Enforce proxy user RBAC via RequirePermission 2026-02-04 16:11:41 +00:00
rcourtman f7bc69fac2 Add AI reapprove scope and license tests 2026-02-04 16:04:46 +00:00