Documentation ¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API.
Index ¶
- Constants
- Variables
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type AppGroup
- type AppGroupList
- type AppGroupSpec
- type AppGroupStatus
- type AppGroupTopologyInfo
- type AppGroupTopologyList
- type AppGroupWorkload
- type AppGroupWorkloadInfo
- type AppGroupWorkloadList
- type DependenciesInfo
- type DependenciesList
Constants ¶
const ( // AppGroupLabel is the default label of the AppGroup for the network-aware framework AppGroupLabel = appgroupapi.GroupName // AppGroupSelectorLabel is the default selector label for Pods belonging to a given Workload (e.g., workload = App-A) AppGroupSelectorLabel = AppGroupLabel + ".workload" // Topological Sorting algorithms supported by AppGroup AppGroupKahnSort = "KahnSort" AppGroupTarjanSort = "TarjanSort" AppGroupReverseKahn = "ReverseKahn" AppGroupReverseTarjan = "ReverseTarjan" AppGroupAlternateKahn = "AlternateKahn" AppGroupAlternateTarjan = "AlternateTarjan" )
Constants for AppGroup
Variables ¶
var ( // SchemeBuilder initializes a scheme builder SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) // AddToScheme is a global function that registers this API group & version to a scheme AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: appgroup.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type AppGroup ¶
type AppGroup struct { metav1.TypeMeta `json:",inline"` // Standard object's metadata. // +optional metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // AppGroupSpec defines the Min and Max for Quota. // +optional Spec AppGroupSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` // AppGroupStatus defines the observed use. // +optional Status AppGroupStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` }
AppGroup is a collection of Pods belonging to the same application +protobuf=true
func (*AppGroup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroup.
func (*AppGroup) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppGroup) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppGroupList ¶
type AppGroupList struct { metav1.TypeMeta `json:",inline"` // Standard list metadata // +optional metav1.ListMeta `json:"metadata,omitempty"` // Items is the list of AppGroup Items []AppGroup `json:"items"` }
AppGroupList is a collection of app groups.
func (*AppGroupList) DeepCopy ¶
func (in *AppGroupList) DeepCopy() *AppGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupList.
func (*AppGroupList) DeepCopyInto ¶
func (in *AppGroupList) DeepCopyInto(out *AppGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppGroupList) DeepCopyObject ¶
func (in *AppGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppGroupSpec ¶
type AppGroupSpec struct { // NumMembers defines the number of Pods belonging to the App Group NumMembers int32 `json:"numMembers,omitempty" protobuf:"bytes,1,opt,name=numMembers"` // The preferred Topology Sorting Algorithm TopologySortingAlgorithm string `json:"topologySortingAlgorithm,omitempty" protobuf:"bytes,2,opt,name=topologySortingAlgorithm"` // Workloads defines the workloads belonging to the group Workloads AppGroupWorkloadList `json:"workloads,omitempty" protobuf:"bytes,3,rep,name=workloads, casttype=AppGroupWorkloadList"` }
AppGroupSpec represents the template of a app group. +protobuf=true
func (*AppGroupSpec) DeepCopy ¶
func (in *AppGroupSpec) DeepCopy() *AppGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupSpec.
func (*AppGroupSpec) DeepCopyInto ¶
func (in *AppGroupSpec) DeepCopyInto(out *AppGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppGroupStatus ¶
type AppGroupStatus struct { // The number of actively running workloads (e.g., number of pods). // +optional RunningWorkloads int32 `json:"runningWorkloads,omitempty" protobuf:"bytes,1,opt,name=runningWorkloads"` // ScheduleStartTime of the group ScheduleStartTime metav1.Time `json:"scheduleStartTime,omitempty" protobuf:"bytes,2,opt,name=scheduleStartTime"` // TopologyCalculationTime of the group TopologyCalculationTime metav1.Time `json:"topologyCalculationTime,omitempty" protobuf:"bytes,3,opt,name=topologyCalculationTime"` // Topology order for TopSort plugin (QueueSort) TopologyOrder AppGroupTopologyList `json:"topologyOrder,omitempty" protobuf:"bytes,4,rep,name=topologyOrder,casttype=TopologyList"` }
AppGroupStatus represents the current state of an AppGroup. +protobuf=true
func (*AppGroupStatus) DeepCopy ¶
func (in *AppGroupStatus) DeepCopy() *AppGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupStatus.
func (*AppGroupStatus) DeepCopyInto ¶
func (in *AppGroupStatus) DeepCopyInto(out *AppGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppGroupTopologyInfo ¶
type AppGroupTopologyInfo struct { // Workload reference Info. Workload AppGroupWorkloadInfo `json:"workload,omitempty" protobuf:"bytes,1,opt,name=workload, casttype=AppGroupWorkloadInfo"` // Topology index. Index int32 `json:"index,omitempty" protobuf:"bytes,2,opt,name=index"` }
AppGroupTopologyInfo represents the calculated order for a given Workload. +protobuf=true
func (*AppGroupTopologyInfo) DeepCopy ¶
func (in *AppGroupTopologyInfo) DeepCopy() *AppGroupTopologyInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupTopologyInfo.
func (*AppGroupTopologyInfo) DeepCopyInto ¶
func (in *AppGroupTopologyInfo) DeepCopyInto(out *AppGroupTopologyInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppGroupTopologyList ¶
type AppGroupTopologyList []AppGroupTopologyInfo
TopologyList contains an array of workload indexes for the TopologySorting plugin. +protobuf=true
func (AppGroupTopologyList) DeepCopy ¶
func (in AppGroupTopologyList) DeepCopy() AppGroupTopologyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupTopologyList.
func (AppGroupTopologyList) DeepCopyInto ¶
func (in AppGroupTopologyList) DeepCopyInto(out *AppGroupTopologyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppGroupWorkload ¶
type AppGroupWorkload struct { // Workload reference Info. Workload AppGroupWorkloadInfo `json:"workload,omitempty" protobuf:"bytes,1,opt,name=workload, casttype=AppGroupWorkloadInfo"` // Dependencies of the Workload. Dependencies DependenciesList `json:"dependencies,omitempty" protobuf:"bytes,2,opt,name=dependencies, casttype=DependenciesList"` }
AppGroupWorkload represents the Workloads belonging to the App Group. +protobuf=true
func (*AppGroupWorkload) DeepCopy ¶
func (in *AppGroupWorkload) DeepCopy() *AppGroupWorkload
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupWorkload.
func (*AppGroupWorkload) DeepCopyInto ¶
func (in *AppGroupWorkload) DeepCopyInto(out *AppGroupWorkload)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppGroupWorkloadInfo ¶
type AppGroupWorkloadInfo struct { // Kind of the workload; info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds" Kind string `json:"kind,omitempty" protobuf:"bytes,1,opt,name=kind"` // Name represents the workload, info: http://kubernetes.io/docs/user-guide/identifiers#names Name string `json:"name,omitempty" protobuf:"bytes,2,opt,name=name"` // Selector defines how to find Pods related to the Workload (key = workload). (e.g., workload=w1) Selector string `json:"selector,omitempty" protobuf:"bytes,3,opt,name=selector"` // ApiVersion defines the versioned schema of an object. //+optional APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,4,opt,name=apiVersion"` // Namespace of the workload //+optional Namespace string `json:"namespace,omitempty" protobuf:"bytes,5,opt,name=namespace"` }
AppGroupWorkloadInfo contains information about one workload. +protobuf=true
func (*AppGroupWorkloadInfo) DeepCopy ¶
func (in *AppGroupWorkloadInfo) DeepCopy() *AppGroupWorkloadInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupWorkloadInfo.
func (*AppGroupWorkloadInfo) DeepCopyInto ¶
func (in *AppGroupWorkloadInfo) DeepCopyInto(out *AppGroupWorkloadInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppGroupWorkloadList ¶
type AppGroupWorkloadList []AppGroupWorkload
AppGroupWorkloadList contains an array of Pod objects. +protobuf=true
func (AppGroupWorkloadList) DeepCopy ¶
func (in AppGroupWorkloadList) DeepCopy() AppGroupWorkloadList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppGroupWorkloadList.
func (AppGroupWorkloadList) DeepCopyInto ¶
func (in AppGroupWorkloadList) DeepCopyInto(out *AppGroupWorkloadList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DependenciesInfo ¶
type DependenciesInfo struct { // Workload reference Info. Workload AppGroupWorkloadInfo `json:"workload,omitempty" protobuf:"bytes,1,opt,name=workload, casttype=AppGroupWorkloadInfo"` // MinBandwidth between workloads // +optional MinBandwidth resource.Quantity `json:"minBandwidth,omitempty" protobuf:"bytes,2,opt,name=minBandwidth"` // Max Network Cost between workloads // +optional MaxNetworkCost int64 `json:"maxNetworkCost,omitempty" protobuf:"bytes,3,opt,name=maxNetworkCost"` }
DependenciesInfo contains information about one dependency. +protobuf=true
func (*DependenciesInfo) DeepCopy ¶
func (in *DependenciesInfo) DeepCopy() *DependenciesInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependenciesInfo.
func (*DependenciesInfo) DeepCopyInto ¶
func (in *DependenciesInfo) DeepCopyInto(out *DependenciesInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DependenciesList ¶
type DependenciesList []DependenciesInfo
DependenciesList contains an array of ResourceInfo objects. +protobuf=true
func (DependenciesList) DeepCopy ¶
func (in DependenciesList) DeepCopy() DependenciesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DependenciesList.
func (DependenciesList) DeepCopyInto ¶
func (in DependenciesList) DeepCopyInto(out *DependenciesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.