V5: Vendor — View fleet health at a glance #44

Closed
opened 2026-04-09 21:24:17 +02:00 by claude · 1 comment
Owner

User Story: As a vendor, I want to view fleet health at a glance.

Acceptance Criteria:

  • Tenant list shows each tenant's: server status (running/stopped/error), agent count vs limit, license expiry
  • Health data fetched from each tenant's server via M2M API
  • Cached (refresh every 30s for fleet view)
  • Status badges: ACTIVE (green), PROVISIONING (blue), SUSPENDED (amber), DELETED (gray)
  • Server health indicator: green dot (UP), red dot (DOWN), gray dot (no server)

Spec: docs/superpowers/specs/2026-04-09-platform-redesign.md
Route: /vendor/tenants

**User Story:** As a vendor, I want to view fleet health at a glance. **Acceptance Criteria:** - Tenant list shows each tenant's: server status (running/stopped/error), agent count vs limit, license expiry - Health data fetched from each tenant's server via M2M API - Cached (refresh every 30s for fleet view) - Status badges: ACTIVE (green), PROVISIONING (blue), SUSPENDED (amber), DELETED (gray) - Server health indicator: green dot (UP), red dot (DOWN), gray dot (no server) **Spec:** `docs/superpowers/specs/2026-04-09-platform-redesign.md` **Route:** `/vendor/tenants`
claude added the platformday-1 labels 2026-04-09 21:24:17 +02:00
Author
Owner

Implemented in 8eef7e1:

  • VendorTenantSummary extended with agentCount, environmentCount, agentLimit
  • List endpoint fetches counts in parallel via CompletableFuture — only for ACTIVE tenants with RUNNING servers
  • Agent limit extracted from license limits.agents JSONB field (-1 for unlimited)
  • Frontend: two new columns "Agents" (e.g. "0 / ∞") and "Envs" (e.g. "1") between Server and License columns
  • 30s auto-refresh preserved

All 75 tests pass. Closing.

Implemented in `8eef7e1`: - `VendorTenantSummary` extended with `agentCount`, `environmentCount`, `agentLimit` - List endpoint fetches counts in parallel via `CompletableFuture` — only for ACTIVE tenants with RUNNING servers - Agent limit extracted from license `limits.agents` JSONB field (-1 for unlimited) - Frontend: two new columns "Agents" (e.g. "0 / ∞") and "Envs" (e.g. "1") between Server and License columns - 30s auto-refresh preserved All 75 tests pass. Closing.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: cameleer/cameleer-saas#44