Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the liqonetliqoio v1alpha1 API group +kubebuilder:object:generate=true +groupName=net.liqo.io
Index ¶
- Variables
- func CreateTunnelEndpointClient(kubeconfig string) (*crdClient.CRDClient, error)
- func Keyer(obj runtime.Object) (string, error)
- type Connection
- type ConnectionStatus
- type IpamList
- type IpamSpec
- type IpamStorage
- type NetworkConfig
- type NetworkConfigList
- type NetworkConfigSpec
- type NetworkConfigStatus
- type Subnets
- type TunnelEndpoint
- type TunnelEndpointList
- type TunnelEndpointSpec
- type TunnelEndpointStatus
Constants ¶
This section is empty.
Variables ¶
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 ¶
create a client for TunnelEndpoint CR using a provided kubeconfig
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpamList.
func (*IpamList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IpamList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IpamSpec.
func (*IpamSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnets.
func (*Subnets) DeepCopyInto ¶
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 ¶
func (in *TunnelEndpointStatus) DeepCopy() *TunnelEndpointStatus
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.