v1alpha1

package
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 5 Imported by: 2

Documentation

Overview

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

Index

Constants

View Source
const (
	// Connected used when the connection is up and running.
	Connected ConnectionStatus = "Connected"
	// ConnectedMessage human-readable info when the vpn connection is in "connected" state.
	ConnectedMessage string = "VPN connection established"
	// Connecting used as temporary status while waiting for the vpn tunnel to come up.
	Connecting ConnectionStatus = "Connecting"
	// ConnectingMessage human-readable info when the vpn is in "connecting" state.
	ConnectingMessage string = "Waiting VPN connection to be established"
	// ConnectionError used to se the status in case of errors.
	ConnectionError ConnectionStatus = "Error"
	// ConnectionErrorMessage is the message sent when a connection error occurs.
	ConnectionErrorMessage string = "No network connectivity towards remote cluster"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "net.liqo.io", Version: "v1alpha1"}

	// TunnelEndpointGroupResource is group resource used to register tunnel endpoints.
	TunnelEndpointGroupResource = schema.GroupResource{Group: GroupVersion.Group,
		Resource: ResourceTunnelEndpoints}

	// TunnelEndpointGroupVersionResource is group version resource used by dynamic client.
	TunnelEndpointGroupVersionResource = schema.GroupVersionResource{Group: GroupVersion.Group,
		Version:  GroupVersion.Version,
		Resource: ResourceTunnelEndpoints}

	// NetworkConfigGroupResource is group resource used to register networkconfigs.
	NetworkConfigGroupResource = schema.GroupResource{Group: GroupVersion.Group,
		Resource: ResourceNetworkConfigs}

	// NetworkConfigGroupVersionResource is group version resource used by dynamic client.
	NetworkConfigGroupVersionResource = schema.GroupVersionResource{Group: GroupVersion.Group,
		Version:  GroupVersion.Version,
		Resource: ResourceNetworkConfigs}

	// IpamGroupResource is group resource used to register ipamstorages.
	IpamGroupResource = schema.GroupResource{Group: GroupVersion.Group,
		Resource: ResourceIpamStorages}

	// IpamGroupVersionResource is group version resource used by dynamic client.
	IpamGroupVersionResource = schema.GroupVersionResource{Group: GroupVersion.Group, Version: GroupVersion.Version,
		Resource: ResourceIpamStorages}

	// NatMappingGroupResource is group resource used to register natmappings.
	NatMappingGroupResource = schema.GroupVersionResource{Group: GroupVersion.Group, Version: GroupVersion.Version,
		Resource: "natmappings"}

	// 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
)
View Source
var ResourceIpamStorages = "ipamstorages"

ResourceIpamStorages the name of the ipamstorages resources.

View Source
var ResourceNetworkConfigs = "networkconfigs"

ResourceNetworkConfigs the name of the networmconfigs resources.

View Source
var ResourceTunnelEndpoints = "tunnelendpoints"

ResourceTunnelEndpoints the name of the tunnelendpoint resources.

Functions

This section is empty.

Types

type ClusterMapping added in v0.3.0

type ClusterMapping struct {
	// ExternalCIDRNattedIP belonging to cluster ExtenalCIDR assigned to this endpoint.
	ExternalCIDRNattedIP string `json:"ExternalCIDRNattedIP"`
}

ClusterMapping is an empty struct.

func (*ClusterMapping) DeepCopy added in v0.3.0

func (in *ClusterMapping) DeepCopy() *ClusterMapping

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

func (*ClusterMapping) DeepCopyInto added in v0.3.0

