Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the dns v1alpha1 API group +kubebuilder:object:generate:=true +groupName=dns.fabedge.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // SchemeGroupVersion is group version used to register these objects SchemeGroupVersion = schema.GroupVersion{Group: "dns.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 Endpoint ¶
type Endpoint struct {
// addresses of this endpoint. The contents of this field are interpreted
// according to the corresponding EndpointSlice addressType field. Consumers
// must handle different types of addresses in the context of their own
// capabilities. This must contain at least one address but no more than
// 100.
// +listType=set
Addresses []string `json:"addresses"`
// hostname of this endpoint. This field may be used by consumers of
// endpoints to distinguish endpoints from each other (e.g. in DNS names).
// Multiple endpoints which use the same hostname should be considered
// fungible (e.g. multiple A values in DNS). Must be lowercase and pass DNS
// Label (RFC 1123) validation.
// +optional
Hostname *string `json:"hostname,omitempty"`
// targetRef is a reference to a Kubernetes object that represents this
// endpoint.
// +optional
TargetRef *corev1.ObjectReference `json:"targetRef,omitempty"`
// Cluster indicates the cluster where an endpoint is located
Cluster string `json:"cluster,omitempty"`
// Zone indicates the zone where the endpoint is located
Zone string `json:"zone,omitempty"`
// Region indicates the region where the endpoint is located
Region string `json:"region,omitempty"`
}
Endpoint represents a single logical "backend" implementing a service.
func (*Endpoint) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Endpoint.
func (*Endpoint) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type GlobalService ¶
type GlobalService struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec GlobalServiceSpec `json:"spec,omitempty"`
}
GlobalService is used to represent a service which can be accessed through multi-clusters A global services' endpoints can be services if its type is ClusterIP or pods if its type is Headless +genclient +kubebuilder:object:root=true +kubebuilder:printcolumn:name="Type",type="string",JSONPath=".spec.type",description="The type of global service" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="How long a global service is created"
func (*GlobalService) DeepCopy ¶
func (in *GlobalService) DeepCopy() *GlobalService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalService.
func (*GlobalService) DeepCopyInto ¶
func (in *GlobalService) DeepCopyInto(out *GlobalService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalService) DeepCopyObject ¶
func (in *GlobalService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalServiceList ¶
type GlobalServiceList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []GlobalService `json:"items,omitempty"`
}
GlobalServiceList contains a list of global services +kubebuilder:object:root=true
func (*GlobalServiceList) DeepCopy ¶
func (in *GlobalServiceList) DeepCopy() *GlobalServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalServiceList.
func (*GlobalServiceList) DeepCopyInto ¶
func (in *GlobalServiceList) DeepCopyInto(out *GlobalServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*GlobalServiceList) DeepCopyObject ¶
func (in *GlobalServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type GlobalServiceSpec ¶
type GlobalServiceSpec struct {
// Type represents the type of services which are the backends of a global service
// Must be ClusterIP or Headless
// +kubebuilder:validation:Enum=ClusterIP;Headless
Type ServiceType `json:"type,omitempty"`
Ports []ServicePort `json:"ports,omitempty"`
Endpoints []Endpoint `json:"endpoints,omitempty"`
}
GlobalServiceSpec describes global service and the information necessary to consume it.
func (*GlobalServiceSpec) DeepCopy ¶
func (in *GlobalServiceSpec) DeepCopy() *GlobalServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalServiceSpec.
func (*GlobalServiceSpec) DeepCopyInto ¶
func (in *GlobalServiceSpec) DeepCopyInto(out *GlobalServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePort ¶
type ServicePort struct {
// The name of this port within the service. This must be a DNS_LABEL.
// All ports within a ServiceSpec must have unique names. When considering
// the endpoints for a Service, this must match the 'name' field in the
// EndpointPort.
// Optional if only one ServicePort is defined on this service.
// +optional
Name string `json:"name,omitempty"`
// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
// Default is TCP.
// +optional
Protocol corev1.Protocol `json:"protocol,omitempty"`
// The application protocol for this port.
// This field follows standard Kubernetes label syntax.
// Un-prefixed names are reserved for IANA standard service names (as per
// RFC-6335 and http://www.iana.org/assignments/service-names).
// Non-standard protocols should use prefixed names such as
// mycompany.com/my-custom-protocol.
// Field can be enabled with ServiceAppProtocol feature gate.
// +optional
AppProtocol *string `json:"appProtocol,omitempty"`
// The port that will be exposed by this service.
Port int32 `json:"port,omitempty"`
}
ServicePort represents the port on which the service is exposed
func (*ServicePort) DeepCopy ¶
func (in *ServicePort) DeepCopy() *ServicePort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServicePort.
func (*ServicePort) DeepCopyInto ¶
func (in *ServicePort) DeepCopyInto(out *ServicePort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServiceType ¶
type ServiceType string
const ( ClusterIP ServiceType = "ClusterIP" Headless ServiceType = "Headless" )