Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the discovery v1alpha1 API group +kubebuilder:object:generate=true +groupName=discovery.liqo.io
Index ¶
- Variables
- type ClusterIdentity
- type ForeignCluster
- type ForeignClusterList
- type ForeignClusterSpec
- type ForeignClusterStatus
- type NetworkingEnabledType
- type OfferStateType
- type PeeringCondition
- type PeeringConditionStatusType
- type PeeringConditionType
- type PeeringEnabledType
- type ResourceRequest
- type ResourceRequestList
- type ResourceRequestSpec
- type ResourceRequestStatus
- type SearchDomain
- type SearchDomainList
- type SearchDomainSpec
- type SearchDomainStatus
- type TenantNamespaceType
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "discovery.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} // ResourceRequestResource is the resource name used to register the ResourceRequest CRD. ResourceRequestResource = "resourcerequests" // ResourceRequestGroupVersionResource is the group version resource used to register ResourceRequest CRD. ResourceRequestGroupVersionResource = GroupVersion.WithResource(ResourceRequestResource) // ResourceRequestGroupResource is the group resource used to register ResourceRequest CRD. ResourceRequestGroupResource = schema.GroupResource{Group: GroupVersion.Group, Resource: ResourceRequestResource} // SearchDomainGroupResource is the group resource used to register SearchDomain CRD. SearchDomainGroupResource = schema.GroupResource{Group: GroupVersion.Group, Resource: "searchdomains"} )
Functions ¶
This section is empty.
Types ¶
type ClusterIdentity ¶
type ClusterIdentity struct { // Foreign Cluster ID, this is a unique identifier of that cluster. ClusterID string `json:"clusterID"` // Foreign Cluster Name to be shown in GUIs. ClusterName string `json:"clusterName"` }
ClusterIdentity contains the information about a remote cluster (ID and Name).
func (*ClusterIdentity) DeepCopy ¶
func (in *ClusterIdentity) DeepCopy() *ClusterIdentity
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterIdentity.
func (*ClusterIdentity) DeepCopyInto ¶
func (in *ClusterIdentity) DeepCopyInto(out *ClusterIdentity)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ClusterIdentity) String ¶ added in v0.4.0
func (i *ClusterIdentity) String() string
String returns the ClusterName. It makes it possible to format ClusterIdentities with %s.
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="ClusterID",type=string,priority=1,JSONPath=`.spec.clusterIdentity.clusterID` +kubebuilder:printcolumn:name="ClusterName",type=string,priority=1,JSONPath=`.spec.clusterIdentity.clusterName` +kubebuilder:printcolumn:name="Outgoing peering phase",type=string,JSONPath=`.status.peeringConditions[?(@.type == 'OutgoingPeering')].status` +kubebuilder:printcolumn:name="Incoming peering phase",type=string,JSONPath=`.status.peeringConditions[?(@.type == 'IncomingPeering')].status` +kubebuilder:printcolumn:name="Networking status",type=string,JSONPath=`.status.peeringConditions[?(@.type == 'NetworkStatus')].status` +kubebuilder:printcolumn:name="Authentication status",type=string,JSONPath=`.status.peeringConditions[?(@.type == 'AuthenticationStatus')].status` +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 Identity. ClusterIdentity ClusterIdentity `json:"clusterIdentity,omitempty"` // Enable the peering process to the remote cluster. // +kubebuilder:validation:Enum="Auto";"No";"Yes" // +kubebuilder:default="Auto" // +kubebuilder:validation:Optional OutgoingPeeringEnabled PeeringEnabledType `json:"outgoingPeeringEnabled"` // Allow the remote cluster to establish a peering with our cluster. // +kubebuilder:validation:Enum="Auto";"No";"Yes" // +kubebuilder:default="Auto" // +kubebuilder:validation:Optional IncomingPeeringEnabled PeeringEnabledType `json:"incomingPeeringEnabled"` // Indicates if Liqo has to handle the network interconnection with the remote cluster. // +kubebuilder:validation:Enum="No";"Yes" // +kubebuilder:default="Yes" // +kubebuilder:validation:Optional NetworkingEnabled NetworkingEnabledType `json:"networkingEnabled,omitempty"` // URL where to contact foreign Auth service. // +kubebuilder:validation:Pattern=`https:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)` ForeignAuthURL string `json:"foreignAuthUrl"` // URL where to contact foreign proxy for the api server. This URL is used when // creating the k8s clients toward the remote cluster. ForeignProxyURL string `json:"foreignProxyUrl,omitempty"` // Indicates if the local cluster has to skip the tls verification over the remote Authentication Service or not. // +kubebuilder:default=true // +kubebuilder:validation:Optional InsecureSkipTLSVerify *bool `json:"insecureSkipTLSVerify"` // If discoveryType is LAN or WAN and this indicates the number of seconds after that // this ForeignCluster will be removed if no updates have been received. // +kubebuilder:validation:Minimum=0 TTL int `json:"ttl,omitempty"` }
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 { // TenantNamespace names in the peered clusters // +kubebuilder:validation:Optional TenantNamespace TenantNamespaceType `json:"tenantNamespace"` // PeeringConditions contains the conditions about the peering related to this // ForeignCluster. PeeringConditions []PeeringCondition `json:"peeringConditions,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 NetworkingEnabledType ¶ added in v0.4.0
type NetworkingEnabledType string
NetworkingEnabledType indicates the desired state for the network interconnection with this remote cluster.
const ( // NetworkingEnabledNo indicates to not handle the network interconnection with this remote cluster. NetworkingEnabledNo NetworkingEnabledType = "No" // NetworkingEnabledYes indicates to handle the network interconnection with this remote cluster. NetworkingEnabledYes NetworkingEnabledType = "Yes" // NetworkingEnabledNone is a placeholder to be used when the state of the networking is not known. NetworkingEnabledNone NetworkingEnabledType = "None" )
type OfferStateType ¶ added in v0.3.0
type OfferStateType string
OfferStateType defines the state of the child ResourceOffer resource.
const ( // OfferStateCreated indicates that the child ResourceOffer resource has been created. OfferStateCreated OfferStateType = "Created" // OfferStateNone indicates that the child ResourceOffer resource has not been created. OfferStateNone OfferStateType = "None" )
type PeeringCondition ¶ added in v0.3.0
type PeeringCondition struct { // Type of the peering condition. // +kubebuilder:validation:Enum="OutgoingPeering";"IncomingPeering";"NetworkStatus";"AuthenticationStatus";"ProcessForeignClusterStatus" Type PeeringConditionType `json:"type"` // Status of the condition. // +kubebuilder:validation:Enum="None";"Pending";"Established";"Disconnecting";"Denied";"EmptyDenied";"Error";"Success" // +kubebuilder:default="None" Status PeeringConditionStatusType `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"` }
PeeringCondition contains details about state of the peering.
func (*PeeringCondition) DeepCopy ¶ added in v0.3.0
func (in *PeeringCondition) DeepCopy() *PeeringCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringCondition.
func (*PeeringCondition) DeepCopyInto ¶ added in v0.3.0
func (in *PeeringCondition) DeepCopyInto(out *PeeringCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeringConditionStatusType ¶ added in v0.3.0
type PeeringConditionStatusType string
PeeringConditionStatusType indicates the phase of a peering with a remote cluster.
const ( // PeeringConditionStatusNone indicates that there is no peering. PeeringConditionStatusNone PeeringConditionStatusType = "None" // PeeringConditionStatusPending indicates that the peering is pending, // and we are either waiting for the remote cluster feedback or for us to accept the ResourceOffer. PeeringConditionStatusPending PeeringConditionStatusType = "Pending" // PeeringConditionStatusEstablished indicates that the peering has been established. PeeringConditionStatusEstablished PeeringConditionStatusType = "Established" // PeeringConditionStatusDisconnecting indicates that the peering is being deleted. PeeringConditionStatusDisconnecting PeeringConditionStatusType = "Disconnecting" // PeeringConditionStatusDenied indicates that the condition has been denied. // This is only used by the AuthenticationCondition Type, and indicates that // the authentication has been denied even if we provided a token. PeeringConditionStatusDenied PeeringConditionStatusType = "Denied" // PeeringConditionStatusEmptyDenied indicates that the condition has been denied. // This is only used by the AuthenticationCondition Type, and indicates that // the identity verification was denied with an empty token. PeeringConditionStatusEmptyDenied PeeringConditionStatusType = "EmptyDenied" // PeeringConditionStatusError indicates that an error has occurred. PeeringConditionStatusError PeeringConditionStatusType = "Error" // PeeringConditionStatusSuccess indicates that the condition is successful. PeeringConditionStatusSuccess PeeringConditionStatusType = "Success" )
type PeeringConditionType ¶ added in v0.3.0
type PeeringConditionType string
PeeringConditionType represents different conditions that a peering could assume.
const ( // OutgoingPeeringCondition informs users about the outgoing peering status. OutgoingPeeringCondition PeeringConditionType = "OutgoingPeering" // IncomingPeeringCondition informs users about the incoming peering status. IncomingPeeringCondition PeeringConditionType = "IncomingPeering" // NetworkStatusCondition informs users about the network status. NetworkStatusCondition PeeringConditionType = "NetworkStatus" // AuthenticationStatusCondition informs users about the Authentication status. AuthenticationStatusCondition PeeringConditionType = "AuthenticationStatus" // ProcessableForeignCluster informs users about the Authentication status. ProcessForeignClusterStatusCondition PeeringConditionType = "ProcessForeignClusterStatus" )
These are valid conditions of a peering.
type PeeringEnabledType ¶ added in v0.3.0
type PeeringEnabledType string
PeeringEnabledType indicates the desired state for the peering with this remote cluster.
const ( // PeeringEnabledAuto indicates to use the default settings for the discovery method. // This is useful to track that the user did not set the peering state for that cluster, // if the peering is Auto liqo will use the default for that discovery method: // manual -> No // incomingPeering -> No // LAN -> Yes // WAN -> looks at the SearchDomain Spec. PeeringEnabledAuto PeeringEnabledType = "Auto" // PeeringEnabledNo indicates to disable the peering with this remote cluster. PeeringEnabledNo PeeringEnabledType = "No" // PeeringEnabledYes indicates to enable the peering with this remote cluster. PeeringEnabledYes PeeringEnabledType = "Yes" )
type ResourceRequest ¶
type ResourceRequest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ResourceRequestSpec `json:"spec,omitempty"` Status ResourceRequestStatus `json:"status,omitempty"` }
ResourceRequest is the Schema for the ResourceRequests API. +kubebuilder:printcolumn:name="Local",type=string,JSONPath=`.metadata.labels.liqo\.io/replication` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`
func (*ResourceRequest) DeepCopy ¶
func (in *ResourceRequest) DeepCopy() *ResourceRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequest.
func (*ResourceRequest) DeepCopyInto ¶
func (in *ResourceRequest) DeepCopyInto(out *ResourceRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceRequest) DeepCopyObject ¶
func (in *ResourceRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceRequestList ¶
type ResourceRequestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []ResourceRequest `json:"items"` }
ResourceRequestList contains a list of ResourceRequest.
func (*ResourceRequestList) DeepCopy ¶
func (in *ResourceRequestList) DeepCopy() *ResourceRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequestList.
func (*ResourceRequestList) DeepCopyInto ¶
func (in *ResourceRequestList) DeepCopyInto(out *ResourceRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceRequestList) DeepCopyObject ¶
func (in *ResourceRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ResourceRequestSpec ¶
type ResourceRequestSpec struct { // Foreign Cluster Identity ClusterIdentity ClusterIdentity `json:"clusterIdentity"` // Local auth service address AuthURL string `json:"authUrl"` // WithdrawalTimestamp is set when a graceful deletion is requested by the user. WithdrawalTimestamp *metav1.Time `json:"withdrawalTimestamp,omitempty"` }
ResourceRequestSpec defines the desired state of ResourceRequest.
func (*ResourceRequestSpec) DeepCopy ¶
func (in *ResourceRequestSpec) DeepCopy() *ResourceRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequestSpec.
func (*ResourceRequestSpec) DeepCopyInto ¶
func (in *ResourceRequestSpec) DeepCopyInto(out *ResourceRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequestStatus ¶
type ResourceRequestStatus struct { // OfferWithdrawalTimestamp is the withdrawal timestamp of the child ResourceOffer resource. OfferWithdrawalTimestamp *metav1.Time `json:"offerWithdrawalTimestamp,omitempty"` // +kubebuilder:validation:Enum="None";"Created" // +kubebuilder:default="None" OfferState OfferStateType `json:"offerState"` }
ResourceRequestStatus defines the observed state of ResourceRequest.
func (*ResourceRequestStatus) DeepCopy ¶
func (in *ResourceRequestStatus) DeepCopy() *ResourceRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequestStatus.
func (*ResourceRequestStatus) DeepCopyInto ¶
func (in *ResourceRequestStatus) DeepCopyInto(out *ResourceRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SearchDomain ¶
type SearchDomain struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec SearchDomainSpec `json:"spec,omitempty"` Status SearchDomainStatus `json:"status,omitempty"` }
SearchDomain is the Schema for the SearchDomains API.
func (*SearchDomain) DeepCopy ¶
func (in *SearchDomain) DeepCopy() *SearchDomain
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SearchDomain.
func (*SearchDomain) DeepCopyInto ¶
func (in *SearchDomain) DeepCopyInto(out *SearchDomain)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SearchDomain) DeepCopyObject ¶
func (in *SearchDomain) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SearchDomainList ¶
type SearchDomainList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SearchDomain `json:"items"` }
SearchDomainList contains a list of SearchDomain.
func (*SearchDomainList) DeepCopy ¶
func (in *SearchDomainList) DeepCopy() *SearchDomainList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SearchDomainList.
func (*SearchDomainList) DeepCopyInto ¶
func (in *SearchDomainList) DeepCopyInto(out *SearchDomainList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SearchDomainList) DeepCopyObject ¶
func (in *SearchDomainList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SearchDomainSpec ¶
type SearchDomainSpec struct { // DNS domain where to search for subscribed remote clusters Domain string `json:"domain"` // Enable join process for retrieved clusters AutoJoin bool `json:"autojoin"` }
SearchDomainSpec defines the desired state of SearchDomain.
func (*SearchDomainSpec) DeepCopy ¶
func (in *SearchDomainSpec) DeepCopy() *SearchDomainSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SearchDomainSpec.
func (*SearchDomainSpec) DeepCopyInto ¶
func (in *SearchDomainSpec) DeepCopyInto(out *SearchDomainSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SearchDomainStatus ¶
type SearchDomainStatus struct { }
SearchDomainStatus defines the observed state of SearchDomain.
func (*SearchDomainStatus) DeepCopy ¶
func (in *SearchDomainStatus) DeepCopy() *SearchDomainStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SearchDomainStatus.
func (*SearchDomainStatus) DeepCopyInto ¶
func (in *SearchDomainStatus) DeepCopyInto(out *SearchDomainStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantNamespaceType ¶ added in v0.3.0
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 ¶ added in v0.3.0
func (in *TenantNamespaceType) DeepCopy() *TenantNamespaceType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantNamespaceType.
func (*TenantNamespaceType) DeepCopyInto ¶ added in v0.3.0
func (in *TenantNamespaceType) DeepCopyInto(out *TenantNamespaceType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.