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"` }
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"` }
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.