mirror of
https://github.com/rcourtman/Pulse.git
synced 2026-05-20 09:23:27 +00:00
Mock pages were sparse: 3 Proxmox nodes × 3 VMs × 3 LXCs, 2 Docker hosts × 5 containers, 1 K8s cluster × 3 nodes × 10 pods × 4 deployments. That populated platform pages with handfuls of rows rather than table density that exercises sorting, grouping, drawers, and responsive layout. Bump `internal/mock/generator.go::DefaultConfig` to target a mature small-to-mid homelab / SMB environment: - NodeCount: 3 → 5 (matches the curated demo scenario's pve1..pve5 regional naming) - VMsPerNode: 3 → 6 - LXCsPerNode: 3 → 8 - DockerHostCount: 2 → 5 - DockerContainersPerHost: 5 → 14 - GenericHostCount: 2 → 4 - K8sClusterCount: 1 (unchanged; the curated demo and broadcast coalesce tests assume a single cluster identity) - K8sNodesPerCluster: 3 → 5 - K8sPodsPerCluster: 10 → 40 - K8sDeploymentsPerCluster: 4 → 14 Resource survey under the new defaults (live mock backend): - TOTAL 307 unique resources (was ~50-100) - app-container: 75, storage: 55, system-container: 44, pod: 40, vm: 31, physical_disk: 19, agent: 15, k8s-deployment: 14, docker-host: 5, network-endpoint: 5, pmg: 2, pbs: 1, k8s-cluster: 1 Platform pages now feel populated under mock mode: - /docker/overview: 5 hosts (was 2) - /docker/containers: 75 containers (was 13) - /kubernetes/nodes: 5 (was 3) - /kubernetes/pods: 40 (was 10) - /kubernetes/deployments: 14 (was 4) `internal/mock/demo_scenarios.go` extended to season `local`, `local-zfs`, and per-node iso/service-pool storage names for pve6 and beyond, so future NodeCount bumps don't regress the curated demo into generic "service-pool" labels (a test guard explicitly forbids that alias). A new `TestDemoScenarioStorageNamingHandlesScaledNodeCount` covers the scaled-NodeCount path. `internal/monitoring/monitor_unified_state_test.go` updated to compare the broadcast count against the coalesced snapshot count rather than the raw snapshot count — the broadcast path merges resources that share a canonical host key (K8s nodes onto linked agent hosts), so larger fixture sizes legitimately produce more merge candidates, and the prior raw-equality assertion would have broken on any future fixture growth too. The test still asserts every canonical name and mock identity it checked before. `scripts/toggle-mock.sh` (`mock_default_entries`) and the matching `scripts/tests/test-toggle-mock.sh` assertions are aligned with the new defaults so `npm run mock:edit` and per-dev `.env` seeding match the canonical baseline. Contracts updated: - `monitoring.md` Shared Boundaries: records the new DefaultConfig target sizes and the requirement that demo-scenario seasoning stay aligned with NodeCount changes. - `deployment-installability.md` Shared Boundaries: records that `mock_default_entries()` in toggle-mock.sh must stay aligned with `internal/mock.DefaultConfig` so CLI/toggle/runtime mock densities never drift apart. Targeted Go tests: - `go test ./internal/mock/...` green - `go test ./internal/monitoring/...` green Playwright (chromium, live mock-mode dev runtime): - 9 tests, all pass; populated assertions now hit dense tables (5 hosts, 14+ containers, 40 pods, etc.). Known remaining fixture gaps (canonical adapter, not config): - VMware fixture inventory in `internal/vmware/fixtures.go` is hardcoded at 4 hosts / 6 VMs / 4 datastores; not scaled in this commit. - TrueNAS fixture inventory in `internal/truenas/fixtures.go` is similarly hardcoded; not scaled in this commit. |
||
|---|---|---|
| .. | ||
| dev | ||
| eval | ||
| installtests | ||
| lib | ||
| lint-fixer | ||
| release_control | ||
| systemd | ||
| tests | ||
| .go-version | ||
| audit-private-boundary.sh | ||
| backfill-release-assets.sh | ||
| build-release.sh | ||
| bundle.manifest | ||
| bundle.sh | ||
| check-bench-regression.sh | ||
| check-workflow-dispatch-inputs.py | ||
| clean-mock-alerts.sh | ||
| cleanup.sh | ||
| cloud-backup.sh | ||
| com.pulse.hot-dev.plist.template | ||
| conformance-smoke.sh | ||
| demo_public_browser_smoke.cjs | ||
| dev-check.sh | ||
| dev-deploy-agent.sh | ||
| dev-launchd-setup.sh | ||
| dev-launchd-wrapper.sh | ||
| docker-build.sh | ||
| ensure_test_assets.sh | ||
| exclusive-lock.mjs | ||
| generate-release-notes.sh | ||
| generate-self-hosted-feature-catalog.go | ||
| generate-types.go | ||
| hot-dev-bg.sh | ||
| hot-dev.sh | ||
| install-container-agent.sh | ||
| install-docker.sh | ||
| install-go-toolchain.sh | ||
| install-mcp.ps1 | ||
| install-mcp.sh | ||
| install.ps1 | ||
| install.sh | ||
| package-helm-chart.sh | ||
| patrol_e2e_matrix.sh | ||
| pulse-auto-update.sh | ||
| release_asset_common.sh | ||
| release_ldflags.sh | ||
| release_update_key.go | ||
| remerge-parallel.sh | ||
| render_installers.go | ||
| repo-boundary-paid-surface.allowlist | ||
| run_cloud_public_signup_smoke.sh | ||
| run_demo_public_browser_smoke.sh | ||
| run_hosted_staging_smoke.sh | ||
| session-handoff.sh | ||
| standalone.manifest | ||
| sync-production-config.sh | ||
| sync_chart_release_metadata.py | ||
| telemetry_adoption_report.py | ||
| test-vm-disk.sh | ||
| toggle-mock.sh | ||
| trigger-release-dry-run.sh | ||
| trigger-release.sh | ||
| validate-published-release.sh | ||
| validate-release.sh | ||