Pulse/internal
rcourtman 0fcf9944b3 docker + vsphere: bespoke host tables; project uptime/temp on docker-host adapter
Audit pass on Docker Hosts and vSphere Hosts.

Docker hosts had `docker.uptimeSeconds` and `docker.temperature` in
the payload but the canonical adapter never projected them to the
top-level `Resource.Uptime` / `Resource.Temperature` fields the table
reads, so both columns showed dashes. Same projection pattern as the
prior commits in this chain (c7bdd11e0 for host/node, 5b94724bf for
TrueNAS). Live mock now reports `uptime: 781089, temperature: 44.3°C`
on the Docker host row.

vSphere ESXi hosts had a richer column-fit problem: the generic
infrastructure table omits the vCenter inventory context that
matters most for the operator — datacenter, cluster, power state,
datastore count, VM count, vCenter — and shows dashes for Uptime /
Temperature because the upstream VMware inventory model does not
expose host bootTime today (canonical-model gap, not a projection
bug). New `VsphereHostsTable` reuses canonical shared primitives
(Card, Table, SearchInput, FilterButtonGroup, StatusDot) and
surfaces the vCenter-native columns; per-host VM count is computed
from the page scope client-side (no extra API calls). Mounted on
`/vmware/overview` in place of the generic infrastructure table.

New `DockerHostsTable` (mounted on `/docker/overview`) does the
parallel job for Docker / Podman hosts: runtime (Docker vs Podman),
runtime version, container count, Swarm role, plus CPU / Memory /
Uptime / Temp from the canonical metrics + new projections.

Browser verification (Playwright, chromium, live mock-mode):
- 9 tests pass; every-sub-tab operator-controls audit still finds
  the canonical search input on /docker/overview and /vmware/overview
  (now from each bespoke table's toolbar).

Targeted Go: `go test ./internal/unifiedresources/...` green.

Contract-neutral bypass: PULSE_ALLOW_CONTRACT_NEUTRAL_COMMIT set.
Continues the column-fit audit chain (c7bdd11e05b94724bf69f70a3fc). New Uptime/Temperature projection is strictly additive
on existing AgentData/DockerData payloads; the two new bespoke
tables live inside features/ and reuse canonical primitives only.
2026-05-16 13:02:06 +01:00
..
actionplanner Fail closed dry-run action execution 2026-05-05 09:22:04 +01:00
agentexec add verify_window to agentexec command policy 2026-05-12 21:53:49 +01:00
agenttls Add fingerprint-pinned TLS mode for unified agent 2026-04-22 01:36:46 +01:00
agentupdate Harden unified agent runtime and installer 2026-04-23 23:04:18 +01:00
ai Align discovery prompt governance 2026-05-15 23:11:59 +01:00
alerts Replay quiet-hours alert notifications 2026-05-13 11:54:56 +01:00
api Add settings discovery refresh action 2026-05-15 23:27:08 +01:00
bootstrap
cloudcp Ensure cloud emails use support reply-to 2026-05-13 12:10:02 +01:00
config persist remind_at and remind_count on will_fix_later findings 2026-05-13 01:13:38 +01:00
crypto Harden secure local key file handling 2026-04-22 05:13:01 +01:00
deploy Remove monitored-system volume caps 2026-05-05 12:59:59 +01:00
discovery
dockeragent Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
hostagent Clarify storage topology and recovery guards 2026-05-14 20:51:32 +01:00
hosted Canonicalize legacy hosted signup principals 2026-05-04 22:52:00 +01:00
hostmetrics
kubernetesagent Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
license Remove monitored-system volume caps 2026-05-05 12:59:59 +01:00
logging Stabilize backend race tests for v6 RC publish 2026-04-11 22:46:34 +01:00
maintenancesentinel Record maintenance evidence in resource timelines 2026-05-13 14:19:59 +01:00
metrics
mock platforms: scale K8s clusters to 3 + fix VMware storage source matching 2026-05-16 11:43:41 +01:00
mockmode Gate release mock fixtures behind demo entitlement 2026-04-10 12:33:57 +01:00
mockmodel Sharpen mock summary isolation and role shaping 2026-04-01 12:21:36 +01:00
mockruntime Gate release mock fixtures behind demo entitlement 2026-04-10 12:33:57 +01:00
models Clarify storage topology and recovery guards 2026-05-14 20:51:32 +01:00
monitoring platforms: scale K8s clusters to 3 + fix VMware storage source matching 2026-05-16 11:43:41 +01:00
notifications Fix grouped notification cancellation 2026-05-13 13:00:43 +01:00
platformsupport Show platform versions in system badges 2026-05-08 15:07:09 +01:00
recovery add VerifyIntent rollup substrate 2026-05-12 22:23:55 +01:00
relay Aggregate simplify-review cleanups (no behavior change) 2026-05-12 17:32:11 +01:00
remoteconfig Fix default agent rollout status noise 2026-05-14 14:37:24 +01:00
repoctl Fix pre-commit sibling roots in worktrees 2026-05-13 15:56:19 +01:00
securityutil Allow insecure dev HTTP agent runtime URLs 2026-04-23 13:48:54 +01:00
sensors
servicediscovery Add settings discovery refresh action 2026-05-15 23:27:08 +01:00
ssh/knownhosts
storagehealth Fix Unraid storage health explanations 2026-05-08 12:18:09 +01:00
system
telemetry Canonicalize usage-data telemetry reporting 2026-04-14 11:05:10 +01:00
testutil Stabilize rc1 mock mode and metrics history 2026-04-11 16:47:37 +01:00
truenas truenas: bespoke Systems + Disks tables; project uptime/temp on the system row 2026-05-16 12:51:36 +01:00
unifiedresources docker + vsphere: bespoke host tables; project uptime/temp on docker-host adapter 2026-05-16 13:02:06 +01:00
updates Verify SSHSIG on in-app update artifacts 2026-05-09 23:14:07 +01:00
updatesignature Fix v6 demo release signing key deployment 2026-05-05 21:40:14 +01:00
utils
vmware platforms: close remaining gaps — Swarm services, vSphere fixtures, TrueNAS systems, source-filter suppression 2026-05-16 08:35:44 +01:00
websocket Fix RC3 backend release blockers 2026-05-01 21:36:28 +01:00