Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the core v1alpha1 API group
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "core.liqo.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme // ForeignClusterResource is the resource name used to register the ForeignCluster CRD. ForeignClusterResource = "foreignclusters" // ForeignClusterGroupVersionResource is the group version resource used to register the ForeignCluster CRD. ForeignClusterGroupVersionResource = GroupVersion.WithResource(ForeignClusterResource) // ForeignClusterGroupResource is the group resource used to register the ForeignCluster CRD. ForeignClusterGroupResource = schema.GroupResource{Group: GroupVersion.Group, Resource: ForeignClusterResource} )
Functions ¶
This section is empty.
Types ¶
type ClusterID ¶
type ClusterID string
ClusterID contains the unique identifier of a ForeignCluster. It must be a DNS (RFC 1123) compatible name. +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?$`
type Condition ¶
type Condition struct { // Type of the condition. // +kubebuilder:validation:Enum="APIServerStatus";"NetworkConnectionStatus";"NetworkGatewayServerStatus";"NetworkGatewayClientStatus";"AuthIdentityControlPlaneStatus";"AuthTenantStatus";"OffloadingVirtualNodeStatus";"OffloadingNodeStatus" // //nolint:lll // ignore long lines given by Kubebuilder marker annotations Type ConditionType `json:"type"` // Status of the condition. // +kubebuilder:validation:Enum="None";"Pending";"Established";"Error";"Ready";"NotReady";"SomeNotReady" // +kubebuilder:default="None" Status ConditionStatusType `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"` }
Condition contains details about state of a.
func (*Condition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Condition.
func (*Condition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionStatusType ¶
type ConditionStatusType string
ConditionStatusType indicates the status of a condition with a remote cluster.
const ( // ConditionStatusNone indicates that the condition is not applicable. ConditionStatusNone ConditionStatusType = "None" // ConditionStatusPending indicates that the condition is pending. ConditionStatusPending ConditionStatusType = "Pending" // ConditionStatusEstablished indicates that the condition has been established. ConditionStatusEstablished ConditionStatusType = "Established" // ConditionStatusError indicates that an error has occurred. ConditionStatusError ConditionStatusType = "Error" // ConditionStatusReady indicates that the condition is ready. ConditionStatusReady ConditionStatusType = "Ready" // ConditionStatusNotReady indicates that the condition is not ready. ConditionStatusNotReady ConditionStatusType = "NotReady" // ConditionStatusSomeNotReady indicates that not all components of the conditions are ready. ConditionStatusSomeNotReady ConditionStatusType = "SomeNotReady" )
type ConditionType ¶
type ConditionType string
ConditionType represents different conditions that a could assume.
const ( // GENERIC // APIServerStatusCondition shows the status of the API Server. APIServerStatusCondition ConditionType = "APIServerStatus" // NETWORKING // NetworkConnectionStatusCondition shows the network connection status. NetworkConnectionStatusCondition ConditionType = "NetworkConnectionStatus" // NetworkGatewayServerStatusCondition shows the network gateway server status. NetworkGatewayServerStatusCondition ConditionType = "NetworkGatewayServerStatus" // NetworkGatewayClientStatusCondition shows the network gateway client status. NetworkGatewayClientStatusCondition ConditionType = "NetworkGatewayClientStatus" // AUTHENTICATION // AuthIdentityControlPlaneStatusCondition shows the status of the ControlPlane Identity. AuthIdentityControlPlaneStatusCondition ConditionType = "AuthIdentityControlPlaneStatus" // AuthTenantStatusCondition shows the status of the Tenant. AuthTenantStatusCondition ConditionType = "AuthTenantStatus" // OFFLOADING // OffloadingVirtualNodeStatusCondition shows the status of a Virtual Node. OffloadingVirtualNodeStatusCondition ConditionType = "OffloadingVirtualNodeStatus" // OffloadingNodeStatusCondition shows the status of a Node. OffloadingNodeStatusCondition ConditionType = "OffloadingNodeStatus" )
These are valid type of Conditions.
type ForeignCluster ¶
type ForeignCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ForeignClusterSpec `json:"spec,omitempty"` Status ForeignClusterStatus `json:"status,omitempty"` }
ForeignCluster is the Schema for the foreignclusters API. +kubebuilder:printcolumn:name="Role",type=string,JSONPath=`.status.role` +kubebuilder:printcolumn:name="ClusterID",type=string,priority=1,JSONPath=`.spec.clusterID` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
func (*ForeignCluster) DeepCopy ¶
func (in *ForeignCluster) DeepCopy() *ForeignCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForeignCluster.
func (*ForeignCluster) DeepCopyInto ¶
func (in *ForeignCluster) DeepCopyInto(out *ForeignCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ForeignCluster) DeepCopyObject ¶
func (in *ForeignCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ForeignClusterList ¶
type ForeignClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ForeignCluster `json:"items"` }
ForeignClusterList contains a list of ForeignCluster.
func (*ForeignClusterList) DeepCopy ¶
func (in *ForeignClusterList) DeepCopy() *ForeignClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForeignClusterList.
func (*ForeignClusterList) DeepCopyInto ¶
func (in *ForeignClusterList) DeepCopyInto(out *ForeignClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ForeignClusterList) DeepCopyObject ¶
func (in *ForeignClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ForeignClusterSpec ¶
type ForeignClusterSpec struct { // Foreign Cluster ID. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="ClusterID field is immutable" ClusterID ClusterID `json:"clusterID"` }
ForeignClusterSpec defines the desired state of ForeignCluster.
func (*ForeignClusterSpec) DeepCopy ¶
func (in *ForeignClusterSpec) DeepCopy() *ForeignClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForeignClusterSpec.
func (*ForeignClusterSpec) DeepCopyInto ¶
func (in *ForeignClusterSpec) DeepCopyInto(out *ForeignClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ForeignClusterStatus ¶
type ForeignClusterStatus struct { // Role of the ForeignCluster. // +kubebuilder:validation:Enum="Consumer";"Provider";"ConsumerAndProvider";"Unknown" // +kubebuilder:default="Unknown" Role RoleType `json:"role"` // Modules contains the configuration of the modules for this foreign cluster. Modules Modules `json:"modules,omitempty"` // URL of the forign cluster's API server. // +kubebuilder:validation:Optional APIServerURL string `json:"apiServerUrl,omitempty"` // URL where to contact foreign proxy for the api server. // This URL is used when creating the k8s clients toward the remote cluster. // +kubebuilder:validation:Optional ForeignProxyURL string `json:"foreignProxyUrl,omitempty"` // TenantNamespace names in the peered clusters // +kubebuilder:validation:Optional TenantNamespace TenantNamespaceType `json:"tenantNamespace"` // Generic conditions related to the foreign cluster. Conditions []Condition `json:"conditions,omitempty"` }
ForeignClusterStatus defines the observed state of ForeignCluster.
func (*ForeignClusterStatus) DeepCopy ¶
func (in *ForeignClusterStatus) DeepCopy() *ForeignClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ForeignClusterStatus.
func (*ForeignClusterStatus) DeepCopyInto ¶
func (in *ForeignClusterStatus) DeepCopyInto(out *ForeignClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressType ¶
type IngressType struct { // IngressClassName indicates the name of the ingress class. IngressClassName string `json:"ingressClassName"` // Default indicates whether this ingress class is the default ingress class for Liqo. Default bool `json:"default,omitempty"` }
IngressType defines the type of ingress offered by a resource offer.
func (*IngressType) DeepCopy ¶
func (in *IngressType) DeepCopy() *IngressType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressType.
func (*IngressType) DeepCopyInto ¶
func (in *IngressType) DeepCopyInto(out *IngressType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerType ¶
type LoadBalancerType struct { // LoadBalancerClassName indicates the name of the load balancer class. LoadBalancerClassName string `json:"loadBalancerClassName"` // Default indicates whether this load balancer class is the default load balancer class for Liqo. Default bool `json:"default,omitempty"` }
LoadBalancerType defines the type of load balancer offered by a resource offer.
func (*LoadBalancerType) DeepCopy ¶
func (in *LoadBalancerType) DeepCopy() *LoadBalancerType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerType.
func (*LoadBalancerType) DeepCopyInto ¶
func (in *LoadBalancerType) DeepCopyInto(out *LoadBalancerType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Module ¶
type Module struct { // Enabled indicates if the module is enabled or not. Enabled bool `json:"enabled"` // Conditions contains the status conditions related to the module. Conditions []Condition `json:"conditions,omitempty"` }
Module contains the configuration and conditions of a module for a foreign cluster.
func (*Module) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Module.
func (*Module) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Modules ¶
type Modules struct { Networking Module `json:"networking"` Authentication Module `json:"authentication"` Offloading Module `json:"offloading"` }
Modules contains the configuration of the modules for this foreign cluster.
func (*Modules) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Modules.
func (*Modules) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RoleType ¶
type RoleType string
RoleType represents the role of a ForeignCluster.
const ( // ConsumerRole represents a cluster that consumes resources from the local cluster. ConsumerRole RoleType = "Consumer" // ProviderRole represents a cluster that provides resources to the local cluster. ProviderRole RoleType = "Provider" // ConsumerAndProviderRole represents a cluster that consumes and provides resources to the local cluster. ConsumerAndProviderRole RoleType = "ConsumerAndProvider" // UnknownRole represents a cluster whose role is unknown. UnknownRole RoleType = "Unknown" )
These are valid roles for a ForeignCluster.
type StorageType ¶
type StorageType struct { // StorageClassName indicates the name of the storage class. StorageClassName string `json:"storageClassName"` // Default indicates whether this storage class is the default storage class for Liqo. Default bool `json:"default,omitempty"` }
StorageType defines the type of storage offered by a resource offer.
func (*StorageType) DeepCopy ¶
func (in *StorageType) DeepCopy() *StorageType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageType.
func (*StorageType) DeepCopyInto ¶
func (in *StorageType) DeepCopyInto(out *StorageType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantNamespaceType ¶
type TenantNamespaceType struct { // local TenantNamespace name Local string `json:"local,omitempty"` // remote TenantNamespace name Remote string `json:"remote,omitempty"` }
TenantNamespaceType contains the names of the local and the remote namespaces assigned to the pair of clusters.
func (*TenantNamespaceType) DeepCopy ¶
func (in *TenantNamespaceType) DeepCopy() *TenantNamespaceType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantNamespaceType.
func (*TenantNamespaceType) DeepCopyInto ¶
func (in *TenantNamespaceType) DeepCopyInto(out *TenantNamespaceType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.