Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the discovery v1alpha1 API group +kubebuilder:object:generate=true +groupName=discovery.liqo.io
Index ¶
- Variables
- func CreateForeignClusterClient(kubeconfig string) (*crdClient.CRDClient, error)
- func CreatePeeringRequestClient(kubeconfig string) (*crdClient.CRDClient, error)
- func ForeignClusterKeyer(obj runtime.Object) (string, error)
- func Keyer(obj runtime.Object) (string, error)
- type ClusterIdentity
- type ForeignCluster
- func (fc *ForeignCluster) CheckTrusted() (bool, error)
- func (in *ForeignCluster) DeepCopy() *ForeignCluster
- func (in *ForeignCluster) DeepCopyInto(out *ForeignCluster)
- func (in *ForeignCluster) DeepCopyObject() runtime.Object
- func (fc *ForeignCluster) DeleteAdvertisement(advClient *crdClient.CRDClient) error
- func (fc *ForeignCluster) HasHigherPriority(discoveryType discovery.DiscoveryType) bool
- func (fc *ForeignCluster) IsExpired() bool
- func (fc *ForeignCluster) LastUpdateNow()
- func (fc *ForeignCluster) SetAdvertisement(adv *advtypes.Advertisement, discoveryClient *crdClient.CRDClient) error
- type ForeignClusterList
- type ForeignClusterSpec
- type ForeignClusterStatus
- type Incoming
- type Network
- type Outgoing
- type PeeringRequest
- type PeeringRequestList
- type PeeringRequestSpec
- type PeeringRequestStatus
- type ResourceLink
- type ResourceRequest
- type ResourceRequestList
- type ResourceRequestSpec
- type ResourceRequestStatus
- type SearchDomain
- type SearchDomainList
- type SearchDomainSpec
- type SearchDomainStatus
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} ForeignClusterGroupVersionResource = schema.GroupVersionResource{Group: GroupVersion.Group, Version: GroupVersion.Version, Resource: "foreignclusters"} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme //ForeignClusterGroupResource is the group resource used to register ForeignCluster CRD. ForeignClusterGroupResource = schema.GroupResource{Group: GroupVersion.Group, Resource: "foreignclusters"} )
Functions ¶
func CreateForeignClusterClient ¶
CreateForeignClusterClient creates a client for ForeignCluster CR using a provided kubeconfig.
func CreatePeeringRequestClient ¶
create a client for ClusterConfig CR using a provided kubeconfig
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,omitempty"` }
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.
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="Outgoing joined",type=string,JSONPath=`.status.outgoing.joined` +kubebuilder:printcolumn:name="Incoming joined",type=string,JSONPath=`.status.incoming.joined` +kubebuilder:printcolumn:name="Authentication status",type=string,JSONPath=`.status.authStatus`
func (*ForeignCluster) CheckTrusted ¶
func (fc *ForeignCluster) CheckTrusted() (bool, error)
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.
func (*ForeignCluster) DeleteAdvertisement ¶
func (fc *ForeignCluster) DeleteAdvertisement(advClient *crdClient.CRDClient) error
func (*ForeignCluster) HasHigherPriority ¶
func (fc *ForeignCluster) HasHigherPriority(discoveryType discovery.DiscoveryType) bool
if we discovered a cluster with IncomingPeering we can upgrade this discovery when we found it also in other way, for example inserting a SearchDomain or adding it manually
func (*ForeignCluster) IsExpired ¶
func (fc *ForeignCluster) IsExpired() bool
func (*ForeignCluster) LastUpdateNow ¶
func (fc *ForeignCluster) LastUpdateNow()
sets lastUpdate annotation to current time
func (*ForeignCluster) SetAdvertisement ¶
func (fc *ForeignCluster) SetAdvertisement(adv *advtypes.Advertisement, discoveryClient *crdClient.CRDClient) error
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"` // Namespace where Liqo is deployed Namespace string `json:"namespace,omitempty"` // Enable join process to foreign cluster // +kubebuilder:default=false Join bool `json:"join,omitempty"` // +kubebuilder:validation:Enum="LAN";"WAN";"Manual";"IncomingPeering" // +kubebuilder:default="Manual" // How this ForeignCluster has been discovered DiscoveryType discovery.DiscoveryType `json:"discoveryType,omitempty"` // URL where to contact foreign Auth service AuthUrl string `json:"authUrl"` // +kubebuilder:validation:Enum="Unknown";"Trusted";"Untrusted" // +kubebuilder:default="Unknown" // Indicates if this remote cluster is trusted or not TrustMode discovery.TrustMode `json:"trustMode,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 { Outgoing Outgoing `json:"outgoing,omitempty"` Incoming Incoming `json:"incoming,omitempty"` // If discoveryType is LAN and this counter reach 0 value, this FC will be removed Ttl uint32 `json:"ttl,omitempty"` // It stores most important network statuses Network Network `json:"network,omitempty"` // Authentication status // +kubebuilder:validation:Enum="Pending";"Accepted";"Refused";"EmptyRefused" // +kubebuilder:default="Pending" AuthStatus discovery.AuthStatus `json:"authStatus,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 Incoming ¶
type Incoming struct { // Indicates if peering request has been created and this remote cluster is using our local resources Joined bool `json:"joined"` // Object Reference to created PeeringRequest CR PeeringRequest *v1.ObjectReference `json:"peeringRequest,omitempty"` // Indicates if related identity is available AvailableIdentity bool `json:"availableIdentity,omitempty"` // Object reference to related identity IdentityRef *v1.ObjectReference `json:"identityRef,omitempty"` // Status of Advertisement created from this PeeringRequest AdvertisementStatus advtypes.AdvPhase `json:"advertisementStatus,omitempty"` }
func (*Incoming) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Incoming.
func (*Incoming) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Network ¶
type Network struct { // Local NetworkConfig link LocalNetworkConfig ResourceLink `json:"localNetworkConfig"` // Remote NetworkConfig link RemoteNetworkConfig ResourceLink `json:"remoteNetworkConfig"` // TunnelEndpoint link TunnelEndpoint ResourceLink `json:"tunnelEndpoint"` }
func (*Network) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Outgoing ¶
type Outgoing struct { // Indicates if peering request has been created and this remote cluster is sharing its resources to us Joined bool `json:"joined"` // Name of created PR RemotePeeringRequestName string `json:"remote-peering-request-name,omitempty"` // Object Reference to created Advertisement CR Advertisement *v1.ObjectReference `json:"advertisement,omitempty"` // Indicates if related identity is available AvailableIdentity bool `json:"availableIdentity,omitempty"` // Object reference to related identity IdentityRef *v1.ObjectReference `json:"identityRef,omitempty"` // Advertisement status AdvertisementStatus advtypes.AdvPhase `json:"advertisementStatus,omitempty"` }
func (*Outgoing) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Outgoing.
func (*Outgoing) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeringRequest ¶
type PeeringRequest struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec PeeringRequestSpec `json:"spec,omitempty"` Status PeeringRequestStatus `json:"status,omitempty"` }
PeeringRequest is the Schema for the PeeringRequests API
func (*PeeringRequest) DeepCopy ¶
func (in *PeeringRequest) DeepCopy() *PeeringRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringRequest.
func (*PeeringRequest) DeepCopyInto ¶
func (in *PeeringRequest) DeepCopyInto(out *PeeringRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PeeringRequest) DeepCopyObject ¶
func (in *PeeringRequest) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*PeeringRequest) GetConfig ¶
func (pr *PeeringRequest) GetConfig(clientset kubernetes.Interface) (*rest.Config, error)
type PeeringRequestList ¶
type PeeringRequestList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []PeeringRequest `json:"items"` }
PeeringRequestList contains a list of PeeringRequest
func (*PeeringRequestList) DeepCopy ¶
func (in *PeeringRequestList) DeepCopy() *PeeringRequestList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringRequestList.
func (*PeeringRequestList) DeepCopyInto ¶
func (in *PeeringRequestList) DeepCopyInto(out *PeeringRequestList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*PeeringRequestList) DeepCopyObject ¶
func (in *PeeringRequestList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type PeeringRequestSpec ¶
type PeeringRequestSpec struct { // Foreign Cluster Identity ClusterIdentity ClusterIdentity `json:"clusterIdentity"` // Namespace where Liqo is deployed Namespace string `json:"namespace"` // KubeConfig file (with Advertisement creation role) secret reference KubeConfigRef *v1.ObjectReference `json:"kubeConfigRef,omitempty"` // Local auth service address AuthUrl string `json:"authUrl"` }
PeeringRequestSpec defines the desired state of PeeringRequest
func (*PeeringRequestSpec) DeepCopy ¶
func (in *PeeringRequestSpec) DeepCopy() *PeeringRequestSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringRequestSpec.
func (*PeeringRequestSpec) DeepCopyInto ¶
func (in *PeeringRequestSpec) DeepCopyInto(out *PeeringRequestSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PeeringRequestStatus ¶
type PeeringRequestStatus struct { BroadcasterRef *object_references.DeploymentReference `json:"broadcasterRef,omitempty"` AdvertisementStatus advtypes.AdvPhase `json:"advertisementStatus,omitempty"` }
PeeringRequestStatus defines the observed state of PeeringRequest
func (*PeeringRequestStatus) DeepCopy ¶
func (in *PeeringRequestStatus) DeepCopy() *PeeringRequestStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PeeringRequestStatus.
func (*PeeringRequestStatus) DeepCopyInto ¶
func (in *PeeringRequestStatus) DeepCopyInto(out *PeeringRequestStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceLink ¶
type ResourceLink struct { // Indicates if the resource is available Available bool `json:"available"` // Object Reference to the resource Reference *v1.ObjectReference `json:"reference,omitempty"` }
func (*ResourceLink) DeepCopy ¶
func (in *ResourceLink) DeepCopy() *ResourceLink
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceLink.
func (*ResourceLink) DeepCopyInto ¶
func (in *ResourceLink) DeepCopyInto(out *ResourceLink)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
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"` // Namespace where Liqo is deployed Namespace string `json:"namespace"` // KubeConfig file (with Advertisement creation role) secret reference KubeConfigRef *v1.ObjectReference `json:"kubeConfigRef,omitempty"` // Local auth service address AuthUrl string `json:"authUrl"` }
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 { BroadcasterRef *object_references.DeploymentReference `json:"broadcasterRef,omitempty"` AdvertisementStatus advtypes.AdvPhase `json:"advertisementStatus,omitempty"` }
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.