v1beta1

package
v1.0.0-rc.1 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2024 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Overview

Package v1beta1 contains API Schema definitions for the offloading v1beta1 API group

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects.
	SchemeGroupVersion = schema.GroupVersion{Group: "offloading.liqo.io", Version: "v1beta1"}

	// NamespaceOffloadingResource is the resource name used to register the NamespaceOffloading CRD.
	NamespaceOffloadingResource = "namespaceoffloadings"

	// NamespaceOffloadingGroupResource is group and resource used to register these objects.
	NamespaceOffloadingGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: NamespaceOffloadingResource}

	// NamespaceOffloadingGroupVersionResource is the group version resource used to register the NamespaceOffloading CRD.
	NamespaceOffloadingGroupVersionResource = SchemeGroupVersion.WithResource(NamespaceOffloadingResource)

	// QuotaResource is the resource name used to register the Quota CRD.
	QuotaResource = "quotas"

	// QuotaGroupResource is group and resource used to register these objects.
	QuotaGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: QuotaResource}

	// QuotaGroupVersionResource is the group version resource used to register the Quota CRD.
	QuotaGroupVersionResource = SchemeGroupVersion.WithResource(QuotaResource)

	// NamespaceMapResource is the resource name used to register the NamespaceMap CRD.
	NamespaceMapResource = "namespacemaps"

	// NamespaceMapGroupResource is group resource used to register these objects.
	NamespaceMapGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: NamespaceMapResource}

	// NamespaceMapGroupVersionResource is groupResourceVersion used to register these objects.
	NamespaceMapGroupVersionResource = SchemeGroupVersion.WithResource(NamespaceMapResource)

	// VirtualNodeKind is the kind name used to register the VirtualNode CRD.
	VirtualNodeKind = "VirtualNode"

	// VirtualNodeResource is the resource name used to register the VirtualNode CRD.
	VirtualNodeResource = "virtualnodes"

	// VirtualNodeGroupResource is group resource used to register these objects.
	VirtualNodeGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: VirtualNodeResource}

	// VirtualNodeGroupVersionResource is groupResourceVersion used to register these objects.
	VirtualNodeGroupVersionResource = SchemeGroupVersion.WithResource(VirtualNodeResource)

	// ShadowPodResource is the resource name used to register the ShadowPod CRD.
	ShadowPodResource = "shadowpods"

	// ShadowPodGroupResource is group resource used to register these objects.
	ShadowPodGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: ShadowPodResource}

	// ShadowPodGroupVersionResource is groupResourceVersion used to register these objects.
	ShadowPodGroupVersionResource = SchemeGroupVersion.WithResource(ShadowPodResource)

	// ShadowEndpointSliceResource is the resource name used to register the ShadowEndpointSlice CRD.
	ShadowEndpointSliceResource = "shadowendpointslices"

	// ShadowEndpointSliceGroupResource is group resource used to register these objects.
	ShadowEndpointSliceGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: ShadowEndpointSliceResource}

	// ShadowEndpointSliceGroupVersionResource is groupResourceVersion used to register these objects.
	ShadowEndpointSliceGroupVersionResource = SchemeGroupVersion.WithResource(ShadowEndpointSliceResource)

	// VkOptionsTemplateResource is the resource name used to register the VkOptionsTemplate CRD.
	VkOptionsTemplateResource = "vkoptionstemplates"

	// VkOptionsTemplateGroupResource is group resource used to register these objects.
	VkOptionsTemplateGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: VkOptionsTemplateResource}

	// VkOptionsTemplateGroupVersionResource is groupResourceVersion used to register these objects.
	VkOptionsTemplateGroupVersionResource = SchemeGroupVersion.WithResource(VkOptionsTemplateResource)

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type Affinity

type Affinity struct {
	NodeAffinity *corev1.NodeAffinity `json:"nodeAffinity,omitempty"`
}

Affinity contains the affinity and anti-affinity rules for the virtual node.

func (*Affinity) DeepCopy

func (in *Affinity) DeepCopy() *Affinity

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

func (*Affinity) DeepCopyInto

func (in *Affinity) DeepCopyInto(out *Affinity)

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

type DeploymentTemplate

type DeploymentTemplate struct {
	// Metadata contains the metadata of the virtual node.
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec contains the deployment spec of the virtual node.
	Spec appsv1.DeploymentSpec `json:"spec,omitempty"`
}

DeploymentTemplate contains the deployment template of the virtual node.

func (*DeploymentTemplate) DeepCopy

