@@ -65,6 +65,16 @@ type GPUStatus struct {
6565
6666 // +optional
6767 RunningApps []* RunningAppDetail `json:"runningApps,omitempty"`
68+
69+ // +optional
70+ // PartitionTemplates contains available partition templates for this GPU (e.g., MIG profiles)
71+ // Reported from discovery, each template has fixed resource allocation
72+ PartitionTemplates []PartitionTemplate `json:"partitionTemplates,omitempty"`
73+
74+ // +optional
75+ // AllocatedPartitions tracks allocated partitions on this GPU
76+ // Key is partitionUUID, value contains template info and allocated resources
77+ AllocatedPartitions map [string ]AllocatedPartition `json:"allocatedPartitions,omitempty"`
6878}
6979
7080// +kubebuilder:validation:Enum=tensor-fusion;nvidia-device-plugin
@@ -98,6 +108,36 @@ type PodGPUInfo struct {
98108 QoS QoSLevel `json:"qos,omitempty"`
99109}
100110
111+ // PartitionTemplate represents a hardware partition template (e.g., MIG profile)
112+ // Only stores template ID and name in GPU status. Detailed resource information
113+ // is stored in public GPU info config.
114+ type PartitionTemplate struct {
115+ // TemplateID is the unique identifier for this partition template (e.g., "1g.24gb", "4g.94gb")
116+ TemplateID string `json:"templateId"`
117+
118+ // Name is a human-readable name for this template
119+ Name string `json:"name"`
120+ }
121+
122+ // AllocatedPartition represents an allocated partition on a GPU
123+ // Key in AllocatedPartitions map is podUID
124+ type AllocatedPartition struct {
125+ // TemplateID is the template used to create this partition
126+ TemplateID string `json:"templateId"`
127+
128+ // PodUID is the UID of the pod using this partition (used as map key)
129+ PodUID string `json:"podUid"`
130+
131+ // PodName is the name of the pod using this partition
132+ PodName string `json:"podName"`
133+
134+ // Namespace is the namespace of the pod using this partition
135+ Namespace string `json:"namespace"`
136+
137+ // AllocatedAt is when this partition was allocated
138+ AllocatedAt metav1.Time `json:"allocatedAt"`
139+ }
140+
101141// +kubebuilder:validation:Enum=Pending;Provisioning;Running;Unknown;Destroying;Migrating
102142type TensorFusionGPUPhase string
103143
0 commit comments