v1alpha1

package
v0.11.0-rc.2 Latest Latest
Warning

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

Go to latest
Published: May 30, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the ipam v1alpha1 API group

Index

Constants

This section is empty.

Variables

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

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: SchemeGroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)
View Source
var (
	// IPKind is the kind name used to register the IP CRD.
	IPKind = "IP"

	// IPResource is the resource name used to register the IP CRD.
	IPResource = "ips"

	// IPGroupVersionResource is the group version resource used to register IP CRD.
	IPGroupVersionResource = SchemeGroupVersion.WithResource(IPResource)

	// IPGroupResource is the group resource used to register IP CRD.
	IPGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: IPResource}
)
View Source
var (
	// IpamStorageKind is the kind name used to register the IpamStorage CRD.
	IpamStorageKind = "IpamStorage"

	// IpamStorageResource is the resource name used to register the IpamStorage CRD.
	IpamStorageResource = "ipamstorages"

	// IpamStorageGroupVersionResource is the group version resource used to register IpamStorage CRD.
	IpamStorageGroupVersionResource = SchemeGroupVersion.WithResource(IpamStorageResource)

	// IpamStorageGroupResource is the group resource used to register IpamStorage CRD.
	IpamStorageGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: IpamStorageResource}
)
View Source
var (
	// NetworkKind is the kind name used to register the Network CRD.
	NetworkKind = "Network"

	// NetworkResource is the resource name used to register the Network CRD.
	NetworkResource = "networks"

	// NetworkGroupVersionResource is the group version resource used to register the Network CRD.
	NetworkGroupVersionResource = SchemeGroupVersion.WithResource(NetworkResource)

	// NetworkGroupResource is the group resource used to register the Network CRD.
	NetworkGroupResource = schema.GroupResource{Group: SchemeGroupVersion.Group, Resource: NetworkResource}
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource.

Types

type ClusterMapping

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

ClusterMapping is an empty struct.

func (*ClusterMapping) DeepCopy

func (in *ClusterMapping) DeepCopy() *ClusterMapping

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

func (*ClusterMapping) DeepCopyInto

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

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

type EndpointMapping

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

func (in *EndpointMapping) DeepCopy() *EndpointMapping

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

func (*EndpointMapping) DeepCopyInto

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

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

type IP

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

	Spec   IPSpec   `json:"spec"`
	Status IPStatus `json:"status,omitempty"`
}

IP is the Schema for the IP API.

func (*IP) DeepCopy

func (in *IP) DeepCopy() *IP

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

func (*IP) DeepCopyInto

func (in *IP) DeepCopyInto(out *IP)

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

func (*IP) DeepCopyObject

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

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

type IPList

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

IPList contains a list of IP.

func (*IPList) DeepCopy

func (in *IPList) DeepCopy() *IPList

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

func (*IPList) DeepCopyInto

func (in *IPList) DeepCopyInto(out *IPList)

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

func (*IPList) DeepCopyObject

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

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

type IPSpec

type IPSpec struct {
	// IP is the local IP.
	IP networkingv1alpha1.IP `json:"ip"`
	// ServiceTemplate contains the template to create the associated service (and endpointslice) for the IP endopoint.
	// If empty the creation of the service is disabled (default).
	// +kubebuilder:validation:Optional
	ServiceTemplate *ServiceTemplate `json:"serviceTemplate,omitempty"`
	// Masquerade is a flag to enable masquerade for the local IP on nodes.
	// If empty the masquerade is disabled.
	// +kubebuilder:validation:Optional
	Masquerade *bool `json:"masquerade,omitempty"`
}

IPSpec defines a local IP.

func (*IPSpec) DeepCopy

func (in *IPSpec) DeepCopy() *IPSpec

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

func (*IPSpec) DeepCopyInto

func (in *IPSpec) DeepCopyInto(out *IPSpec)

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

type IPStatus

type IPStatus struct {
	// IPMappings contains the mapping of the local IP for each remote cluster.
	IPMappings map[string]networkingv1alpha1.IP `json:"ipMappings,omitempty"`
}

IPStatus defines remapped IPs.

func (*IPStatus) DeepCopy

func (in *IPStatus) DeepCopy() *IPStatus

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

func (*IPStatus) DeepCopyInto

func (in *IPStatus) DeepCopyInto(out *IPStatus)

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

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

func (in *IpamStorageList) DeepCopy() *IpamStorageList

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

func (*IpamStorageList) DeepCopyInto

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

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

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

type Network

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

	Spec   NetworkSpec   `json:"spec"`
	Status NetworkStatus `json:"status,omitempty"`
}

Network is the Schema for the Network API.

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.

func (*Network) DeepCopyObject

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

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

type NetworkList

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

NetworkList contains a list of Network.

func (*NetworkList) DeepCopy

func (in *NetworkList) DeepCopy() *NetworkList

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

func (*NetworkList) DeepCopyInto

func (in *NetworkList) DeepCopyInto(out *NetworkList)

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

func (*NetworkList) DeepCopyObject

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

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

type NetworkSpec

type NetworkSpec struct {
	// CIDR is the desired CIDR for the remote cluster.
	CIDR v1alpha1networking.CIDR `json:"cidr"`
}

NetworkSpec defines the desired state of Network.

func (*NetworkSpec) DeepCopy

func (in *NetworkSpec) DeepCopy() *NetworkSpec

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

func (*NetworkSpec) DeepCopyInto

func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)

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

type NetworkStatus

type NetworkStatus struct {
	// CIDR is the remapped CIDR for the remote cluster.
	CIDR v1alpha1networking.CIDR `json:"cidr,omitempty"`
}

NetworkStatus defines the observed state of Network.

func (*NetworkStatus) DeepCopy

func (in *NetworkStatus) DeepCopy() *NetworkStatus

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

func (*NetworkStatus) DeepCopyInto

func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)

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

type ServiceTemplate

type ServiceTemplate struct {
	// Metadata of the Service.
	Metadata metav1.ObjectMeta `json:"metadata,omitempty"`
	// Template Spec of the Service.
	Spec v1.ServiceSpec `json:"spec,omitempty"`
}

ServiceTemplate contains the template to create the associated service (and endpointslice) for the IP endopoint.

func (*ServiceTemplate) DeepCopy

func (in *ServiceTemplate) DeepCopy() *ServiceTemplate

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

func (*ServiceTemplate) DeepCopyInto

func (in *ServiceTemplate) DeepCopyInto(out *ServiceTemplate)

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.

Jump to

Keyboard shortcuts

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