func (in *DeploymentTemplate) DeepCopy() *DeploymentTemplate

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

func (*DeploymentTemplate) DeepCopyInto

func (in *DeploymentTemplate) DeepCopyInto(out *DeploymentTemplate)

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

type EndpointSliceTemplate

type EndpointSliceTemplate struct {
	Endpoints   []discoveryv1.Endpoint     `json:"endpoints,omitempty"`
	Ports       []discoveryv1.EndpointPort `json:"ports,omitempty"`
	AddressType discoveryv1.AddressType    `json:"addressType,omitempty"`
}

EndpointSliceTemplate defines the desired state of the EndpointSlice.

func (*EndpointSliceTemplate) DeepCopy

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

func (*EndpointSliceTemplate) DeepCopyInto

func (in *EndpointSliceTemplate) DeepCopyInto(out *EndpointSliceTemplate)

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

type LimitsEnforcement

type LimitsEnforcement string

LimitsEnforcement defines how the quota is enforced.

const (
	// HardLimitsEnforcement means that the quota is enforced with hard limits (limits == requests).
	HardLimitsEnforcement LimitsEnforcement = "Hard"
	// SoftLimitsEnforcement means that the quota is enforced with soft limits (requests <= limits).
	SoftLimitsEnforcement LimitsEnforcement = "Soft"
	// NoLimitsEnforcement means that the quota is not enforced.
	NoLimitsEnforcement LimitsEnforcement = "None"
)

type MappingPhase

type MappingPhase string

MappingPhase indicates the status of the remote namespace.

const (
	// MappingAccepted indicates that a remote namespace is successfully created.
	MappingAccepted MappingPhase = "Accepted"
	// MappingCreationLoopBackOff indicates that at the moment is impossible to create a remote namespace.
	MappingCreationLoopBackOff MappingPhase = "CreationLoopBackOff"
	// MappingTerminating means remote namespace is undergoing graceful termination.
	MappingTerminating MappingPhase = "Terminating"
)

type NamespaceMap

type NamespaceMap struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NamespaceMapSpec   `json:"spec,omitempty"`
	Status NamespaceMapStatus `json:"status,omitempty"`
}

NamespaceMap is the Schema for the namespacemaps API.

func (*NamespaceMap) DeepCopy

func (in *NamespaceMap) DeepCopy() *NamespaceMap

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

func (*NamespaceMap) DeepCopyInto

func (in *NamespaceMap) DeepCopyInto(out *NamespaceMap)

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

func (*NamespaceMap) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NamespaceMapList

type NamespaceMapList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NamespaceMap `json:"items"`
}

NamespaceMapList contains a list of NamespaceMap.

func (*NamespaceMapList) DeepCopy

func (in *NamespaceMapList) DeepCopy() *NamespaceMapList

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

func (*NamespaceMapList) DeepCopyInto

func (in *NamespaceMapList) DeepCopyInto(out *NamespaceMapList)

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

func (*NamespaceMapList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NamespaceMapSpec

type NamespaceMapSpec struct {

	// DesiredMapping is filled by NamespaceController when a user requires to offload a remote namespace, every entry
	// of the map represents the localNamespaceName[key]-remoteNamespaceName[value] association. When a new entry is
	// created the NamespaceMap Controller tries to create the associated remote namespace.
	DesiredMapping map[string]string `json:"desiredMapping,omitempty"`
}

NamespaceMapSpec defines the desired state of NamespaceMap.

func (*NamespaceMapSpec) DeepCopy

func (in *NamespaceMapSpec) DeepCopy() *NamespaceMapSpec

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

func (*NamespaceMapSpec) DeepCopyInto

func (in *NamespaceMapSpec) DeepCopyInto(out *NamespaceMapSpec)

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

type NamespaceMapStatus

type NamespaceMapStatus struct {

	// CurrentMapping is filled by NamespaceMap Controller, when a new remote namespace's creation is requested. The key
	// is the local namespace name, while the value is a summary of new remote namespace's status.
	CurrentMapping map[string]RemoteNamespaceStatus `json:"currentMapping,omitempty"`
}

NamespaceMapStatus defines the observed state of NamespaceMap.

func (*NamespaceMapStatus) DeepCopy

func (in *NamespaceMapStatus) DeepCopy() *NamespaceMapStatus

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

func (*NamespaceMapStatus) DeepCopyInto

func (in *NamespaceMapStatus) DeepCopyInto(out *NamespaceMapStatus)

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

type NamespaceMappingStrategyType

type NamespaceMappingStrategyType string

NamespaceMappingStrategyType represents different strategies to map local and remote namespace names.

const (
	// EnforceSameNameMappingStrategyType -> the remote namespace is assigned the same name of the local one
	// (the creation may fail in case of conflicts).
	EnforceSameNameMappingStrategyType NamespaceMappingStrategyType = "EnforceSameName"
	// DefaultNameMappingStrategyType -> the remote namespace is assigned a default name which ensures uniqueness
	// and avoids conflicts (localNamespaceName-localClusterID).
	DefaultNameMappingStrategyType NamespaceMappingStrategyType = "DefaultName"
	// SelectedNameMappingStrategyType -> the remote namespace is assigned a name chosen by the user.
	// (the creation may fail in case of conflicts).
	SelectedNameMappingStrategyType NamespaceMappingStrategyType = "SelectedName"
)

type NamespaceOffloading

type NamespaceOffloading struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NamespaceOffloadingSpec   `json:"spec"`
	Status NamespaceOffloadingStatus `json:"status,omitempty"`
}

