Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the golem v1alpha1 API group +kubebuilder:object:generate=true +groupName=golem.spot-os.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "golem.spot-os.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type ComponentSpec ¶
type ComponentSpec struct { // VCPUs is the required number of virtual CPUs for component. VCPUs int `json:"vCPUs"` // Memory is the required memory for component (GB). Memory int `json:"memory"` // Network is the required network bandwidth for component (Gbps). Network int `json:"network"` // Behavior is the required interruption behavior: options: terminate,stop,hibernation Behavior string `json:"behavior" enum:"terminate|stop|hibernation" default:"terminate"` // Frequency is the limit interruption frequency of the instances. options: 0-4. Frequency int `json:"frequency" enum:"0|1|2|3|4" default:"0"` // The type of storage to use for the component (optional). StorageType string `json:"storageType,omitempty"` // Affinity is the components names that must be on the same instance. Affinity []string `json:"affinity,omitempty"` // AntiAffinity is the components names that must be on different instances. AntiAffinity []string `json:"anti-affinity,omitempty"` }
ComponentSpec defines the requirements of a component in a workload.
func (*ComponentSpec) DeepCopy ¶
func (in *ComponentSpec) DeepCopy() *ComponentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentSpec.
func (*ComponentSpec) DeepCopyInto ¶
func (in *ComponentSpec) DeepCopyInto(out *ComponentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ComponentStatus ¶
type ComponentStatus struct { // Stage is the stage of the lifecycle of the workload Stage string `json:"stage,omitempty" enum:"pending|scheduled|deployed|evacuated"` // InstanceName is the name of the node the instance is scheduled to InstanceName string `json:"instance-name,omitempty"` }
ComponentStatus defines the observed state of a component in a workload.
func (*ComponentStatus) DeepCopy ¶
func (in *ComponentStatus) DeepCopy() *ComponentStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ComponentStatus.
func (*ComponentStatus) DeepCopyInto ¶
func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SpotWorkload ¶
type SpotWorkload struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SpotWorkloadSpec `json:"spec,omitempty"` Status SpotWorkloadStatus `json:"status,omitempty"` }
SpotWorkload is the Schema for the spotworkloads API.
func (*SpotWorkload) DeepCopy ¶
func (in *SpotWorkload) DeepCopy() *SpotWorkload
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotWorkload.
func (*SpotWorkload) DeepCopyInto ¶
func (in *SpotWorkload) DeepCopyInto(out *SpotWorkload)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SpotWorkload) DeepCopyObject ¶
func (in *SpotWorkload) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SpotWorkloadList ¶
type SpotWorkloadList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SpotWorkload `json:"items"` }
SpotWorkloadList contains a list of SpotWorkload.
func (*SpotWorkloadList) DeepCopy ¶
func (in *SpotWorkloadList) DeepCopy() *SpotWorkloadList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotWorkloadList.
func (*SpotWorkloadList) DeepCopyInto ¶
func (in *SpotWorkloadList) DeepCopyInto(out *SpotWorkloadList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SpotWorkloadList) DeepCopyObject ¶
func (in *SpotWorkloadList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SpotWorkloadSpec ¶
type SpotWorkloadSpec struct { // The name of the application. App string `json:"app"` Share bool `json:"share"` // The list of components in the workload. Component names (keys) must match relevant deployment names. Components map[string]ComponentSpec `json:"components"` }
SpotWorkloadSpec defines the desired state of SpotWorkload.
func (*SpotWorkloadSpec) DeepCopy ¶
func (in *SpotWorkloadSpec) DeepCopy() *SpotWorkloadSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotWorkloadSpec.
func (*SpotWorkloadSpec) DeepCopyInto ¶
func (in *SpotWorkloadSpec) DeepCopyInto(out *SpotWorkloadSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SpotWorkloadStatus ¶
type SpotWorkloadStatus struct { // Components is the status of the components in the workload. Components map[string]ComponentStatus `json:"components"` }
SpotWorkloadStatus defines the observed state of SpotWorkload.
func (*SpotWorkloadStatus) DeepCopy ¶
func (in *SpotWorkloadStatus) DeepCopy() *SpotWorkloadStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SpotWorkloadStatus.
func (*SpotWorkloadStatus) DeepCopyInto ¶
func (in *SpotWorkloadStatus) DeepCopyInto(out *SpotWorkloadStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.