Commit Graph

7771 Commits

Author SHA1 Message Date
rcourtman 292baf308b Fix PBS backup discovery regression from bounded polling
The RC3 memory bound for PBS backup polling summarized any group with
more than 8 snapshots into a single synthesized entry built from group
metadata. A synthesized entry has no verification, size, file, or
per-snapshot time data, so most real deployments saw every backup as
Unverified with no size, PBS files not listed, and a backup timeline
collapsed onto the latest backup day.

Keep the issue #1524 memory bounds but derive them from real data:
always fetch snapshots for stale groups, retain the newest bounded set
per group (limit raised from 8 to 100 to cover real keep policies), and
keep the newest-first global live-state cap. Remove the synthesized
group placeholder path entirely and update the monitoring subsystem
contract and tests to pin real-snapshot bounding.

Fixes #1541
Refs #1524
2026-07-07 22:48:34 +01:00
rcourtman 0ad22fe2d5 Mirror the canonical workspace layout in governance CI
The release-control audits resolve repo identity from the checkout
directory name and expect evidence repos as siblings under one repos
root. The hosted runner checked the repo out at Pulse/Pulse, so
canonical_repo_id returned Pulse instead of pulse and the registry
audit treated every local file reference as untracked (2655 errors).
Check out the main repo at repos/pulse and the evidence repos as
repos/pulse-pro, repos/pulse-enterprise, and repos/pulse-mobile, run
all steps from repos/pulse, and point the PULSE_REPO_ROOT_* env vars
at the new paths.
2026-07-07 22:41:38 +01:00
rcourtman 6c181f5f82 Restore pulse:test image build in update integration tests
The dual-key revert (1490a6e6e) removed the docker build line for the
pulse:test image instead of restoring the single-key version, leaving
the step with a bare cd and nothing building the image. Compose then
tried to pull pulse:test from Docker Hub and every run failed before
test execution. Build the runtime target the same way test-e2e.yml
does. The PULSE_LICENSE_PUBLIC_KEY env on the step was dead config:
env vars do not reach docker build and the Dockerfile no longer
declares that ARG.
2026-07-07 22:32:36 +01:00
rcourtman 6f5771d973 Authenticate governance evidence repo checkouts with WORKFLOW_PAT
The Canonical Governance workflow checked out the private pulse-pro,
pulse-enterprise, and pulse-mobile evidence repos with the default
workflow token, which cannot see other private repos, so every run
failed at the pulse-pro checkout. Use the existing WORKFLOW_PAT
secret (already used by create-release.yml to dispatch private Pro
workflows) and avoid persisting the credential in the checkout.
2026-07-07 22:32:25 +01:00
rcourtman c6fdd9058c Allow clearing SSO provider restriction fields from Settings
Empty allowedGroups, allowedDomains, allowedEmails, groupsClaim and
groupRoleMappings in a provider PUT were silently restored from the
existing config, so an admin could never clear them. The guards
shielded against lossy round-trips that no longer exist: the detail
GET and the flat list response both carry these fields, so an empty
value is an intentional clear. Nested OIDC/SAML config and the client
secret stay preserved since toggle payloads omit them and secrets are
never echoed in reads.

Also expose groupsClaim and groupRoleMappings in the shared extensions
list response so the enterprise list matches the core one, and make
the Settings enable/disable toggle send only writable fields; the old
list-item spread included computed response fields that the enterprise
strict PUT decoder rejects.
2026-07-07 22:04:46 +01:00
rcourtman 887513c020 Move report schedule selects onto shared FormSelect primitive
The MSP report scheduling form used raw native <select> elements,
failing the settings architecture guardrail that keeps Settings
selects on the shared labelled primitive. Cadence, Weekday, Format,
and Delivery now render through FormSelect, which also links each
label to its control.
2026-07-07 21:53:41 +01:00
rcourtman 8355335e08 Clarify v5 migration recovery states 2026-07-07 21:46:07 +01:00
rcourtman 89d9f51258 Record OIDC scope fix resolution in handoff spec 2026-07-07 21:44:23 +01:00
rcourtman 87aac4e575 Add OIDC scope editing to SSO provider settings
Settings never rendered the oidc.scopes field, so admins could not
request an extra group scope and the authorization request stayed at
the default openid profile email. Adds the Scopes input to the OIDC
create/edit modal, points the Groups Claim help text at it, and covers
the create/edit round-trip with model and panel tests.

References #1535.
2026-07-07 21:41:17 +01:00
rcourtman 4b645f4dd2 Add OIDC scope group auth fix spec 2026-07-07 21:09:13 +01:00
rcourtman 4043c466f6 Extend MSP install proof for portal rollups 2026-07-07 20:49:55 +01:00
rcourtman 4382919447 Add MSP report scheduling and alert rollup 2026-07-07 20:37:18 +01:00
rcourtman d43255889d Point relay pairing at the Pulse Mobile install page
A Relay customer who enables Remote Access and generates a pairing QR
has nothing to scan it with: Pulse Mobile is early access and its
install links live on the authenticated download page, which nothing
in the pairing flow mentioned. Add the pointer to the pairing help
text, pin it in the panel contract test, and give docs/RELAY.md the
same install path instead of 'join early access when available'.
2026-07-07 20:04:36 +01:00
rcourtman 8113f3e8c3 Ensure Helm Pages publishes release chart 2026-07-07 19:21:48 +01:00
rcourtman 155023d86a Add mobile impact gate to release dispatch 2026-07-07 18:21:20 +01:00
rcourtman 1fad0948d4 Clear expired work claim 2026-07-07 18:01:02 +01:00
rcourtman 0ff922ca16 Prepare v6.0.5 RC3 release packet
Refs #1535
v6.0.5-rc.3 helm-chart-6.0.5-rc.3
2026-07-07 16:48:12 +01:00
rcourtman eb99d7a6b3 Fix SSO session display labels
Refs #1535
2026-07-07 16:35:07 +01:00
rcourtman 57139c65c5 Fix mobile onboarding URL handoff sanitization 2026-07-07 15:12:59 +01:00
rcourtman e1cddca2d1 Prepare v6.0.5 RC2 release packet
Refs #1470