NamespaceOffloading is the Schema for the namespaceoffloadings API.

func (*NamespaceOffloading) DeepCopy

func (in *NamespaceOffloading) DeepCopy() *NamespaceOffloading

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

func (*NamespaceOffloading) DeepCopyInto

func (in *NamespaceOffloading) DeepCopyInto(out *NamespaceOffloading)

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

func (*NamespaceOffloading) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NamespaceOffloadingList

type NamespaceOffloadingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NamespaceOffloading `json:"items"`
}

NamespaceOffloadingList contains a list of NamespaceOffloading.

func (*NamespaceOffloadingList) DeepCopy

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

func (*NamespaceOffloadingList) DeepCopyInto

func (in *NamespaceOffloadingList) DeepCopyInto(out *NamespaceOffloadingList)

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

func (*NamespaceOffloadingList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NamespaceOffloadingSpec

type NamespaceOffloadingSpec struct {
	//  NamespaceMappingStrategy allows users to map local and remote namespace names according to two
	//  different strategies: "DefaultName", which ensures uniqueness and prevents conflicts, and "EnforceSameName",
	//  which enforces the same name at the cost of possible conflicts.
	// +kubebuilder:validation:Enum="EnforceSameName";"DefaultName";"SelectedName"
	// +kubebuilder:default="DefaultName"
	// +kubebuilder:validation:Optional
	NamespaceMappingStrategy NamespaceMappingStrategyType `json:"namespaceMappingStrategy"`

	// RemoteNamespaceName allows users to choose a specific name for the remote namespace.
	// This field is required if NamespaceMappingStrategy is set to "SelectedName". It is ignored otherwise.
	RemoteNamespaceName string `json:"remoteNamespaceName,omitempty"`

	// PodOffloadingStrategy allows users to configure how pods in this namespace are offloaded, according to three
	// different strategies: "Local" (i.e. no pod offloading is performed), "Remote" (i.e. all pods are offloaded
	// in remote clusters), "LocalAndRemote" (i.e. no constraints are enforced besides the ones
	// specified by the ClusterSelector).
	// +kubebuilder:validation:Enum="Local";"Remote";"LocalAndRemote"
	// +kubebuilder:default="LocalAndRemote"
	// +kubebuilder:validation:Optional
	PodOffloadingStrategy PodOffloadingStrategyType `json:"podOffloadingStrategy"`

	// ClusterSelector allows users to select a specific subset of remote clusters to perform
	// pod offloading by means of the standard Kubernetes NodeSelector approach
	// (https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity).
	// A cluster selector with no NodeSelectorTerms matches all clusters.
	ClusterSelector corev1.NodeSelector `json:"clusterSelector,omitempty"`
}

NamespaceOffloadingSpec defines the desired state of NamespaceOffloading.

func (*NamespaceOffloadingSpec) DeepCopy

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

func (*NamespaceOffloadingSpec) DeepCopyInto

func (in *NamespaceOffloadingSpec) DeepCopyInto(out *NamespaceOffloadingSpec)

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

type NamespaceOffloadingStatus

type NamespaceOffloadingStatus struct {
	// RemoteNamespaceName is the remote namespace name chosen by means of the NamespaceMappingStrategy.
	RemoteNamespaceName string `json:"remoteNamespaceName,omitempty"`
	// OffloadingPhase -> informs users about namespaces offloading status:
	// "Ready" (i.e. remote Namespaces have been correctly created on previously selected clusters.)
	// "NoClusterSelected" (i.e. no cluster matches user constraints.)
	// "InProgress" (i.e. remote Namespaces' creation is still ongoing.)
	// "SomeFailed" (i.e. there was an error during creation of some remote Namespaces.)
	// "AllFailed" (i.e. there was an error during creation of all remote Namespaces.)
	// "Terminating" (i.e. remote namespaces are undergoing graceful termination.)
	OffloadingPhase OffloadingPhaseType `json:"offloadingPhase,omitempty"`
	// RemoteNamespacesConditions -> allows user to verify remote Namespaces' presence and status on all remote
	// clusters through RemoteNamespaceCondition.
	RemoteNamespacesConditions map[string]RemoteNamespaceConditions `json:"remoteNamespacesConditions,omitempty"`
	// The generation observed by the NamespaceOffloading controller.
	// This field allows external tools (e.g., liqoctl) to detect whether a spec modification has already been processed
	// or not (i.e., whether the status should be expected to be up-to-date or not), and thus act accordingly.
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

NamespaceOffloadingStatus defines the observed state of NamespaceOffloading.

func (*NamespaceOffloadingStatus) DeepCopy

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

func (*NamespaceOffloadingStatus) DeepCopyInto

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

type OffloadingPatch

type OffloadingPatch struct {
	// AnnotationsNotReflected is the list of annotations (key) that must not be reflected
	AnnotationsNotReflected []string `json:"annotationsNotReflected,omitempty"`
	// LabelsNotReflected is the list of labels (key) that must not be reflected
	LabelsNotReflected []string `json:"labelsNotReflected,omitempty"`
	// NodeSelector contains the node selector to target the remote cluster.
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Tolerations contains the tolerations to target the remote cluster.
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// Affinity contains the affinity and anti-affinity rules to target the remote cluster.
	Affinity *Affinity `json:"affinity,omitempty"`
}

OffloadingPatch contains the information to patch the virtual node.

func (*OffloadingPatch) DeepCopy

func (in *OffloadingPatch) DeepCopy() *OffloadingPatch

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

func (*OffloadingPatch) DeepCopyInto

func (in *OffloadingPatch) DeepCopyInto(out *OffloadingPatch)

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

type OffloadingPhaseType

type OffloadingPhaseType string

OffloadingPhaseType represents different namespaces offloading status.

const (
	// ReadyOffloadingPhaseType -> remote Namespaces have been correctly created on previously selected clusters.
	ReadyOffloadingPhaseType OffloadingPhaseType = "Ready"
	// NoClusterSelectedOffloadingPhaseType -> no cluster matches user constraints.
	NoClusterSelectedOffloadingPhaseType OffloadingPhaseType = "NoClusterSelected"
	// InProgressOffloadingPhaseType -> remote Namespaces' creation is still ongoing.
	InProgressOffloadingPhaseType OffloadingPhaseType = "InProgress"
	// SomeFailedOffloadingPhaseType -> there was an error during creation of some remote Namespaces.
	SomeFailedOffloadingPhaseType OffloadingPhaseType = "SomeFailed"
	// AllFailedOffloadingPhaseType -> there was an error during creation of all remote Namespaces.
	AllFailedOffloadingPhaseType OffloadingPhaseType = "AllFailed"
	// TerminatingOffloadingPhaseType -> means remote namespaces are undergoing graceful termination.
	TerminatingOffloadingPhaseType OffloadingPhaseType = "Terminating"
)

type PodOffloadingStrategyType

type PodOffloadingStrategyType string

PodOffloadingStrategyType represents different strategies to offload pods in this Namespace.

const (
	// LocalPodOffloadingStrategyType -> the pods in this namespace can be scheduled on the local cluster only
	// (i.e. no pod offloading occurs).
	LocalPodOffloadingStrategyType PodOffloadingStrategyType = "Local"
	// RemotePodOffloadingStrategyType -> the pods in this namespace can be scheduled on remote clusters only, possibly
	// filtered through the ClusterSelector field.
	RemotePodOffloadingStrategyType PodOffloadingStrategyType = "Remote"
	// LocalAndRemotePodOffloadingStrategyType -> the pods in this namespace can be scheduled on both the local
	// and remote clusters, the latter possibly filtered through the ClusterSelector field.
	LocalAndRemotePodOffloadingStrategyType PodOffloadingStrategyType = "LocalAndRemote"
)

type Quota

type Quota struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec QuotaSpec `json:"spec"`
}

Quota is the Schema for the quota API.

func (*Quota) DeepCopy

func (in *Quota) DeepCopy() *Quota

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

func (*Quota) DeepCopyInto

func (in *Quota) DeepCopyInto(out *Quota)

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

func (*Quota) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QuotaList

type QuotaList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Quota `json:"items"`
}