func (in *ClusterMapping) DeepCopyInto(out *ClusterMapping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConfiguredCluster added in v0.3.0

type ConfiguredCluster struct{}

ConfiguredCluster is an empty struct used as value for NatMappingsConfigured.

func (*ConfiguredCluster) DeepCopy added in v0.3.0

func (in *ConfiguredCluster) DeepCopy() *ConfiguredCluster

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

func (*ConfiguredCluster) DeepCopyInto added in v0.3.0

func (in *ConfiguredCluster) DeepCopyInto(out *ConfiguredCluster)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Connection

type Connection struct {
	Status            ConnectionStatus  `json:"status,omitempty"`
	StatusMessage     string            `json:"statusMessage,omitempty"`
	PeerConfiguration map[string]string `json:"peerConfiguration,omitempty"`
	Latency           ConnectionLatency `json:"latency,omitempty"`
}

Connection holds the configuration and status of a vpn tunnel connecting to remote cluster.

func (*Connection) DeepCopy

func (in *Connection) DeepCopy() *Connection

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

func (*Connection) DeepCopyInto

func (in *Connection) DeepCopyInto(out *Connection)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConnectionLatency added in v0.6.0

type ConnectionLatency struct {
	Value     string      `json:"value,omitempty"`
	Timestamp metav1.Time `json:"timestamp,omitempty"`
}

ConnectionLatency represents the latency between two clusters.

func (*ConnectionLatency) DeepCopy added in v0.6.0

func (in *ConnectionLatency) DeepCopy() *ConnectionLatency

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

func (*ConnectionLatency) DeepCopyInto added in v0.6.0

func (in *ConnectionLatency) DeepCopyInto(out *ConnectionLatency)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ConnectionStatus

type ConnectionStatus string

ConnectionStatus type that describes the status of vpn connection with a remote cluster.

type EndpointMapping added in v0.3.0

type EndpointMapping struct {
	// IP belonging to cluster LocalExternalCIDR assigned to this endpoint.
	ExternalCIDROriginalIP string `json:"ExternalCIDROriginalIP"`
	// Set of clusters to which this endpoint has been reflected. Only the key, which is the ClusterID, is useful.
	ClusterMappings map[string]ClusterMapping `json:"clusterMappings"`
}

EndpointMapping describes a relation between an enpoint IP and an IP belonging to ExternalCIDR.

func (*EndpointMapping) DeepCopy added in v0.3.0

func (in *EndpointMapping) DeepCopy() *EndpointMapping

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

func (*EndpointMapping) DeepCopyInto added in v0.3.0

func (in *EndpointMapping) DeepCopyInto(out *EndpointMapping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpamSpec

type IpamSpec struct {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	// Map consumed by go-ipam module. Key is prefic cidr, value is a Prefix.
	Prefixes map[string][]byte `json:"prefixes"`
	// Network pools.
	Pools []string `json:"pools"`
	// Reserved Networks. Subnets listed in this field are excluded from the list of possible subnets used for natting POD CIDR.
	ReservedSubnets []string `json:"reservedSubnets"`
	// Map used to keep track of networks assigned to clusters. Key is the remote cluster ID, value is a the set of
	// networks used by the remote cluster.
	ClusterSubnets map[string]Subnets `json:"clusterSubnets"`
	// Cluster ExternalCIDR
	ExternalCIDR string `json:"externalCIDR"`
	// Endpoint IP mappings. Key is the IP address of the local endpoint, value is an EndpointMapping struct
	// that contains the related IP belonging to the ExternalCIDR and also the list of clusters
	// on which this mapping is active
	EndpointMappings map[string]EndpointMapping `json:"endpointMappings"`
	// NatMappingsConfigured is a map that contains all the remote clusters
	// for which NatMappings have been already configured.
	// Key is a cluster ID, value is an empty struct.
	NatMappingsConfigured map[string]ConfiguredCluster `json:"natMappingsConfigured"`
	// Cluster PodCIDR
	PodCIDR string `json:"podCIDR"`
	// ServiceCIDR
	ServiceCIDR string `json:"serviceCIDR"`
}

IpamSpec defines the desired state of Ipam.

func (*IpamSpec) DeepCopy

func (in *IpamSpec) DeepCopy() *IpamSpec

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

func (*IpamSpec) DeepCopyInto

func (in *IpamSpec) DeepCopyInto(out *IpamSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type IpamStorage

type IpamStorage struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec IpamSpec `json:"spec,omitempty"`
}

IpamStorage is the Schema for the ipams API.

func (*IpamStorage) DeepCopy

func (in *IpamStorage) DeepCopy() *IpamStorage

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

func (*IpamStorage) DeepCopyInto

func (in *IpamStorage) DeepCopyInto(out *IpamStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IpamStorage) DeepCopyObject

func (in *IpamStorage) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type IpamStorageList added in v0.3.0

type IpamStorageList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []IpamStorage `json:"items"`
}

IpamStorageList contains a list of Ipam.

func (*IpamStorageList) DeepCopy added in v0.3.0

func (in *IpamStorageList) DeepCopy() *IpamStorageList

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

func (*IpamStorageList) DeepCopyInto added in v0.3.0

func (in *IpamStorageList) DeepCopyInto(out *IpamStorageList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*IpamStorageList) DeepCopyObject added in v0.3.0

func (in *IpamStorageList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type Mappings added in v0.3.0

type Mappings map[string]string

Mappings is the type describing a set mappings for a remote cluster. Key is the old IP, value is the new NAT-ted IP.

func (Mappings) DeepCopy added in v0.3.0

func (in Mappings) DeepCopy() Mappings

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

func (Mappings) DeepCopyInto added in v0.3.0

func (in Mappings) DeepCopyInto(out *Mappings)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NatMapping added in v0.3.0

type NatMapping struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NatMappingSpec   `json:"spec,omitempty"`
	Status NatMappingStatus `json:"status,omitempty"`
}

NatMapping is the Schema for the natmappings API.

func (*NatMapping) DeepCopy added in v0.3.0

func (in *NatMapping) DeepCopy() *NatMapping

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

func (*NatMapping) DeepCopyInto added in v0.3.0

func (in *NatMapping) DeepCopyInto(out *NatMapping)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NatMapping) DeepCopyObject added in v0.3.0

