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

This section is empty.

Variables

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

	TunnelEndpointGroupResource        = schema.GroupResource{Group: GroupVersion.Group, Resource: "tunnelendpoints"}
	TunnelEndpointGroupVersionResource = schema.GroupVersionResource{Group: GroupVersion.Group, Resource: "tunnelendpoints"}

	NetworkConfigGroupVersionResource = schema.GroupVersionResource{Group: GroupVersion.Group, Version: GroupVersion.Version, Resource: "networkconfigs"}

	IpamGroupResource = schema.GroupVersionResource{Group: GroupVersion.Group, Version: GroupVersion.Version, Resource: "ipamstorages"}

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

Functions

func CreateTunnelEndpointClient

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

create a client for TunnelEndpoint CR using a provided kubeconfig

func Keyer

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

Types

type Connection

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

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 ConnectionStatus

type ConnectionStatus string
const (
	Connected       ConnectionStatus = "connected"
	Connecting      ConnectionStatus = "connecting"
	ConnectionError ConnectionStatus = "error"
)

type IpamList

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

IpamList contains a list of Ipam

func (*IpamList) DeepCopy

func (in *IpamList) DeepCopy() *IpamList

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

func (*IpamList) DeepCopyInto

func (in *IpamList) DeepCopyInto(out *IpamList)

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

func (*IpamList) DeepCopyObject

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

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

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"`
	// 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"`
}

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"`
}

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

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 ID of the remote cluster that will receive this CRD
	ClusterID string `json:"clusterID"`
	// 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 {
	PodCIDR string `json:"podCIDR"`
	// Network used in remote cluster for local service endpoints
	RemoteExternalCIDR string `json:"remoteExternalCIDR"`
	// Network used in local cluster for remote service endpoints
	LocalExternalCIDR string `json:"localExternalCIDR"`
}

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="Endpoint IP",type=string,JSONPath=`.spec.endpointIP` +kubebuilder:printcolumn:name="Backend type",type=string,JSONPath=`.spec.backendType` +kubebuilder:printcolumn:name="Connection status",type=string,JSONPath=`.status.connection.status`

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 {
	// INSERT ADDITIONAL SPEC FIELDS - desired state of cluster
	// Important: Run "make" to regenerate code after modifying this file
	//the ID of the remote cluster that will receive this CRD
	ClusterID string `json:"clusterID"`
	// PodCIDR of remote cluster
	PodCIDR string `json:"podCIDR"`
	// ExternalCIDR of remote cluster
	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"`
}

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 {
	Phase string `json:"phase,omitempty"`
	// PodCIDR of local cluster
	LocalPodCIDR string `json:"localPodCIDR,omitempty"`
	// Network used in the remote cluster to map the local PodCIDR, in case of conflicts(in the remote cluster). Default is "None"
	LocalNATPodCIDR string `json:"localNATPodCIDR,omitempty"`
	// Network used in the local cluster to map the remote cluster PodCIDR, in case of conflicts with Spec.PodCIDR. Default is "None".
	RemoteNATPodCIDR string `json:"remoteNATPodCIDR,omitempty"`
	// ExternalCIDR of local cluster
	LocalExternalCIDR string `json:"localExternalCIDR,omitempty"`
	// Network used in the remote cluster to map the local ExternalCIDR, in case of conflicts(in the remote cluster). Default is "None"
	LocalNATExternalCIDR string `json:"localNATExternalCIDR,omitempty"`
	// Network used in the local cluster to map the remote cluster ExternalCIDR, in case of conflicts with Spec.ExternalCIDR. Default is "None".
	RemoteNATExternalCIDR string     `json:"remoteNATExternalCIDR,omitempty"`
	RemoteEndpointIP      string     `json:"remoteTunnelPublicIP,omitempty"`
	LocalEndpointIP       string     `json:"localTunnelPublicIP,omitempty"`
	TunnelIFaceIndex      int        `json:"tunnelIFaceIndex,omitempty"`
	TunnelIFaceName       string     `json:"tunnelIFaceName,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