QuotaList contains a list of Quota.

func (*QuotaList) DeepCopy

func (in *QuotaList) DeepCopy() *QuotaList

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

func (*QuotaList) DeepCopyInto

func (in *QuotaList) DeepCopyInto(out *QuotaList)

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

func (*QuotaList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QuotaSpec

type QuotaSpec struct {
	// User is the user for which the quota is defined.
	// +kubebuilder:validation:MinLength=1
	User string `json:"user"`
	// LimitsEnforcement defines how the quota is enforced.
	// +kubebuilder:validation:Enum=Hard;Soft;None
	LimitsEnforcement LimitsEnforcement `json:"limitsEnforcement,omitempty"`
	// Resources contains the list of resources and their limits.
	Resources corev1.ResourceList `json:"resources"`
	// Cordoned indicates if the user is cordoned.
	Cordoned *bool `json:"cordoned,omitempty"`
}

QuotaSpec defines the desired state of Quota.

func (*QuotaSpec) DeepCopy

func (in *QuotaSpec) DeepCopy() *QuotaSpec

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

func (*QuotaSpec) DeepCopyInto

func (in *QuotaSpec) DeepCopyInto(out *QuotaSpec)

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

type ReflectionType

type ReflectionType string

ReflectionType is the type of reflection.

const (
	// AllowList reflects only the resources with a specific annotation.
	AllowList ReflectionType = "AllowList"
	// DenyList reflects all the resources excluding the ones with a specific annotation.
	DenyList ReflectionType = "DenyList"
	// CustomLiqo reflects the resources following the custom Liqo logic.
	CustomLiqo ReflectionType = "CustomLiqo"
)

type ReflectorConfig

type ReflectorConfig struct {
	// Number of workers for the reflector.
	NumWorkers uint `json:"workers"`
	// Type of reflection.
	Type ReflectionType `json:"type,omitempty"`
}

ReflectorConfig contains configuration parameters of the reflector.

func (*ReflectorConfig) DeepCopy

func (in *ReflectorConfig) DeepCopy() *ReflectorConfig

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

func (*ReflectorConfig) DeepCopyInto

func (in *ReflectorConfig) DeepCopyInto(out *ReflectorConfig)

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

type RemoteNamespaceCondition

type RemoteNamespaceCondition struct {
	// Type of remote namespace controller condition.
	Type RemoteNamespaceConditionType `json:"type"`
	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`
	// LastTransitionTime -> timestamp for when the Namespace last transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason -> Machine-readable, UpperCamelCase text indicating the reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// Message -> Human-readable message indicating details about the last status transition.
	Message string `json:"message,omitempty"`
}

RemoteNamespaceCondition contains details about state of remote namespace.

func (*RemoteNamespaceCondition) DeepCopy

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

func (*RemoteNamespaceCondition) DeepCopyInto

func (in *RemoteNamespaceCondition) DeepCopyInto(out *RemoteNamespaceCondition)

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

type RemoteNamespaceConditionType

type RemoteNamespaceConditionType string

RemoteNamespaceConditionType represents different conditions that a remote namespace could assume.

const (
	// NamespaceOffloadingRequired, informs users if their namespace has been offloaded on this cluster or not.
	NamespaceOffloadingRequired RemoteNamespaceConditionType = "OffloadingRequired"
	// NamespaceReady, remote Namespace is correctly created and ready to be used.
	NamespaceReady RemoteNamespaceConditionType = "Ready"
)

These are valid conditions of a remote namespace.

type RemoteNamespaceConditions

type RemoteNamespaceConditions []RemoteNamespaceCondition

RemoteNamespaceConditions list of RemoteNamespaceCondition.

func (RemoteNamespaceConditions) DeepCopy

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

func (RemoteNamespaceConditions) DeepCopyInto

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

type RemoteNamespaceStatus

type RemoteNamespaceStatus struct {
	// RemoteNamespace is the name chosen by the user at creation time according to NamespaceMappingStrategy
	RemoteNamespace string `json:"remoteNamespace,omitempty"`
	// Phase is the remote Namespace's actual status (Accepted,Refused).
	// +kubebuilder:validation:Enum="Accepted";"CreationLoopBackOff";"Terminating"
	Phase MappingPhase `json:"phase,omitempty"`
}

RemoteNamespaceStatus contains some information about remote namespace status.

func (*RemoteNamespaceStatus) DeepCopy

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

func (*RemoteNamespaceStatus) DeepCopyInto

func (in *RemoteNamespaceStatus) DeepCopyInto(out *RemoteNamespaceStatus)

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

type ShadowEndpointSlice

type ShadowEndpointSlice struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ShadowEndpointSliceSpec `json:"spec,omitempty"`
}

ShadowEndpointSlice is the Schema for the ShadowEndpointSlices API.

func (*ShadowEndpointSlice) DeepCopy

func (in *ShadowEndpointSlice) DeepCopy() *ShadowEndpointSlice

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

func (*ShadowEndpointSlice) DeepCopyInto

func (in *ShadowEndpointSlice) DeepCopyInto(out *ShadowEndpointSlice)

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

func (*ShadowEndpointSlice) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ShadowEndpointSliceList

type ShadowEndpointSliceList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ShadowEndpointSlice `json:"items"`
}

ShadowEndpointSliceList contains a list of ShadowEndpointSlice.

func (*ShadowEndpointSliceList) DeepCopy

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

func (*ShadowEndpointSliceList) DeepCopyInto

func (in *ShadowEndpointSliceList) DeepCopyInto(out *ShadowEndpointSliceList)

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

func (*ShadowEndpointSliceList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ShadowEndpointSliceSpec

type ShadowEndpointSliceSpec struct {
	Template EndpointSliceTemplate `json:"template,omitempty"`
}

ShadowEndpointSliceSpec defines the desired state of ShadowEndpointSlice.

func (*ShadowEndpointSliceSpec) DeepCopy

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

func (*ShadowEndpointSliceSpec) DeepCopyInto

func (in *ShadowEndpointSliceSpec) DeepCopyInto(out *ShadowEndpointSliceSpec)

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

type ShadowPod

type ShadowPod struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ShadowPodSpec   `json:"spec,omitempty"`
	Status ShadowPodStatus `json:"status,omitempty"`
}

ShadowPod is the Schema for the Shadowpods API.

func (*ShadowPod) DeepCopy

func (in *ShadowPod) DeepCopy() *ShadowPod

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

func (*ShadowPod) DeepCopyInto

func (in *ShadowPod) DeepCopyInto(out *ShadowPod)

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

func (*ShadowPod) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ShadowPodList

type ShadowPodList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ShadowPod `json:"items"`
}

ShadowPodList contains a list of ShadowPod.

func (*ShadowPodList) DeepCopy

func (in *ShadowPodList) DeepCopy() *ShadowPodList

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

func (*ShadowPodList) DeepCopyInto

func (in *ShadowPodList) DeepCopyInto(out *ShadowPodList)

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

func (*ShadowPodList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ShadowPodSpec

type ShadowPodSpec struct {
	Pod corev1.PodSpec `json:"pod,omitempty"`
}

ShadowPodSpec defines the desired state of ShadowPod.

func (*ShadowPodSpec) DeepCopy

func (in *ShadowPodSpec) DeepCopy() *ShadowPodSpec

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

func (*ShadowPodSpec) DeepCopyInto

func (in *ShadowPodSpec) DeepCopyInto(out *ShadowPodSpec)

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

type ShadowPodStatus

type ShadowPodStatus struct {
	// Phase is the status of this ShadowPod.
	// When the pod is created it is checked by the operator, which sets this field same as pod status.
	// +kubebuilder:validation:Enum="Pending";"Running";"Succeeded";"Failed";"Unknown"
	// +kubebuilder:default="Unknown"
	Phase corev1.PodPhase `json:"phase"`
}

ShadowPodStatus defines the observed state of ShadowPod.

func (*ShadowPodStatus) DeepCopy

func (in *ShadowPodStatus) DeepCopy() *ShadowPodStatus

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

func (*ShadowPodStatus) DeepCopyInto

func (in *ShadowPodStatus) DeepCopyInto(out *ShadowPodStatus)

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

type VirtualNode

type VirtualNode struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   VirtualNodeSpec   `json:"spec,omitempty"`
	Status VirtualNodeStatus `json:"status,omitempty"`
}

VirtualNode is the Schema for the VirtualNodes API.

func (*VirtualNode) DeepCopy

func (in *VirtualNode) DeepCopy() *VirtualNode

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

func (*VirtualNode) DeepCopyInto

func (in *VirtualNode) DeepCopyInto(out *VirtualNode)

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

func (*VirtualNode) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type VirtualNodeCondition

type VirtualNodeCondition struct {
	// Type of the VirtualNode condition.
	// +kubebuilder:validation:Enum="VirtualKubelet";"Node"
	Type VirtualNodeConditionType `json:"type"`
	// Status of the condition.
	// +kubebuilder:validation:Enum="None";"Running";"Creating";"Draining";"Deleting"
	// +kubebuilder:default="None"
	Status VirtualNodeConditionStatusType `json:"status"`
	// LastTransitionTime -> timestamp for when the condition last transitioned from one status to another.
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// Reason -> Machine-readable, UpperCamelCase text indicating the reason for the condition's last transition.
	Reason string `json:"reason,omitempty"`
	// Message -> Human-readable message indicating details about the last status transition.
	Message string `json:"message,omitempty"`
}

VirtualNodeCondition contains some information about remote namespace status.

func (*VirtualNodeCondition) DeepCopy

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

func (*VirtualNodeCondition) DeepCopyInto

func (in *VirtualNodeCondition) DeepCopyInto(out *VirtualNodeCondition)

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

type VirtualNodeConditionStatusType

type VirtualNodeConditionStatusType string

VirtualNodeConditionStatusType represents different statuses that a condition could assume.

const (
	// NoneConditionStatusType represents the absence of a condition.
	NoneConditionStatusType VirtualNodeConditionStatusType = "None"
	// RunningConditionStatusType represents the condition is in running state.
	RunningConditionStatusType VirtualNodeConditionStatusType = "Running"
	// CreatingConditionStatusType represents the condition is in creating state.
	CreatingConditionStatusType VirtualNodeConditionStatusType = "Creating"
	// DrainingConditionStatusType represents the condition is in draining state.
	DrainingConditionStatusType VirtualNodeConditionStatusType = "Draining"
	// DeletingConditionStatusType represents the condition is in deleting state.
	DeletingConditionStatusType VirtualNodeConditionStatusType = "Deleting"
)

type VirtualNodeConditionType

type VirtualNodeConditionType string

VirtualNodeConditionType represents different conditions that a virtualNode could assume.

const (
	// VirtualKubeletConditionType informs users about the VirtualKubelet status.
	VirtualKubeletConditionType VirtualNodeConditionType = "VirtualKubelet"
	// NodeConditionType informs users about the Node status.
	NodeConditionType VirtualNodeConditionType = "Node"
)

type VirtualNodeList

type VirtualNodeList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VirtualNode `json:"items"`
}

VirtualNodeList contains a list of VirtualNode.

func (*VirtualNodeList) DeepCopy

func (in *VirtualNodeList) DeepCopy() *VirtualNodeList

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

func (*VirtualNodeList) DeepCopyInto

func (in *VirtualNodeList) DeepCopyInto(out *VirtualNodeList)

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

func (*VirtualNodeList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type VirtualNodeSpec

type VirtualNodeSpec struct {
	// ClusterID contains the id of the remote cluster targeted by the created virtualKubelet.
	ClusterID liqov1beta1.ClusterID `json:"clusterID,omitempty"`
	// Template contains the deployment of the created virtualKubelet.
	// +optional
	Template *DeploymentTemplate `json:"template,omitempty"`
	// OffloadingPatch contains the information to target a groups of node on the remote cluster.
	OffloadingPatch *OffloadingPatch `json:"offloadingPatch,omitempty"`
	// CreateNode indicates if a node to target the remote cluster (and schedule on it) has to be created.
	CreateNode *bool `json:"createNode,omitempty"`
	// DisableNetworkCheck disables the check of the liqo networking.
	// If check is disabled, the network status will not be added to node conditions.
	DisableNetworkCheck *bool `json:"disableNetworkCheck,omitempty"`
	// KubeconfigSecretRef contains the reference to the secret containing the kubeconfig to access the remote cluster.
	KubeconfigSecretRef *corev1.LocalObjectReference `json:"kubeconfigSecretRef,omitempty"`
	// Images is the list of the images already stored in the cluster.
	Images []corev1.ContainerImage `json:"images,omitempty"`
	// ResourceQuota contains the quantity of resources assigned to the VirtualNode.
	ResourceQuota corev1.ResourceQuotaSpec `json:"resourceQuota,omitempty"`
	// Labels contains the labels to be added to the virtual node.
	Labels map[string]string `json:"labels,omitempty"`
	// Annotations contains the annotations to be added to the virtual node.
	Annotations map[string]string `json:"annotations,omitempty"`
	// Taints contains the taints to be added to the virtual node.
	Taints []corev1.Taint `json:"taints,omitempty"`
	// StorageClasses contains the list of the storage classes offered by the cluster.
	StorageClasses []liqov1beta1.StorageType `json:"storageClasses,omitempty"`
	// IngressClasses contains the list of the ingress classes offered by the cluster.
	IngressClasses []liqov1beta1.IngressType `json:"ingressClasses,omitempty"`
	// LoadBalancerClasses contains the list of the load balancer classes offered by the cluster.
	LoadBalancerClasses []liqov1beta1.LoadBalancerType `json:"loadBalancerClasses,omitempty"`
	// VkOptionsTemplateRef contains the namespaced reference to the VkOptionsTemplate.
	// If not set, the default template installed with Liqo will be used.
	// +optional
	VkOptionsTemplateRef *corev1.ObjectReference `json:"vkOptionsTemplateRef,omitempty"`
}

VirtualNodeSpec defines the desired state of VirtualNode.

func (*VirtualNodeSpec) DeepCopy

func (in *VirtualNodeSpec) DeepCopy() *VirtualNodeSpec

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

func (*VirtualNodeSpec) DeepCopyInto

func (in *VirtualNodeSpec) DeepCopyInto(out *VirtualNodeSpec)

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

type VirtualNodeStatus

type VirtualNodeStatus struct {
	Conditions []VirtualNodeCondition `json:"conditions,omitempty"`
}

VirtualNodeStatus contains some information about remote namespace status.

func (*VirtualNodeStatus) DeepCopy

func (in *VirtualNodeStatus) DeepCopy() *VirtualNodeStatus

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

func (*VirtualNodeStatus) DeepCopyInto

func (in *VirtualNodeStatus) DeepCopyInto(out *VirtualNodeStatus)

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

type VkOptionsTemplate

type VkOptionsTemplate struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec VkOptionsTemplateSpec `json:"spec,omitempty"`
}

VkOptionsTemplate is the Schema with the options to configure the VirtualKubelet deployment.

func (*VkOptionsTemplate) DeepCopy

func (in *VkOptionsTemplate) DeepCopy() *VkOptionsTemplate

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

func (*VkOptionsTemplate) DeepCopyInto

func (in *VkOptionsTemplate) DeepCopyInto(out *VkOptionsTemplate)

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

func (*VkOptionsTemplate) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type VkOptionsTemplateList

type VkOptionsTemplateList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []VkOptionsTemplate `json:"items"`
}

VkOptionsTemplateList contains a list of VkOptionsTemplate.

func (*VkOptionsTemplateList) DeepCopy

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

func (*VkOptionsTemplateList) DeepCopyInto

func (in *VkOptionsTemplateList) DeepCopyInto(out *VkOptionsTemplateList)

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

func (*VkOptionsTemplateList) DeepCopyObject

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

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type VkOptionsTemplateSpec

type VkOptionsTemplateSpec struct {
	CreateNode              bool                        `json:"createNode"`
	DisableNetworkCheck     bool                        `json:"disableNetworkCheck"`
	ContainerImage          string                      `json:"containerImage"`
	MetricsEnabled          bool                        `json:"metricsEnabled"`
	MetricsAddress          string                      `json:"metricsAddress,omitempty"`
	LabelsNotReflected      []string                    `json:"labelsNotReflected,omitempty"`
	AnnotationsNotReflected []string                    `json:"annotationsNotReflected,omitempty"`
	ReflectorsConfig        map[string]ReflectorConfig  `json:"reflectorsConfig,omitempty"`
	Resources               corev1.ResourceRequirements `json:"resources,omitempty"`
	ExtraArgs               []string                    `json:"extraArgs,omitempty"`
	ExtraAnnotations        map[string]string           `json:"extraAnnotations,omitempty"`
	ExtraLabels             map[string]string           `json:"extraLabels,omitempty"`
	NodeExtraAnnotations    map[string]string           `json:"nodeExtraAnnotations,omitempty"`
	NodeExtraLabels         map[string]string           `json:"nodeExtraLabels,omitempty"`
}

VkOptionsTemplateSpec defines the desired state of VkOptionsTemplate.

func (*VkOptionsTemplateSpec) DeepCopy

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

func (*VkOptionsTemplateSpec) DeepCopyInto

func (in *VkOptionsTemplateSpec) DeepCopyInto(out *VkOptionsTemplateSpec)

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