Skip to content

Coverage sub-tab: implement per-provider coverage breakdowns (replace 'coming soon' stub) #754

@cristim

Description

@cristim

Symptom

Inventory & Coverage > Coverage sub-tab displays a placeholder:

Per-provider coverage breakdowns are coming soon. Your overall coverage rate is on the Home dashboard.

No actual data shown. The Home dashboard's "Current Coverage" KPI is 0% for the test data, which doesn't help users diagnose where coverage is lacking.

What we need

Per-provider coverage breakdowns -- for each of AWS, Azure, GCP, display:

  • Total committed usage (vCPU-hours, RDS instance-hours, etc., grouped by service)
  • Total on-demand / uncovered usage in the same dimensions
  • Coverage % per provider, per service
  • Drilldown (or hover) showing which accounts contribute most uncovered usage

Why it matters

Users need to understand WHERE their coverage gaps are so they can target purchases. A single overall coverage % doesn't tell them whether the gap is AWS EC2, RDS, or Azure compute. Without this view, the Home page KPI is a vanity metric.

Scope notes

This is non-trivial:

  • Backend: needs a new aggregation endpoint (or extension of the existing one) that joins commitment data with on-demand usage by (provider, service, account) and returns the breakdown. Likely uses the same CE / Cost Explorer + Azure Consumption / GCP Billing data already fetched for the dashboard.
  • Frontend: new module for the Coverage sub-tab; table layout per provider, with totals and a coverage %, ideally sortable by gap size.
  • Cross-cloud consistency: each provider exposes coverage differently (AWS has CE GetReservationCoverage / GetSavingsPlansCoverage; Azure has different views; GCP has Active Assist coverage). Must normalise.

Acceptance criteria

  • Coverage sub-tab shows the per-provider breakdown when there is data.
  • Empty providers show a clear empty-state ("No usage detected for AWS in this account") rather than a global "coming soon" stub.
  • Refresh / period selector consistent with other views.
  • Drilldown by service within provider (at minimum: compute, database, cache as separate rows).

Out of scope

  • Forecasting future coverage.
  • Recommending specific purchases (Opportunities page already does this).

Files likely involved

  • New backend handler in internal/api/ (e.g. handler_coverage.go).
  • Provider-side: existing CE coverage code; need to confirm parity for Azure and GCP.
  • Frontend: new module in frontend/src/modules/coverage.ts and update to frontend/src/inventory.ts (or similar).

Source

QA exploratory testing, 2026-05-27.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions