Documentation
¶
Overview ¶
Package v1beta1 contains API Schema definitions for the core v1beta1 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: "v1beta1"} // 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 // ForeignClusterKind is the resource name used to register the ForeignCluster CRD. ForeignClusterKind = "ForeignCluster" // 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";"NetworkGatewayPresence";"NetworkConfigurationStatus";"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 // NetworkConfigurationStatusCondition tells whether the network configuration of the peer cluster is present. NetworkConfigurationStatusCondition ConditionType = "NetworkConfigurationStatus" // NetworkConnectionStatusCondition shows the network connection status. NetworkConnectionStatusCondition ConditionType = "NetworkConnectionStatus" NetworkGatewayPresenceCondition ConditionType = "NetworkGatewayPresence" // 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.
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.