v1alpha1

package
v0.2.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 29, 2021 License: Apache-2.0 Imports: 21 Imported by: 6

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the discovery v1alpha1 API group +kubebuilder:object:generate=true +groupName=discovery.liqo.io

Index

Constants

This section is empty.

Variables

View Source
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

func CreateForeignClusterClient(kubeconfig string) (*crdClient.CRDClient, error)

CreateForeignClusterClient creates a client for ForeignCluster CR using a provided kubeconfig.

func CreatePeeringRequestClient

func CreatePeeringRequestClient(kubeconfig string) (*crdClient.CRDClient, error)

create a client for ClusterConfig CR using a provided kubeconfig

func ForeignClusterKeyer

func ForeignClusterKeyer(obj runtime.Object) (string, error)

func Keyer

func Keyer(obj runtime.Object) (string, error)

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

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

func (in *Incoming) DeepCopy() *Incoming

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Incoming.

func (*Incoming) DeepCopyInto

func (in *Incoming) DeepCopyInto(out *Incoming)

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

func (in *Network) DeepCopy() *Network

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

func (in *Outgoing) DeepCopy() *Outgoing

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Outgoing.

func (*Outgoing) DeepCopyInto

func (in *Outgoing) DeepCopyInto(out *Outgoing)

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

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 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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL