Commit graph

650 commits

Author SHA1 Message Date
rcourtman
fc5325ab80 Add resource data handling settings surface 2026-04-25 20:23:40 +01:00
rcourtman
fb6b53268a Harden release Docker key embedding cache 2026-04-24 17:21:04 +01:00
rcourtman
3ffdf785f1 Split hosted runtime image build contract 2026-04-24 11:33:20 +01:00
rcourtman
5d3e1af969 Restore hosted runtime readiness after storage cleanup 2026-04-24 09:35:57 +01:00
rcourtman
c4f1e8d7cb Avoid tenant runtime image copy-up 2026-04-24 09:21:42 +01:00
rcourtman
bd138beeca Improve Pulse Assistant approval continuity 2026-04-24 09:13:39 +01:00
rcourtman
c51708000f Tighten unified agent hardening proof 2026-04-23 23:37:25 +01:00
rcourtman
72945d04f4 Harden Pulse Assistant approval planning
Persist approval requests as governed planned actions with context confidence and stream that plan into Pulse Assistant approvals.
Reuse the planned action identity when approved actions execute so the unified audit trail stays continuous.
2026-04-23 23:36:57 +01:00
rcourtman
88683cc32f Add Pulse Cloud public signup smoke 2026-04-23 23:09:10 +01:00
rcourtman
9bada35337 Harden unified agent runtime and installer 2026-04-23 23:04:18 +01:00
rcourtman
d57987d48d Govern Pulse Cloud control plane ownership 2026-04-23 22:54:57 +01:00
rcourtman
eaa2b7d31d docs: gate paid Pro release readiness 2026-04-23 22:16:38 +01:00
rcourtman
b4692ef7f0 Encode canonical self-hosted feature metadata 2026-04-23 15:30:42 +01:00
rcourtman
a5687cd22e Formalize v6 paid-surface classification 2026-04-23 14:53:41 +01:00
rcourtman
3cbb62a40d Document update signer continuity for future releases 2026-04-22 20:36:49 +01:00
rcourtman
f58840e8a8 Guard forward release signing against trust-root drift 2026-04-22 19:59:18 +01:00
rcourtman
48e4ec818c Make self-hosted settings plan-owned 2026-04-22 19:49:50 +01:00
rcourtman
c0f48b27ba Grant release validation workflow required permissions 2026-04-22 17:47:13 +01:00
rcourtman
9c2e3d5ffb Add historical backfill mode to create-release workflow 2026-04-22 17:43:37 +01:00
rcourtman
16ad67a9b5 Add historical release asset backfill workflow 2026-04-22 17:25:58 +01:00
rcourtman
f96abc5ee0 Publish signed release-packet SBOM assets 2026-04-22 16:49:29 +01:00
rcourtman
21dde76c6f Validate signed release sidecar assets 2026-04-22 16:30:01 +01:00
rcourtman
a442eb6bda Normalize hot-dev auth defaults 2026-04-22 16:28:52 +01:00
rcourtman
a60fa03d7f Route operator updates through the local signed helper 2026-04-22 16:18:16 +01:00
rcourtman
ce95ef1fc6 Require signed server installer updates 2026-04-22 15:41:54 +01:00
rcourtman
dad0529a2f Domain-separate relay channel HKDF derivation 2026-04-22 15:04:09 +01:00
rcourtman
e8b93db1e1 Harden dev agent deploy SSH host verification 2026-04-22 11:41:50 +01:00
rcourtman
ca26ed2f44 Pin Dockerfile base images by digest 2026-04-22 11:22:46 +01:00
rcourtman
21950c6e4c Restore QNAP agent boot and update continuity
Refs #1420

