Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the ipam v1alpha1 API group
Index ¶
- Variables
- func Resource(resource string) schema.GroupResource
- type ClusterMapping
- type EndpointMapping
- type IP
- type IPList
- type IPSpec
- type IPStatus
- type IpamSpec
- type IpamStorage
- type IpamStorageList
- type Network
- type NetworkList
- type NetworkSpec
- type NetworkStatus
- type ServiceTemplate
- type Subnets
Constants ¶
This section is empty.
Variables ¶
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 )
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} )
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} )
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IP.
func (*IP) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IP) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPList.
func (*IPList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*IPList) DeepCopyObject ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPSpec.
func (*IPSpec) DeepCopyInto ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IPStatus.
func (*IPStatus) DeepCopyInto ¶
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 ¶
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"` }
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network.
func (*Network) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Network) DeepCopyObject ¶
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 ¶
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.