func (in *NatMapping) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NatMappingList added in v0.3.0

type NatMappingList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NatMapping `json:"items"`
}

NatMappingList contains a list of NatMapping.

func (*NatMappingList) DeepCopy added in v0.3.0

func (in *NatMappingList) DeepCopy() *NatMappingList

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

func (*NatMappingList) DeepCopyInto added in v0.3.0

func (in *NatMappingList) DeepCopyInto(out *NatMappingList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NatMappingList) DeepCopyObject added in v0.3.0

func (in *NatMappingList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NatMappingSpec added in v0.3.0

type NatMappingSpec struct {

	// ClusterID is the cluster this resource refers to.
	ClusterID string `json:"clusterID"`
	// PodCIDR is the network used for remote pods in the local cluster.
	// It can be either the RemotePodCIDR or the RemoteNATPodCIDR.
	PodCIDR string `json:"podCIDR"`
	// ExternalCIDR is the ExternalCIDR used in the remote cluster for local exported resource.
	// It can be either the LocalExternalCIDR or the LocalNATExternalCIDR.
	ExternalCIDR string `json:"externalCIDR"`
	// ClusterMappings is the set of NAT mappings currently active.
	ClusterMappings Mappings `json:"clusterMappings"`
}

NatMappingSpec defines the desired state of NatMapping.

func (*NatMappingSpec) DeepCopy added in v0.3.0

func (in *NatMappingSpec) DeepCopy() *NatMappingSpec

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

func (*NatMappingSpec) DeepCopyInto added in v0.3.0

func (in *NatMappingSpec) DeepCopyInto(out *NatMappingSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NatMappingStatus added in v0.3.0

type NatMappingStatus struct {
}

NatMappingStatus defines the observed state of NatMapping.

func (*NatMappingStatus) DeepCopy added in v0.3.0

func (in *NatMappingStatus) DeepCopy() *NatMappingStatus

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

func (*NatMappingStatus) DeepCopyInto added in v0.3.0

func (in *NatMappingStatus) DeepCopyInto(out *NatMappingStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkConfig

type NetworkConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   NetworkConfigSpec   `json:"spec,omitempty"`
	Status NetworkConfigStatus `json:"status,omitempty"`
}

NetworkConfig is the Schema for the networkconfigs API. +kubebuilder:printcolumn:name="Peering Cluster",type=string,JSONPath=`.spec.cluster.clusterName` +kubebuilder:printcolumn:name="Endpoint IP",type=string,JSONPath=`.spec.endpointIP`,priority=1 +kubebuilder:printcolumn:name="VPN Backend",type=string,JSONPath=`.spec.backendType`,priority=1 +kubebuilder:printcolumn:name="Processed",type=string,JSONPath=`.status.processed` +kubebuilder:printcolumn:name="Local",type=string,JSONPath=`.metadata.labels.liqo\.io/replication` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*NetworkConfig) DeepCopy

func (in *NetworkConfig) DeepCopy() *NetworkConfig

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

func (*NetworkConfig) DeepCopyInto

func (in *NetworkConfig) DeepCopyInto(out *NetworkConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkConfig) DeepCopyObject

func (in *NetworkConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkConfigList

type NetworkConfigList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []NetworkConfig `json:"items"`
}

NetworkConfigList contains a list of NetworkConfig.

func (*NetworkConfigList) DeepCopy

func (in *NetworkConfigList) DeepCopy() *NetworkConfigList

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

func (*NetworkConfigList) DeepCopyInto

func (in *NetworkConfigList) DeepCopyInto(out *NetworkConfigList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NetworkConfigList) DeepCopyObject

func (in *NetworkConfigList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type NetworkConfigSpec

type NetworkConfigSpec struct {

	// The remote cluster that will receive this CRD.
	RemoteCluster discoveryv1alpha1.ClusterIdentity `json:"cluster"`
	// Network used in the local cluster for the pod IPs.
	PodCIDR string `json:"podCIDR"`
	// Network used for local service endpoints.
	ExternalCIDR string `json:"externalCIDR"`
	// Public IP of the node where the VPN tunnel is created.
	EndpointIP string `json:"endpointIP"`
	// Vpn technology used to interconnect two clusters.
	BackendType string `json:"backendType"`
	// Connection parameters
	BackendConfig map[string]string `json:"backend_config"`
}

NetworkConfigSpec defines the desired state of NetworkConfig.

func (*NetworkConfigSpec) DeepCopy

func (in *NetworkConfigSpec) DeepCopy() *NetworkConfigSpec

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

func (*NetworkConfigSpec) DeepCopyInto

func (in *NetworkConfigSpec) DeepCopyInto(out *NetworkConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NetworkConfigStatus

type NetworkConfigStatus struct {

	// Indicates if this network config has been processed by the remote cluster.
	// +kubebuilder:default=false
	Processed bool `json:"processed"`
	// The new subnet used to NAT the podCidr of the remote cluster. The original PodCidr may have been mapped to this
	// network by the remote cluster.
	PodCIDRNAT string `json:"podCIDRNAT,omitempty"`
	// The new subnet used to NAT the externalCIDR of the remote cluster. The original ExternalCIDR may have been mapped
	// to this network by the remote cluster.
	ExternalCIDRNAT string `json:"externalCIDRNAT,omitempty"`
}

NetworkConfigStatus defines the observed state of NetworkConfig.

func (*NetworkConfigStatus) DeepCopy

func (in *NetworkConfigStatus) DeepCopy() *NetworkConfigStatus

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

func (*NetworkConfigStatus) DeepCopyInto

func (in *NetworkConfigStatus) DeepCopyInto(out *NetworkConfigStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Subnets

type Subnets struct {
	// Network used in the remote cluster for local Pods. Default is "None": this means remote cluster uses local cluster PodCIDR.
	LocalNATPodCIDR string `json:"localNATPodCIDR"`
	// Network used for Pods in the remote cluster.
	RemotePodCIDR string `json:"remotePodCIDR"`
	// Network used in remote cluster for local service endpoints. Default is "None": this means remote cluster uses local cluster ExternalCIDR.
	LocalNATExternalCIDR string `json:"localNATExternalCIDR"`
	// Network used in local cluster for remote service endpoints.
	RemoteExternalCIDR string `json:"remoteExternalCIDR"`
}

Subnets type contains relevant networks related to a remote cluster.

func (*Subnets) DeepCopy

func (in *Subnets) DeepCopy() *Subnets

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

func (*Subnets) DeepCopyInto

func (in *Subnets) DeepCopyInto(out *Subnets)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TunnelEndpoint

type TunnelEndpoint struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TunnelEndpointSpec   `json:"spec,omitempty"`
	Status TunnelEndpointStatus `json:"status,omitempty"`
}

TunnelEndpoint is the Schema for the endpoints API. +kubebuilder:printcolumn:name="Peering Cluster",type=string,JSONPath=`.spec.clusterIdentity.clusterName` +kubebuilder:printcolumn:name="Endpoint IP",type=string,JSONPath=`.spec.endpointIP`,priority=1 +kubebuilder:printcolumn:name="Backend type",type=string,JSONPath=`.spec.backendType` +kubebuilder:printcolumn:name="Latency",type=string,JSONPath=`.status.connection.latency.value`,priority=1 +kubebuilder:printcolumn:name="Connection status",type=string,JSONPath=`.status.connection.status` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp`

func (*TunnelEndpoint) DeepCopy

func (in *TunnelEndpoint) DeepCopy() *TunnelEndpoint

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

func (*TunnelEndpoint) DeepCopyInto

func (in *TunnelEndpoint) DeepCopyInto(out *TunnelEndpoint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TunnelEndpoint) DeepCopyObject

func (in *TunnelEndpoint) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TunnelEndpointList

type TunnelEndpointList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TunnelEndpoint `json:"items"`
}

TunnelEndpointList contains a list of TunnelEndpoint.

func (*TunnelEndpointList) DeepCopy

func (in *TunnelEndpointList) DeepCopy() *TunnelEndpointList

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

func (*TunnelEndpointList) DeepCopyInto

func (in *TunnelEndpointList) DeepCopyInto(out *TunnelEndpointList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TunnelEndpointList) DeepCopyObject

func (in *TunnelEndpointList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TunnelEndpointSpec

type TunnelEndpointSpec struct {
	// The identity of the remote cluster.
	ClusterIdentity discv1alpha1.ClusterIdentity `json:"clusterIdentity"`

	// PodCIDR of local cluster.
	LocalPodCIDR string `json:"localPodCIDR"`
	// Network used in the remote cluster to map the local PodCIDR, in case of conflicts (in the remote cluster).
	// +kubebuilder:default="None"
	// +kubebuilder:validation:Optional
	LocalNATPodCIDR string `json:"localNATPodCIDR"`
	// ExternalCIDR of local cluster.
	LocalExternalCIDR string `json:"localExternalCIDR"`
	// Network used in the remote cluster to map the local ExternalCIDR, in case of conflicts (in the remote cluster).
	// +kubebuilder:default="None"
	// +kubebuilder:validation:Optional
	LocalNATExternalCIDR string `json:"localNATExternalCIDR"`

	// PodCIDR of remote cluster.
	RemotePodCIDR string `json:"remotePodCIDR"`
	// Network used in the local cluster to map the remote cluster PodCIDR, in case of conflicts with RemotePodCIDR.
	// +kubebuilder:default="None"
	// +kubebuilder:validation:Optional
	RemoteNATPodCIDR string `json:"remoteNATPodCIDR"`
	// ExternalCIDR of remote cluster.
	RemoteExternalCIDR string `json:"remoteExternalCIDR"`
	// Network used in the local cluster to map the remote cluster ExternalCIDR, in case of conflicts with RemoteExternalCIDR.
	// +kubebuilder:default="None"
	// +kubebuilder:validation:Optional
	RemoteNATExternalCIDR string `json:"remoteNATExternalCIDR"`

	// Public IP of the node where the VPN tunnel is created.
	EndpointIP string `json:"endpointIP"`
	// Vpn technology used to interconnect two clusters.
	BackendType string `json:"backendType"`
	// Connection parameters.
	BackendConfig map[string]string `json:"backend_config"`
}

TunnelEndpointSpec defines the desired state of TunnelEndpoint.

func (*TunnelEndpointSpec) DeepCopy

func (in *TunnelEndpointSpec) DeepCopy() *TunnelEndpointSpec

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

func (*TunnelEndpointSpec) DeepCopyInto

func (in *TunnelEndpointSpec) DeepCopyInto(out *TunnelEndpointSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TunnelEndpointStatus

type TunnelEndpointStatus struct {
	TunnelIFaceIndex int        `json:"tunnelIFaceIndex,omitempty"`
	TunnelIFaceName  string     `json:"tunnelIFaceName,omitempty"`
	VethIFaceIndex   int        `json:"vethIFaceIndex,omitempty"`
	VethIFaceName    string     `json:"vethIFaceName,omitempty"`
	VethIP           string     `json:"vethIP,omitempty"`
	GatewayIP        string     `json:"gatewayIP,omitempty"`
	Connection       Connection `json:"connection,omitempty"`
}

TunnelEndpointStatus defines the observed state of TunnelEndpoint.

func (*TunnelEndpointStatus) DeepCopy

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

func (*TunnelEndpointStatus) DeepCopyInto

func (in *TunnelEndpointStatus) DeepCopyInto(out *TunnelEndpointStatus)

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