Refs #1422
2026-04-22 10:48:43 +01:00
rcourtman
74df03c78c Pin workflow actions and CI image versions 2026-04-22 10:12:15 +01:00
rcourtman
c0ac251316 Require target-organization approval for org shares 2026-04-22 09:16:40 +01:00
rcourtman
1841c032f6 Pin deployment defaults and verify Helm docs downloads 2026-04-22 06:05:06 +01:00
rcourtman
70b91759d2 Harden secure local key file handling 2026-04-22 05:13:01 +01:00
rcourtman
4720807ae5 Require signed installer downloads and local release sidecars 2026-04-22 03:51:46 +01:00
rcourtman
96034f5e10 Attest release artifacts and harden image provenance 2026-04-22 03:22:29 +01:00
rcourtman
f7c1d9b629 Require accepted org invitations and stable runtime capabilities 2026-04-22 03:06:22 +01:00
rcourtman
7be844f23a Require signed unified agent release assets 2026-04-22 02:00:29 +01:00
rcourtman
669908acd4 Normalize workloads and recovery page headers 2026-04-21 17:51:33 +01:00
rcourtman
1cad23fd4c Drive infrastructure catalog grouping from platform manifest 2026-04-21 17:24:22 +01:00
rcourtman
4711d11163 Fix fresh Proxmox LXC installs defaulting to RC 2026-04-20 23:11:46 +01:00
rcourtman
4bd023fe1c infra: align agent-led add landing with Proxmox auto-detect 2026-04-20 22:48:34 +01:00
rcourtman
6db9aeadcf Prepare the v6 stable promotion candidate 2026-04-20 14:09:17 +01:00
rcourtman
f62b6f5e6d Promote Pulse Account to a governed lane 2026-04-20 09:37:15 +01:00
rcourtman
d75b10df57 phase 9 — retire stop-monitoring & legacy per-type shells
Delete the stop-monitoring dialog plus the retired per-type settings
shells now that the unified ConnectionEditor replaces them: remove
PlatformConnectionsWorkspace / ProxmoxSettingsPanel /
ProxmoxDirectWorkspace / NodeModal et al and the accompanying tests.
Strip the lingering reporting-state hook from
useInfrastructureOperationsState and the guardrail test reinforces the
removal. Reconcile registry.json, frontend-primitives.md,
api-contracts.md, agent-lifecycle.md, status.json, and the
release-control guard/test fixtures so governance audits stay clean.
2026-04-19 16:55:05 +01:00
rcourtman
9c3d96cab2 Add unified connections API (list + probe) with Disabled flag
Introduces GET /api/connections and POST /api/connections/probe as the
backend half of the one-ledger / one-editor connection redesign.

- GET /api/connections aggregates PVE/PBS/PMG/VMware/TrueNAS/agent rows
  into a unified Connection shape with derived state (active, paused,
  unauthorized, unreachable, stale, pending) computed from in-memory
  scheduler health plus agent Host.LastSeen. No new persisted state.
- POST /api/connections/probe fingerprints a host across the five
  supported products in parallel (2s dial + 1s read, 3s total, max 5
  concurrent). Admin-gated (RequireAdmin + ScopeSettingsWrite) to block
  unauthenticated SSRF against internal hosts.
- Disabled bool on PVEInstance/PBSInstance/PMGInstance (zero-value =
  enabled, preserves existing nodes.json); pollers skip disabled
  instances at client init, reconnect, and per-node iteration.
- NodeConfigRequest/Response gain Enabled; write path translates
  *bool -> Disabled so omitted field leaves state untouched.
- ConnectionsAPI frontend client (list/probe) typed off the Go shape.

Contracts updated: api-contracts, monitoring, agent-lifecycle,
performance-and-scalability, storage-recovery. Proofs added:
contract_test.go JSON snapshot for Connection and ProbeResponse,
monitoring guardrails for the Disabled-skip behavior, and a vitest
mock-client test for ConnectionsAPI.

Frontend editor / drawer / table rewrite lands in a separate block.
2026-04-19 11:42:53 +01:00
rcourtman
329f59eddb Add health-state indicators to Infrastructure, Storage, Workloads, and Recovery summaries
Summary cards now show degraded/alerting/failing counts rather than raw
online/offline splits, giving operators an at-a-glance health posture without
drilling into the full resource list.

- InfrastructureSummary/infrastructureSummaryModel: adds degraded and alerting
  counts derived from resource statuses and active alerts
- StorageSummary/StoragePageSummary/useStoragePageSummary: adds poolsDegraded
  and disksFailing indicators, shows "all healthy" when zero degradation
- WorkloadsSummary/useDashboardWorkloadDerivedState: adds alerting guest count
  from activeAlerts accessor, included in summary header counts
- RecoverySummary: adds aggregate health-state summary row
- useDashboardState: threads alertsEnabled through workload derived state
- Fix monitored-system cap test helper to use TierEnterprise so limits are
  honored (self-hosted tiers are now uncapped per the v6 product model)
- Update registry and governance test snapshots to include
  useStoragePageSummary.test.ts in the storage-product-surface proof set
2026-04-19 08:35:45 +01:00
rcourtman
295753be1a Move infrastructure IA split into settings shell 2026-04-18 20:45:30 +01:00
rcourtman
d78bc64583 Recenter infrastructure settings on monitored systems 2026-04-18 18:46:25 +01:00
rcourtman
8883e36f0b Collapse infrastructure settings to ledger-first workspace 2026-04-18 17:13:34 +01:00
rcourtman
847d09d17b Unify settings infrastructure ledger 2026-04-18 14:54:53 +01:00