v1alpha1

package
v0.0.0-...-eb21387 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 13, 2022 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the update v1alpha1 API group +kubebuilder:object:generate=true +groupName=update.edgeless.systems

Index

Constants

View Source
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"
)
View Source
const (
	// ConditionOutdated is used to signal outdated scaling groups.
	ConditionOutdated = "Outdated"
)

Variables

View Source
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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoscalingStrategyStatus.

func (*AutoscalingStrategyStatus) DeepCopyInto

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

func (in *NodeImage) DeepCopy() *NodeImage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeImage.

func (*NodeImage) DeepCopyInto

func (in *NodeImage) DeepCopyInto(out *NodeImage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NodeImage) DeepCopyObject

func (in *NodeImage) DeepCopyObject() runtime.Object

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL