@@ -34,12 +34,35 @@ type ResourceStrategyType string
3434
3535const ResourceStrategyTypeNodeAllocatablePercentage ResourceStrategyType = "NodeAllocatablePercentage"
3636
37+ // ResourceMinMax defines optional min/max bounds for a single resource.
38+ type ResourceMinMax struct {
39+ // Min is the lower bound for requests.
40+ // +optional
41+ Min * resource.Quantity `json:"min,omitempty"`
42+ // Max is the upper bound for requests.
43+ // +optional
44+ Max * resource.Quantity `json:"max,omitempty"`
45+ }
46+
47+ // ResourceConstraints defines optional per-resource min/max bounds for requests.
48+ type ResourceConstraints struct {
49+ // +optional
50+ CPU * ResourceMinMax `json:"cpu,omitempty"`
51+ // +optional
52+ Memory * ResourceMinMax `json:"memory,omitempty"`
53+ }
54+
3755// ResourceStrategy selects a strategy for dynamic resource sizing.
3856type ResourceStrategy struct {
3957 Type ResourceStrategyType `json:"type"`
4058
4159 // +optional
4260 NodeAllocatablePercentage * NodeAllocatablePercentage `json:"nodeAllocatablePercentage,omitempty"`
61+
62+ // Constraints define optional min/max bounds for dynamically resolved requests.
63+ // When present, resolved requests are clamped to [min, max].
64+ // +optional
65+ Constraints * ResourceConstraints `json:"constraints,omitempty"`
4366}
4467
4568// NodeAllocatablePercentage represents the node allocatable percentage configuration.
0 commit comments