You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PR #81 batched-SKU work landed for Azure Cache/Cosmos/Database but Compute was scoped back because common.ComputeDetails has no fields for vCPU / MemoryGB. Adding those fields is a cross-provider schema change (AWS + Azure + GCP converters + frontend display + matchers) — out of scope for the Azure-specific PR. Tracking the cross-provider work here so the Azure compute enrichment isn't forgotten.
Current behaviour
pkg/common/types.go::ComputeDetails has only InstanceType / Platform / Tenancy / Scope. The Azure compute converter at providers/azure/services/compute/client.go populates only InstanceType and adds a godoc comment explaining why vCPU/MemoryGB are deferred. The catalogue lookup helper added in PR #81 is not wired for Compute.
Steps to reproduce / verify the gap
grep -n "vCPU\|MemoryGB" pkg/common/types.go
# Returns nothing — fields don't exist in ComputeDetails
grep -n "ComputeDetails{" providers/azure/services/compute/client.go
# Returns the converter call site populating only InstanceType
Expected behaviour
ComputeDetails carries VCPU int + MemoryGB float64 (or whatever the AWS/GCP catalogue calls them). All 3 cloud converters populate them where the catalogue allows. Frontend renders the new fields when present.
Proposed fix (4-step migration)
Extend pkg/common/types.go::ComputeDetails with VCPU int + MemoryGB float64 (and update GetDetailDescription if needed).
AWS compute converter (providers/aws/services/ec2/client.go or wherever ComputeDetails is built): populate from EC2 instance-type catalogue (likely already cached server-side).
Low — UI degrades to "unknown" for vCPU/MemoryGB columns when present; functional but loses resolution.
Effort
Medium — schema change touches all 3 providers + frontend + matchers + tests. Best handled as a single coordinated PR (all-or-nothing migration to avoid leaving the schema half-extended).
Summary
PR #81 batched-SKU work landed for Azure Cache/Cosmos/Database but Compute was scoped back because
common.ComputeDetailshas no fields forvCPU/MemoryGB. Adding those fields is a cross-provider schema change (AWS + Azure + GCP converters + frontend display + matchers) — out of scope for the Azure-specific PR. Tracking the cross-provider work here so the Azure compute enrichment isn't forgotten.Current behaviour
pkg/common/types.go::ComputeDetailshas onlyInstanceType/Platform/Tenancy/Scope. The Azure compute converter atproviders/azure/services/compute/client.gopopulates onlyInstanceTypeand adds a godoc comment explaining why vCPU/MemoryGB are deferred. The catalogue lookup helper added in PR #81 is not wired for Compute.Steps to reproduce / verify the gap
Expected behaviour
ComputeDetailscarriesVCPU int+MemoryGB float64(or whatever the AWS/GCP catalogue calls them). All 3 cloud converters populate them where the catalogue allows. Frontend renders the new fields when present.Proposed fix (4-step migration)
pkg/common/types.go::ComputeDetailswithVCPU int+MemoryGB float64(and updateGetDetailDescriptionif needed).providers/aws/services/ec2/client.goor whereverComputeDetailsis built): populate from EC2 instance-type catalogue (likely already cached server-side).vCPUs/MemoryGBcapabilities fromarmcompute.ResourceSKU.Capabilities.providers/gcp/services/compute/client.go): same pattern from GCP machine-type catalogue.pkg/common/types_test.gofor the new fields.References
known_issues/10_azure_provider.md(existing context on the deferred Compute fields)pkg/common/types.go::ComputeDetails,providers/{aws,azure,gcp}/services/compute/client.go,frontend/src/recommendations.ts(drawer)Severity
Low — UI degrades to "unknown" for vCPU/MemoryGB columns when present; functional but loses resolution.
Effort
Medium — schema change touches all 3 providers + frontend + matchers + tests. Best handled as a single coordinated PR (all-or-nothing migration to avoid leaving the schema half-extended).