Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the offloading v1beta1 API group
Index ¶
- Variables
- func Resource(resource string) schema.GroupResource
- type Affinity
- type DeploymentTemplate
- type EndpointSliceTemplate
- type LimitsEnforcement
- type MappingPhase
- type NamespaceMap
- type NamespaceMapList
- type NamespaceMapSpec
- type NamespaceMapStatus
- type NamespaceMappingStrategyType
- type NamespaceOffloading
- type NamespaceOffloadingList
- type NamespaceOffloadingSpec
- type NamespaceOffloadingStatus
- type OffloadingPatch
- type OffloadingPhaseType
- type PodOffloadingStrategyType
- type Quota
- type QuotaList
- type QuotaSpec
- type ReflectionType
- type ReflectorConfig
- type RemoteNamespaceCondition
- type RemoteNamespaceConditionType
- type RemoteNamespaceConditions
- type RemoteNamespaceStatus
- type ShadowEndpointSlice
- type ShadowEndpointSliceList
- type ShadowEndpointSliceSpec
- type ShadowPod
- type ShadowPodList
- type ShadowPodSpec
- type ShadowPodStatus
- type VirtualNode
- type VirtualNodeCondition
- type VirtualNodeConditionStatusType
- type VirtualNodeConditionType
- type VirtualNodeList
- type VirtualNodeSpec
- type VirtualNodeStatus
- type VkOptionsTemplate
- type VkOptionsTemplateList
- type VkOptionsTemplateSpec
Constants ¶
This section is empty.
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Affinity.
func (*Affinity) DeepCopyInto ¶
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 ¶
func (in *EndpointSliceTemplate) DeepCopy() *EndpointSliceTemplate
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 ¶
func (in *NamespaceOffloadingList) DeepCopy() *NamespaceOffloadingList
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 ¶
func (in *NamespaceOffloadingSpec) DeepCopy() *NamespaceOffloadingSpec
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 ¶
func (in *NamespaceOffloadingStatus) DeepCopy() *NamespaceOffloadingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceOffloadingStatus.
func (*NamespaceOffloadingStatus) DeepCopyInto ¶
func (in *NamespaceOffloadingStatus) DeepCopyInto(out *NamespaceOffloadingStatus)
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"`
// RuntimeClassName contains the runtimeclass name the pods should have on the target remote cluster.
RuntimeClassName *string `json:"runtimeClassName,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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Quota.
func (*Quota) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Quota) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaList.
func (*QuotaList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QuotaList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QuotaSpec.
func (*QuotaSpec) DeepCopyInto ¶
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 ¶
func (in *RemoteNamespaceCondition) DeepCopy() *RemoteNamespaceCondition
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 ¶
func (in RemoteNamespaceConditions) DeepCopy() RemoteNamespaceConditions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemoteNamespaceConditions.
func (RemoteNamespaceConditions) DeepCopyInto ¶
func (in RemoteNamespaceConditions) DeepCopyInto(out *RemoteNamespaceConditions)
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 ¶
func (in *RemoteNamespaceStatus) DeepCopy() *RemoteNamespaceStatus
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 ¶
func (in *ShadowEndpointSliceList) DeepCopy() *ShadowEndpointSliceList
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 ¶
func (in *ShadowEndpointSliceSpec) DeepCopy() *ShadowEndpointSliceSpec
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ShadowPod.
func (*ShadowPod) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ShadowPod) DeepCopyObject ¶
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 ¶
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 ¶
func (in *VirtualNodeCondition) DeepCopy() *VirtualNodeCondition
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 ¶
func (in *VkOptionsTemplateList) DeepCopy() *VkOptionsTemplateList
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"`
Replicas *int32 `json:"replicas,omitempty"`
ImagePullSecrets []corev1.LocalObjectReference `json:"imagePullSecrets,omitempty"`
PullPolicy corev1.PullPolicy `json:"pullPolicy,omitempty"`
}
VkOptionsTemplateSpec defines the desired state of VkOptionsTemplate.
func (*VkOptionsTemplateSpec) DeepCopy ¶
func (in *VkOptionsTemplateSpec) DeepCopy() *VkOptionsTemplateSpec
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.