v1alpha1

package
v1.0.0 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: Apache-2.0 Imports: 4 Imported by: 3

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the community v1alpha1 API group +kubebuilder:object:generate:=true +groupName=fabedge.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "fabedge.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
)

Functions

This section is empty.

Types

type Cluster

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

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

Cluster is used to represent a cluster's endpoints of connector and edge nodes +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="CIDRs",type="string",JSONPath=".spec.cidrs",description="pod and service cidr list of cluster" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="How long a community is created"

func (*Cluster) DeepCopy

func (in *Cluster) DeepCopy() *Cluster

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

func (*Cluster) DeepCopyInto

func (in *Cluster) DeepCopyInto(out *Cluster)

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

func (*Cluster) DeepCopyObject

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

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

type ClusterList

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

ClusterList contains a list of clusters +kubebuilder:object:root=true

func (*ClusterList) DeepCopy

func (in *ClusterList) DeepCopy() *ClusterList

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

func (*ClusterList) DeepCopyInto

func (in *ClusterList) DeepCopyInto(out *ClusterList)

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

func (*ClusterList) DeepCopyObject

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

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

type ClusterSpec

type ClusterSpec struct {
	// Token is used by child cluster to access root cluster's apiserver
	Token string `json:"token,omitempty"`
	// CIDRs is supposed to contain cluster-cidr and cluster-service-ip-range of a cluster,
	// these are mainly used to create ippools to avoid SNAT in calico environment
	CIDRs []string `json:"cidrs,omitempty"`
	// Endpoints of connector and exported edge nodes of a cluster
	EndPoints []Endpoint `json:"endpoints,omitempty"`
}

func (*ClusterSpec) DeepCopy

func (in *ClusterSpec) DeepCopy() *ClusterSpec

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

func (*ClusterSpec) DeepCopyInto

func (in *ClusterSpec) DeepCopyInto(out *ClusterSpec)

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

type Community

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

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

Community is used to manage a communication unit, it's members should be edge nodes +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Members",type="string",JSONPath=".spec.members",description="community members" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="How long a community is created"

func (*Community) DeepCopy

func (in *Community) DeepCopy() *Community

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

func (*Community) DeepCopyInto

func (in *Community) DeepCopyInto(out *Community)

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

func (*Community) DeepCopyObject

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

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

type CommunityList

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

CommunityList contains a list of Community +kubebuilder:object:root=true

func (*CommunityList) DeepCopy

func (in *CommunityList) DeepCopy() *CommunityList

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

func (*CommunityList) DeepCopyInto

func (in *CommunityList) DeepCopyInto(out *CommunityList)

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

func (*CommunityList) DeepCopyObject

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

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

type CommunitySpec

type CommunitySpec struct {
	Members []string `json:"members,omitempty"`
}

func (*CommunitySpec) DeepCopy

func (in *CommunitySpec) DeepCopy() *CommunitySpec

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

func (*CommunitySpec) DeepCopyInto

func (in *CommunitySpec) DeepCopyInto(out *CommunitySpec)

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

type Endpoint

type Endpoint struct {
	ID   string `yaml:"id,omitempty" json:"id,omitempty"`
	Name string `yaml:"name,omitempty" json:"name,omitempty"`
	// public addresses can be IP, DNS
	PublicAddresses []string `yaml:"publicAddresses,omitempty" json:"publicAddresses,omitempty"`
	// pod subnets
	Subnets []string `yaml:"subnets,omitempty" json:"subnets,omitempty"`
	// internal IPs of kubernetes node
	NodeSubnets []string `yaml:"nodeSubnets,omitempty" json:"nodeSubnets,omitempty"`
	// Type of endpoints: Connector or EdgeNode
	Type EndpointType `yaml:"type,omitempty" json:"type,omitempty"`
	// public UDP port for IKE communication, only used to configure remote_port. Default: 500
	Port *uint `yaml:"port,omitempty" json:"port,omitempty"`
}

func (*Endpoint) DeepCopy

func (in *Endpoint) DeepCopy() *Endpoint

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

func (*Endpoint) DeepCopyInto

func (in *Endpoint) DeepCopyInto(out *Endpoint)

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

type EndpointType

type EndpointType string
const (
	Connector EndpointType = "Connector"
	EdgeNode  EndpointType = "EdgeNode"
)

Jump to

Keyboard shortcuts

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