Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the update v1alpha1 API group +kubebuilder:object:generate=true +groupName=update.edgeless.systems
Index ¶
- Constants
- Variables
- type AutoscalingStrategy
- type AutoscalingStrategyList
- type AutoscalingStrategySpec
- type AutoscalingStrategyStatus
- type CSPNodeState
- type NodeImage
- type NodeImageList
- type NodeImageSpec
- type NodeImageStatus
- type PendingNode
- type PendingNodeGoal
- type PendingNodeList
- type PendingNodeSpec
- type PendingNodeStatus
- type ScalingGroup
- type ScalingGroupList
- type ScalingGroupSpec
- type ScalingGroupStatus
Constants ¶
const ( // NodeGoalJoin is the goal to join the cluster. NodeGoalJoin PendingNodeGoal = "Join" // NodeGoalLeave is the goal to leave the cluster and terminate the node. NodeGoalLeave PendingNodeGoal = "Leave" // NodeStateUnknown is the default state of the node if no information is available. NodeStateUnknown CSPNodeState = "Unknown" // NodeStateCreating is the state of the node when it is being created. NodeStateCreating CSPNodeState = "Creating" // NodeStateReady is the state of the node when it is ready to use. // This state is reached when the CSP reports a node to be ready. // This does not guarantee that a node has already joined the cluster. NodeStateReady CSPNodeState = "Ready" // NodeStateStopped is the state of the node when not running temporarily. NodeStateStopped CSPNodeState = "Stopped" // NodeStateTerminating is the state of the node when it is being terminated. NodeStateTerminating CSPNodeState = "Terminating" // NodeStateTerminated is the state of the node when it is terminated. NodeStateTerminated CSPNodeState = "Terminated" // NodeStateFailed is the state of the node when it encounters an unrecoverable error. NodeStateFailed CSPNodeState = "Failed" )
const (
// ConditionOutdated is used to signal outdated scaling groups.
ConditionOutdated = "Outdated"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "update.edgeless.systems", 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 AutoscalingStrategy ¶
type AutoscalingStrategy struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AutoscalingStrategySpec `json:"spec,omitempty"` Status AutoscalingStrategyStatus `json:"status,omitempty"` }
AutoscalingStrategy is the Schema for the autoscalingstrategies API
func (*AutoscalingStrategy) DeepCopy ¶
func (in *AutoscalingStrategy) DeepCopy() *AutoscalingStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingStrategy.
func (*AutoscalingStrategy) DeepCopyInto ¶
func (in *AutoscalingStrategy) DeepCopyInto(out *AutoscalingStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AutoscalingStrategy) DeepCopyObject ¶
func (in *AutoscalingStrategy) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AutoscalingStrategyList ¶
type AutoscalingStrategyList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []AutoscalingStrategy `json:"items"` }
AutoscalingStrategyList contains a list of AutoscalingStrategy
func (*AutoscalingStrategyList) DeepCopy ¶
func (in *AutoscalingStrategyList) DeepCopy() *AutoscalingStrategyList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingStrategyList.
func (*AutoscalingStrategyList) DeepCopyInto ¶
func (in *AutoscalingStrategyList) DeepCopyInto(out *AutoscalingStrategyList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AutoscalingStrategyList) DeepCopyObject ¶
func (in *AutoscalingStrategyList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AutoscalingStrategySpec ¶
type AutoscalingStrategySpec struct { // Enabled defines whether cluster autoscaling should be enabled or not. Enabled bool `json:"enabled"` // DeploymentName defines the name of the autoscaler deployment. DeploymentName string `json:"deploymentName"` // DeploymentNamespace defines the namespace of the autoscaler deployment. DeploymentNamespace string `json:"deploymentNamespace"` }
AutoscalingStrategySpec defines the desired state of AutoscalingStrategy
func (*AutoscalingStrategySpec) DeepCopy ¶
func (in *AutoscalingStrategySpec) DeepCopy() *AutoscalingStrategySpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingStrategySpec.
func (*AutoscalingStrategySpec) DeepCopyInto ¶
func (in *AutoscalingStrategySpec) DeepCopyInto(out *AutoscalingStrategySpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AutoscalingStrategyStatus ¶
type AutoscalingStrategyStatus struct { // Enabled shows whether cluster autoscaling is currently enabled or not. // +optional Enabled bool `json:"enabled,omitempty"` // Replicas is the number of replicas for the autoscaler deployment. // +optional Replicas int32 `json:"replicas,omitempty"` }
AutoscalingStrategyStatus defines the observed state of AutoscalingStrategy
func (*AutoscalingStrategyStatus) DeepCopy ¶
func (in *AutoscalingStrategyStatus) DeepCopy() *AutoscalingStrategyStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingStrategyStatus.
func (*AutoscalingStrategyStatus) DeepCopyInto ¶
func (in *AutoscalingStrategyStatus) DeepCopyInto(out *AutoscalingStrategyStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CSPNodeState ¶
type CSPNodeState string
CSPNodeState is the state of a Node in the cloud. Only one of the following states may be specified. +kubebuilder:validation:Enum=Unknown;Creating;Ready;Stopped;Terminating;Terminated;Failed
type NodeImage ¶
type NodeImage struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec NodeImageSpec `json:"spec,omitempty"` Status NodeImageStatus `json:"status,omitempty"` }
NodeImage is the Schema for the nodeimages API
func (*NodeImage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeImage.
func (*NodeImage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeImage) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeImageList ¶
type NodeImageList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []NodeImage `json:"items"` }
NodeImageList contains a list of NodeImage
func (*NodeImageList) DeepCopy ¶
func (in *NodeImageList) DeepCopy() *NodeImageList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeImageList.
func (*NodeImageList) DeepCopyInto ¶
func (in *NodeImageList) DeepCopyInto(out *NodeImageList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NodeImageList) DeepCopyObject ¶
func (in *NodeImageList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NodeImageSpec ¶
type NodeImageSpec struct { // ImageReference is the image to use for all nodes. ImageReference string `json:"image,omitempty"` }
NodeImageSpec defines the desired state of NodeImage
func (*NodeImageSpec) DeepCopy ¶
func (in *NodeImageSpec) DeepCopy() *NodeImageSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeImageSpec.
func (*NodeImageSpec) DeepCopyInto ¶
func (in *NodeImageSpec) DeepCopyInto(out *NodeImageSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeImageStatus ¶
type NodeImageStatus struct { // Outdated is a list of nodes that are using an outdated image. Outdated []corev1.ObjectReference `json:"outdated,omitempty"` // UpToDate is a list of nodes that are using the latest image and labels. UpToDate []corev1.ObjectReference `json:"upToDate,omitempty"` // Donors is a list of outdated nodes that donate labels to heirs. Donors []corev1.ObjectReference `json:"donors,omitempty"` // Heirs is a list of nodes using the latest image that still need to inherit labels from donors. Heirs []corev1.ObjectReference `json:"heirs,omitempty"` // Mints is a list of up to date nodes that will become heirs. Mints []corev1.ObjectReference `json:"mints,omitempty"` // Pending is a list of pending nodes (joining or leaving the cluster). Pending []corev1.ObjectReference `json:"pending,omitempty"` // Obsolete is a list of obsolete nodes (nodes that have been created by the operator but are no longer needed). Obsolete []corev1.ObjectReference `json:"obsolete,omitempty"` // Invalid is a list of invalid nodes (nodes that cannot be processed by the operator due to missing information or transient faults). Invalid []corev1.ObjectReference `json:"invalid,omitempty"` // Budget is the amount of extra nodes that can be created as replacements for outdated nodes. Budget uint32 `json:"budget"` // Conditions represent the latest available observations of an object's state Conditions []metav1.Condition `json:"conditions"` }
NodeImageStatus defines the observed state of NodeImage
func (*NodeImageStatus) DeepCopy ¶
func (in *NodeImageStatus) DeepCopy() *NodeImageStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeImageStatus.
func (*NodeImageStatus) DeepCopyInto ¶
func (in *NodeImageStatus) DeepCopyInto(out *NodeImageStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PendingNode ¶
type PendingNode struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PendingNodeSpec `json:"spec,omitempty"` Status PendingNodeStatus `json:"status,omitempty"` }
PendingNode is the Schema for the pendingnodes API
func (*PendingNode) DeepCopy ¶
func (in *PendingNode) DeepCopy() *PendingNode
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingNode.
func (*PendingNode) DeepCopyInto ¶
func (in *PendingNode) DeepCopyInto(out *PendingNode)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PendingNode) DeepCopyObject ¶
func (in *PendingNode) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PendingNodeGoal ¶
type PendingNodeGoal string
PendingNodeGoal is the desired state of PendingNode. Only one of the following goals may be specified. +kubebuilder:validation:Enum=Join;Leave
type PendingNodeList ¶
type PendingNodeList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PendingNode `json:"items"` }
PendingNodeList contains a list of PendingNode
func (*PendingNodeList) DeepCopy ¶
func (in *PendingNodeList) DeepCopy() *PendingNodeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingNodeList.
func (*PendingNodeList) DeepCopyInto ¶
func (in *PendingNodeList) DeepCopyInto(out *PendingNodeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PendingNodeList) DeepCopyObject ¶
func (in *PendingNodeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PendingNodeSpec ¶
type PendingNodeSpec struct { // ProviderID is the provider ID of the node. ProviderID string `json:"providerID,omitempty"` // ScalingGroupID is the ID of the group that this node shall be part of. ScalingGroupID string `json:"groupID,omitempty"` // NodeName is the kubernetes internal name of the node. NodeName string `json:"nodeName,omitempty"` // Goal is the goal of the pending state. Goal PendingNodeGoal `json:"goal,omitempty"` // Deadline is the deadline for reaching the goal state. // Joining nodes will be terminated if the deadline is exceeded. // Leaving nodes will remain as unschedulable to prevent data loss. // If not specified, the node may remain in the pending state indefinitely. // +optional Deadline *metav1.Time `json:"deadline,omitempty"` }
PendingNodeSpec defines the desired state of PendingNode
func (*PendingNodeSpec) DeepCopy ¶
func (in *PendingNodeSpec) DeepCopy() *PendingNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingNodeSpec.
func (*PendingNodeSpec) DeepCopyInto ¶
func (in *PendingNodeSpec) DeepCopyInto(out *PendingNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PendingNodeStatus ¶
type PendingNodeStatus struct { // CSPNodeState is the state of the node in the cloud. CSPNodeState `json:"cspState,omitempty"` // ReachedGoal is true if the node has reached the goal state. ReachedGoal bool `json:"reachedGoal,omitempty"` }
PendingNodeStatus defines the observed state of PendingNode
func (*PendingNodeStatus) DeepCopy ¶
func (in *PendingNodeStatus) DeepCopy() *PendingNodeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingNodeStatus.
func (*PendingNodeStatus) DeepCopyInto ¶
func (in *PendingNodeStatus) DeepCopyInto(out *PendingNodeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalingGroup ¶
type ScalingGroup struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ScalingGroupSpec `json:"spec,omitempty"` Status ScalingGroupStatus `json:"status,omitempty"` }
ScalingGroup is the Schema for the scalinggroups API
func (*ScalingGroup) DeepCopy ¶
func (in *ScalingGroup) DeepCopy() *ScalingGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingGroup.
func (*ScalingGroup) DeepCopyInto ¶
func (in *ScalingGroup) DeepCopyInto(out *ScalingGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalingGroup) DeepCopyObject ¶
func (in *ScalingGroup) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalingGroupList ¶
type ScalingGroupList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ScalingGroup `json:"items"` }
ScalingGroupList contains a list of ScalingGroup
func (*ScalingGroupList) DeepCopy ¶
func (in *ScalingGroupList) DeepCopy() *ScalingGroupList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingGroupList.
func (*ScalingGroupList) DeepCopyInto ¶
func (in *ScalingGroupList) DeepCopyInto(out *ScalingGroupList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ScalingGroupList) DeepCopyObject ¶
func (in *ScalingGroupList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ScalingGroupSpec ¶
type ScalingGroupSpec struct { // NodeImage is the name of the NodeImage resource. NodeImage string `json:"nodeImage,omitempty"` // GroupID is the CSP specific, canonical identifier of a scaling group. GroupID string `json:"groupId,omitempty"` // Autoscaling specifies wether the scaling group should automatically scale using the cluster-autoscaler. Autoscaling bool `json:"autoscaling,omitempty"` }
ScalingGroupSpec defines the desired state of ScalingGroup
func (*ScalingGroupSpec) DeepCopy ¶
func (in *ScalingGroupSpec) DeepCopy() *ScalingGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingGroupSpec.
func (*ScalingGroupSpec) DeepCopyInto ¶
func (in *ScalingGroupSpec) DeepCopyInto(out *ScalingGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ScalingGroupStatus ¶
type ScalingGroupStatus struct { // ImageReference is the image currently used for newly created nodes in this scaling group. ImageReference string `json:"imageReference,omitempty"` // Conditions represent the latest available observations of an object's state. Conditions []metav1.Condition `json:"conditions"` }
ScalingGroupStatus defines the observed state of ScalingGroup
func (*ScalingGroupStatus) DeepCopy ¶
func (in *ScalingGroupStatus) DeepCopy() *ScalingGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScalingGroupStatus.
func (*ScalingGroupStatus) DeepCopyInto ¶
func (in *ScalingGroupStatus) DeepCopyInto(out *ScalingGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.