Refs #1471

Refs #1476

Refs #1483

Refs #1511

Refs #1515

Refs #1516

Refs #1524

Refs #1533

Refs #1534
v6.0.5-rc.2 helm-chart-6.0.5-rc.2
2026-07-07 10:50:49 +01:00
rcourtman 022f170dff Prefer route-aware Proxmox host URLs 2026-07-07 10:37:10 +01:00
rcourtman 3dd2ecd198 Add Proxmox token smoke diagnostics
Refs #1476
2026-07-07 10:10:16 +01:00
rcourtman ffd50a0052 Complete threshold-aware temperature displays
Refs #1534
2026-07-07 10:00:33 +01:00
rcourtman 1c8a9346ef Fix legacy OIDC SSO discovery and CSP nonce
Refs #1533
2026-07-07 09:54:14 +01:00
rcourtman a8ce7a2919 Prove bounded PBS backup polling
Refs #1524
2026-07-07 09:52:10 +01:00
rcourtman d52231855d Fix Proxmox token preservation regressions
Refs #1470, #1476, #1511
2026-07-07 09:49:26 +01:00
rcourtman 58ece3c1b8 Fix physical disk SMART/Proxmox merge identity
Refs #1516

Refs #1483

Refs #1471
2026-07-07 09:46:51 +01:00
rcourtman 8eed26d653 Bound PBS backup polling memory
Refs #1524
2026-07-07 09:42:54 +01:00
rcourtman 6d17e117bb Fix threshold-aware temperature severity
Refs #1534
2026-07-07 09:38:29 +01:00
rcourtman b503ee6fd3 Fix legacy agent update token recovery
Refs #1515
2026-07-07 09:31:21 +01:00
rcourtman dded079297 Prepare v6.0.5 RC1 release packet
Refs #1530

Refs #1531

Refs #1471
v6.0.5-rc.1 helm-chart-6.0.5-rc.1
2026-07-07 00:12:09 +01:00
rcourtman 4b669ad9b5 Fix SAT SMART temperature collection
Refs #1471
2026-07-06 23:42:00 +01:00
rcourtman 41a99c1a03 Prepare v6.0.5 patch release
Refs #1530

Refs #1531
2026-07-06 23:29:17 +01:00
rcourtman 5b6e7dc35e Harden release validator portability
Make release validation resolve repository paths before entering external release directories, and execute extracted Linux release binaries through Docker when the host cannot run them directly.
2026-07-06 23:23:09 +01:00
rcourtman af7f7c5d11 Fix Gemini Patrol tool-call readiness
Refs #1530
2026-07-06 23:01:16 +01:00
rcourtman 6f9f310ba6 Fix login remember-me submit state
Refs #1531
2026-07-06 22:41:27 +01:00
rcourtman 1d7fa6c4bf Prepare v6.0.4 release v6.0.4 helm-chart-6.0.4 2026-07-06 16:50:59 +01:00
rcourtman 4a597fa425 Fix legacy audit monotonic timestamps
Refs #1464
2026-07-06 16:20:55 +01:00
rcourtman 7ddc2fcb47 Fix Docker app-container percent normalization
Refs #1525
2026-07-06 16:11:36 +01:00
rcourtman 7edfa1bb86 Fix Docker container URL metadata identity
Refs #1490
2026-07-06 15:48:26 +01:00
rcourtman 92951532e3 Fix host agent clock-skew liveness
Refs #1519
2026-07-06 15:07:12 +01:00
rcourtman 6f582671b0 Fix Proxmox live chart CPU fallback
Refs #1525
2026-07-06 15:05:18 +01:00
rcourtman ebd61ee109 Fix empty Docker facet tab admission
Refs #1518
2026-07-06 14:48:07 +01:00
rcourtman 64f0711f51 Fix remembered login and Patrol readiness copy 2026-07-06 14:40:55 +01:00
rcourtman 21b15e6755 Fix Proxmox read-state CPU normalization
Refs #1525
2026-07-06 14:33:41 +01:00
rcourtman 926c6bd433 Fix legacy agent update recovery
Refs #1515
2026-07-06 14:01:26 +01:00
rcourtman e7334e66e4 Allow local DNS agent HTTP URLs
Refs #1522
2026-07-06 13:53:19 +01:00
rcourtman caa9b41834 Fix OIDC provider detail persistence
Refs #1521
2026-07-06 11:18:18 +01:00
rcourtman fce4317176 Fix PBS backup memory retention
Refs #1524
2026-07-06 10:32:38 +01:00
rcourtman c9c5f34eb4 Fix host metric percent normalization
Apply token-gated command policy when deriving connection fleet state.
2026-07-06 10:08:36 +01:00