follow-up to #341. the workload front door is shape-blind on the MUTATION and capability side , but Tree still returns ExtractedInstance with its mutually exclusive PodTemplateSpec / PodSpec / FragmentedPodSpec fields - so a consumer reading pod data still branches on which one is set ( the quickstart reads only PodTemplateSpec , which quietly skips fragmented-only workloads ).
the proposal : a normalized read view using the same vocabulary as PodPatch :
type PodView struct {
SchedulerName string
PriorityClassName string
Labels map[string]string
Annotations map[string]string
NodeAffinity *corev1.NodeAffinity
PodAffinity *corev1.PodAffinity
Containers []corev1.Container
// a field is zero when the definition cannot extract it
}
filled from whichever shape the definition has , exposed on the tree instance ( or via the workload ) , so read and write share one shape-blind vocabulary. ExtractedInstance stays in the power api.
out of scope for the first pr on #341 by agreement - tracked here.
follow-up to #341. the workload front door is shape-blind on the MUTATION and capability side , but
Treestill returnsExtractedInstancewith its mutually exclusivePodTemplateSpec/PodSpec/FragmentedPodSpecfields - so a consumer reading pod data still branches on which one is set ( the quickstart reads onlyPodTemplateSpec, which quietly skips fragmented-only workloads ).the proposal : a normalized read view using the same vocabulary as
PodPatch:filled from whichever shape the definition has , exposed on the tree instance ( or via the workload ) , so read and write share one shape-blind vocabulary.
ExtractedInstancestays in the power api.out of scope for the first pr on #341 by agreement - tracked here.