docs: propose quota display names and product grouping#619
Open
mattdjenkinson wants to merge 2 commits into
Open
docs: propose quota display names and product grouping#619mattdjenkinson wants to merge 2 commits into
mattdjenkinson wants to merge 2 commits into
Conversation
Add an enhancement proposal for surfacing human-readable resource labels and product-level grouping on the quota system. Key changes proposed: - New cluster-scoped Product CRD under quota.miloapis.com/v1alpha1 carrying display name and description for a product (e.g. AI Edge) - New optional displayName and productRef fields on ResourceRegistrationSpec so each registered resource can advertise its friendly label and product membership - Propagation of display metadata into AllowanceBucket.status so the cloud portal renders the quota page from a single list call - Staff-portal admin surface for curating Product objects and editing the new display fields, layered on top of the Kubernetes API Tracking issue: datum-cloud/enhancements#735
Two pieces of feedback on datum-cloud/enhancements#735: 1. Drop the separate Product CRD. Service-layer modelling belongs in the upcoming Milo service catalog, not in quota.miloapis.com. Add taxonomy fields (product, productDisplayName, category) directly to ResourceRegistrationSpec instead. The service catalog will populate spec.taxonomy once it lands; for now operators author it directly. 2. Drop controller-driven propagation into AllowanceBucket.status. Join registration metadata to buckets at the GraphQL layer via a field resolver with a per-request DataLoader and short TTL cache. No AllowanceBucket CRD changes; ResourceRegistration stays the single source of truth. Cloud-portal switches the quota page to a GraphQL query (already the pattern used for organizations/users). Staff-portal edit surface narrows to ResourceRegistration display-field editing — no Products admin since there is no Product resource.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add a design doc proposing display-name and product-grouping support for the quota system, so the cloud-portal quota page can render
HTTP Routesunder anAI Edgegroup instead of raw API identifiers likegateway.networking.k8s.io/httproutes.The doc proposes:
ProductCRD underquota.miloapis.com/v1alpha1carrying product display metadata.displayNameandproductReffields onResourceRegistrationSpec.AllowanceBucket.statusso the portal renders the page from a single list call. DanglingproductRefis tolerated and surfaced via a status condition.Backward-compatible: empty
displayNamefalls back toresourceType; missingproductRefgroups under "Other".Tracking issue
datum-cloud/enhancements#735
File
docs/enhancements/quota/display-names-and-products.md