Documentation ¶
Overview ¶
+groupName=kubelb.k8c.io
Package v1alpha1 contains API Schema definitions for the kubelb.k8c.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=kubelb.k8c.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type Addresses
- type AddressesList
- type AddressesSpec
- type AddressesStatus
- type AnnotationSettings
- type ConditionType
- type Config
- type ConfigList
- type ConfigSpec
- type EndpointAddress
- type EndpointPort
- type EnvoyProxy
- type EnvoyProxyTopology
- type GatewayAPISettings
- type IngressSettings
- type KubernetesSource
- type LoadBalancer
- type LoadBalancerEndpoints
- type LoadBalancerList
- type LoadBalancerPort
- type LoadBalancerSettings
- type LoadBalancerSpec
- type LoadBalancerStatus
- type ResourceState
- type Route
- type RouteList
- type RouteResourcesStatus
- type RouteServiceStatus
- type RouteSource
- type RouteSpec
- type RouteStatus
- type ServicePort
- type ServiceStatus
- type SyncSecret
- type SyncSecretList
- type Tenant
- type TenantList
- type TenantSpec
- type TenantStatus
- type UpstreamReferenceGrant
- type UpstreamService
Constants ¶
const (
// DefaultAddressName is the default name for the Addresses object.
DefaultAddressName = "default"
)
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "kubelb.k8c.io", Version: "v1alpha1"} // 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 )
var PropagateAnnotation = "kubelb.k8c.io/propagate-annotation"
PropagateAnnotation controls the annotations propagation. It is possible to provide optional list of comma separated values after '=', other annotations not reppresented by any key or not matching the optional values are dropped. To configure multiple different annotations, you can provide unique suffix e.g. "kubelb.k8c.io/propagate-annotation-1"
var SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Types ¶
type Addresses ¶
type Addresses struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec AddressesSpec `json:"spec,omitempty"` Status AddressesStatus `json:"status,omitempty"` }
Addresses is the Schema for the addresses API
func (*Addresses) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addresses.
func (*Addresses) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Addresses) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddressesList ¶
type AddressesList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Addresses `json:"items"` }
AddressesList contains a list of Addresses
func (*AddressesList) DeepCopy ¶
func (in *AddressesList) DeepCopy() *AddressesList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressesList.
func (*AddressesList) DeepCopyInto ¶
func (in *AddressesList) DeepCopyInto(out *AddressesList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddressesList) DeepCopyObject ¶
func (in *AddressesList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddressesSpec ¶
type AddressesSpec struct { // Addresses contains a list of addresses. // +kubebuilder:validation:MinItems:=1 Addresses []EndpointAddress `json:"addresses,omitempty" protobuf:"bytes,1,rep,name=addresses"` }
AddressesSpec defines the desired state of Addresses
func (*AddressesSpec) DeepCopy ¶
func (in *AddressesSpec) DeepCopy() *AddressesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressesSpec.
func (*AddressesSpec) DeepCopyInto ¶
func (in *AddressesSpec) DeepCopyInto(out *AddressesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddressesStatus ¶
type AddressesStatus struct { }
AddressesStatus defines the observed state of Addresses
func (*AddressesStatus) DeepCopy ¶
func (in *AddressesStatus) DeepCopy() *AddressesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressesStatus.
func (*AddressesStatus) DeepCopyInto ¶
func (in *AddressesStatus) DeepCopyInto(out *AddressesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AnnotationSettings ¶
type AnnotationSettings struct { // PropagatedAnnotations defines the list of annotations(key-value pairs) that will be propagated to the LoadBalancer service. Keep the `value` field empty in the key-value pair to allow any value. // This will have a higher precedence than the annotations specified at the Config level. // +optional PropagatedAnnotations *map[string]string `json:"propagatedAnnotations,omitempty"` // PropagateAllAnnotations defines whether all annotations will be propagated to the LoadBalancer service. If set to true, PropagatedAnnotations will be ignored. // This will have a higher precedence than the value specified at the Config level. // +optional PropagateAllAnnotations *bool `json:"propagateAllAnnotations,omitempty"` }
func (*AnnotationSettings) DeepCopy ¶
func (in *AnnotationSettings) DeepCopy() *AnnotationSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AnnotationSettings.
func (*AnnotationSettings) DeepCopyInto ¶
func (in *AnnotationSettings) DeepCopyInto(out *AnnotationSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ConditionType ¶
type ConditionType string
const (
ConditionResourceAppliedSuccessfully ConditionType = "ResourceAppliedSuccessfully"
)
func (ConditionType) String ¶
func (t ConditionType) String() string
type Config ¶
type Config struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec ConfigSpec `json:"spec,omitempty"` }
Config is the object that represents the Config for the KubeLB management controller.
func (*Config) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Config.
func (*Config) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Config) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Config) GetEnvoyProxyTopology ¶
func (c *Config) GetEnvoyProxyTopology() EnvoyProxyTopology
func (*Config) IsGlobalTopology ¶
type ConfigList ¶
type ConfigList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Config `json:"items"` }
ConfigList contains a list of Config
func (*ConfigList) DeepCopy ¶
func (in *ConfigList) DeepCopy() *ConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigList.
func (*ConfigList) DeepCopyInto ¶
func (in *ConfigList) DeepCopyInto(out *ConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ConfigList) DeepCopyObject ¶
func (in *ConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ConfigSpec ¶
type ConfigSpec struct { AnnotationSettings `json:",inline"` // EnvoyProxy defines the desired state of the Envoy Proxy EnvoyProxy EnvoyProxy `json:"envoyProxy,omitempty"` LoadBalancer LoadBalancerSettings `json:"loadBalancer,omitempty"` Ingress IngressSettings `json:"ingress,omitempty"` GatewayAPI GatewayAPISettings `json:"gatewayAPI,omitempty"` }
ConfigSpec defines the desired state of the Config
func (*ConfigSpec) DeepCopy ¶
func (in *ConfigSpec) DeepCopy() *ConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigSpec.
func (*ConfigSpec) DeepCopyInto ¶
func (in *ConfigSpec) DeepCopyInto(out *ConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointAddress ¶
type EndpointAddress struct { // The IP of this endpoint. // May not be loopback (127.0.0.0/8), link-local (169.254.0.0/16), // or link-local multicast ((224.0.0.0/24). // +kubebuilder:validation:MinLength=7 IP string `json:"ip" protobuf:"bytes,1,opt,name=ip"` // The Hostname of this endpoint // +optional Hostname string `json:"hostname,omitempty" protobuf:"bytes,3,opt,name=hostname"` }
EndpointAddress is a tuple that describes single IP address.
func (*EndpointAddress) DeepCopy ¶
func (in *EndpointAddress) DeepCopy() *EndpointAddress
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointAddress.
func (*EndpointAddress) DeepCopyInto ¶
func (in *EndpointAddress) DeepCopyInto(out *EndpointAddress)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EndpointPort ¶
type EndpointPort struct { // The name of this port. This must match the 'name' field in the // corresponding ServicePort. // Must be a DNS_LABEL. // Optional only if one port is defined. // +optional Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // The port number of the endpoint. Port int32 `json:"port" protobuf:"varint,2,opt,name=port"` // The IP protocol for this port. Defaults to "TCP". // +kubebuilder:validation:Enum=TCP;UDP Protocol corev1.Protocol `json:"protocol,omitempty" protobuf:"bytes,3,opt,name=protocol,casttype=Protocol"` }
EndpointPort is a tuple that describes a single port.
func (*EndpointPort) DeepCopy ¶
func (in *EndpointPort) DeepCopy() *EndpointPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EndpointPort.
func (*EndpointPort) DeepCopyInto ¶
func (in *EndpointPort) DeepCopyInto(out *EndpointPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyProxy ¶
type EnvoyProxy struct { // Topology defines the deployment topology for Envoy Proxy. Valid values are: shared and global. // DEPRECATION NOTICE: The value "dedicated" is deprecated and will be removed in a future release. Dedicated topology will now default to shared topology. // +optional Topology EnvoyProxyTopology `json:"topology,omitempty"` // UseDaemonset defines whether Envoy Proxy will run as daemonset. By default, Envoy Proxy will run as deployment. // If set to true, Replicas will be ignored. // +optional UseDaemonset bool `json:"useDaemonset,omitempty"` // Replicas defines the number of replicas for Envoy Proxy. This field is ignored if UseDaemonset is set to true. // +kubebuilder:validation:Minimum=1 // +kubebuilder:default=3 // +optional Replicas int32 `json:"replicas,omitempty"` // SinglePodPerNode defines whether Envoy Proxy pods will be spread across nodes. This ensures that multiple replicas are not running on the same node. // +optional SinglePodPerNode bool `json:"singlePodPerNode,omitempty"` // NodeSelector is used to select nodes to run Envoy Proxy. If specified, the node must have all the indicated labels. // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` // Tolerations is used to schedule Envoy Proxy pods on nodes with matching taints. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` // Resources defines the resource requirements for Envoy Proxy. // +optional Resources *corev1.ResourceRequirements `json:"resources,omitempty"` // Affinity is used to schedule Envoy Proxy pods on nodes with matching affinity. // +optional Affinity *corev1.Affinity `json:"affinity,omitempty"` }
EnvoyProxy defines the desired state of the EnvoyProxy
func (*EnvoyProxy) DeepCopy ¶
func (in *EnvoyProxy) DeepCopy() *EnvoyProxy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyProxy.
func (*EnvoyProxy) DeepCopyInto ¶
func (in *EnvoyProxy) DeepCopyInto(out *EnvoyProxy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyProxyTopology ¶
type EnvoyProxyTopology string
const ( EnvoyProxyTopologyDedicated EnvoyProxyTopology = "dedicated" EnvoyProxyTopologyGlobal EnvoyProxyTopology = "global" )
type GatewayAPISettings ¶
type GatewayAPISettings struct { // Class is the class of the gateway API to use. This can be used to specify a specific gateway API implementation. // This has higher precedence than the value specified in the Config. // +optional Class *string `json:"class,omitempty"` // Disable is a flag that can be used to disable Gateway API for a tenant. Disable bool `json:"disable,omitempty"` }
GatewayAPISettings defines the settings for the gateway API.
func (*GatewayAPISettings) DeepCopy ¶
func (in *GatewayAPISettings) DeepCopy() *GatewayAPISettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GatewayAPISettings.
func (*GatewayAPISettings) DeepCopyInto ¶
func (in *GatewayAPISettings) DeepCopyInto(out *GatewayAPISettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type IngressSettings ¶
type IngressSettings struct { // Class is the class of the ingress to use. // This has higher precedence than the value specified in the Config. // +optional Class *string `json:"class,omitempty"` // Disable is a flag that can be used to disable Ingress for a tenant. Disable bool `json:"disable,omitempty"` }
IngressSettings defines the settings for the ingress.
func (*IngressSettings) DeepCopy ¶
func (in *IngressSettings) DeepCopy() *IngressSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new IngressSettings.
func (*IngressSettings) DeepCopyInto ¶
func (in *IngressSettings) DeepCopyInto(out *IngressSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubernetesSource ¶
type KubernetesSource struct { // +optional // +kubebuilder:validation:EmbeddedResource // +kubebuilder:pruning:PreserveUnknownFields Route unstructured.Unstructured `json:"resource,omitempty"` // Services contains the list of services that are used as the source for the Route. // +kubebuilder:pruning:PreserveUnknownFields Services []UpstreamService `json:"services,omitempty"` }
func (*KubernetesSource) DeepCopy ¶
func (in *KubernetesSource) DeepCopy() *KubernetesSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubernetesSource.
func (*KubernetesSource) DeepCopyInto ¶
func (in *KubernetesSource) DeepCopyInto(out *KubernetesSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancer ¶
type LoadBalancer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LoadBalancerSpec `json:"spec,omitempty"` Status LoadBalancerStatus `json:"status,omitempty"` }
LoadBalancer is the Schema for the loadbalancers API
func (*LoadBalancer) DeepCopy ¶
func (in *LoadBalancer) DeepCopy() *LoadBalancer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancer.
func (*LoadBalancer) DeepCopyInto ¶
func (in *LoadBalancer) DeepCopyInto(out *LoadBalancer)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancer) DeepCopyObject ¶
func (in *LoadBalancer) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerEndpoints ¶
type LoadBalancerEndpoints struct { // Name is the name of the endpoints. Name string `json:"name,omitempty" protobuf:"bytes,1,opt,name=name"` // IP addresses which offer the related ports that are marked as ready. These endpoints // should be considered safe for load balancers and clients to utilize. // +kubebuilder:validation:MinItems:=1 Addresses []EndpointAddress `json:"addresses,omitempty" protobuf:"bytes,1,rep,name=addresses"` // AddressesReference is a reference to the Addresses object that contains the IP addresses. // If this field is set, the Addresses field will be ignored. // +optional AddressesReference *corev1.ObjectReference `json:"addressesReference,omitempty" protobuf:"bytes,2,opt,name=addressesReference"` // Port numbers available on the related IP addresses. // This field is ignored for routes that are using kubernetes resources as the source. // +optional // +kubebuilder:validation:MinItems=1 Ports []EndpointPort `json:"ports,omitempty" protobuf:"bytes,3,rep,name=ports"` }
LoadBalancerEndpoints is a group of addresses with a common set of ports. The expanded set of endpoints is the Cartesian product of Addresses x Ports. For example, given:
{ Addresses: [{"ip": "10.10.1.1"}, {"ip": "10.10.2.2"}], Ports: [{"name": "a", "port": 8675}, {"name": "b", "port": 309}] }
The resulting set of endpoints can be viewed as:
a: [ 10.10.1.1:8675, 10.10.2.2:8675 ], b: [ 10.10.1.1:309, 10.10.2.2:309 ]
func (*LoadBalancerEndpoints) DeepCopy ¶
func (in *LoadBalancerEndpoints) DeepCopy() *LoadBalancerEndpoints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerEndpoints.
func (*LoadBalancerEndpoints) DeepCopyInto ¶
func (in *LoadBalancerEndpoints) DeepCopyInto(out *LoadBalancerEndpoints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerList ¶
type LoadBalancerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LoadBalancer `json:"items"` }
LoadBalancerList contains a list of LoadBalancer
func (*LoadBalancerList) DeepCopy ¶
func (in *LoadBalancerList) DeepCopy() *LoadBalancerList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerList.
func (*LoadBalancerList) DeepCopyInto ¶
func (in *LoadBalancerList) DeepCopyInto(out *LoadBalancerList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LoadBalancerList) DeepCopyObject ¶
func (in *LoadBalancerList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LoadBalancerPort ¶
type LoadBalancerPort struct { // The name of this port within the service. This must be a DNS_LABEL. // All ports within a Spec 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" protobuf:"bytes,1,opt,name=name"` // The IP protocol for this port. Defaults to "TCP". // +kubebuilder:validation:Enum=TCP;UDP Protocol corev1.Protocol `json:"protocol,omitempty" protobuf:"bytes,2,opt,name=protocol,casttype=Protocol"` // The port that will be exposed by the LoadBalancer. Port int32 `json:"port" protobuf:"varint,3,opt,name=port"` }
LoadBalancerPort contains information on service's port.
func (*LoadBalancerPort) DeepCopy ¶
func (in *LoadBalancerPort) DeepCopy() *LoadBalancerPort
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerPort.
func (*LoadBalancerPort) DeepCopyInto ¶
func (in *LoadBalancerPort) DeepCopyInto(out *LoadBalancerPort)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerSettings ¶
type LoadBalancerSettings struct { // Class is the class of the load balancer to use. // This has higher precedence than the value specified in the Config. // +optional Class *string `json:"class,omitempty"` // Disable is a flag that can be used to disable L4 load balancing for a tenant. Disable bool `json:"disable,omitempty"` }
LoadBalancerSettings defines the settings for the load balancers.
func (*LoadBalancerSettings) DeepCopy ¶
func (in *LoadBalancerSettings) DeepCopy() *LoadBalancerSettings
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSettings.
func (*LoadBalancerSettings) DeepCopyInto ¶
func (in *LoadBalancerSettings) DeepCopyInto(out *LoadBalancerSettings)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerSpec ¶
type LoadBalancerSpec struct { // Sets of addresses and ports that comprise an exposed user service on a cluster. // +required // +kubebuilder:validation:MinItems=1 Endpoints []LoadBalancerEndpoints `json:"endpoints,omitempty"` // The list of ports that are exposed by the load balancer service. // only needed for layer 4 // +optional Ports []LoadBalancerPort `json:"ports,omitempty"` // type determines how the Service is exposed. Defaults to ClusterIP. Valid // options are ExternalName, ClusterIP, NodePort, and LoadBalancer. // "ExternalName" maps to the specified externalName. // "ClusterIP" allocates a cluster-internal IP address for load-balancing to // endpoints. Endpoints are determined by the selector or if that is not // specified, by manual construction of an Endpoints object. If clusterIP is // "None", no virtual IP is allocated and the endpoints are published as a // set of endpoints rather than a stable IP. // "NodePort" builds on ClusterIP and allocates a port on every node which // routes to the clusterIP. // "LoadBalancer" builds on NodePort and creates an // external load-balancer (if supported in the current cloud) which routes // to the clusterIP. // More info: https://kubernetes.io/docs/concepts/services-networking/service/#publishing-services-service-types // +optional // +kubebuilder:default=ClusterIP Type corev1.ServiceType `json:"type,omitempty" protobuf:"bytes,4,opt,name=type,casttype=ServiceType"` }
LoadBalancerSpec defines the desired state of LoadBalancer
func (*LoadBalancerSpec) DeepCopy ¶
func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSpec.
func (*LoadBalancerSpec) DeepCopyInto ¶
func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerStatus ¶
type LoadBalancerStatus struct { // LoadBalancer contains the current status of the load-balancer, // if one is present. // +optional LoadBalancer corev1.LoadBalancerStatus `json:"loadBalancer,omitempty" protobuf:"bytes,1,opt,name=loadBalancer"` // Service contains the current status of the LB service. // +optional Service ServiceStatus `json:"service,omitempty" protobuf:"bytes,2,opt,name=service"` }
LoadBalancerStatus defines the observed state of LoadBalancer
func (*LoadBalancerStatus) DeepCopy ¶
func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerStatus.
func (*LoadBalancerStatus) DeepCopyInto ¶
func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceState ¶
type ResourceState struct { // APIVersion is the API version of the resource. APIVersion string `json:"apiVersion,omitempty"` // Kind is the kind of the resource. Kind string `json:"kind,omitempty"` // Name is the name of the resource. Name string `json:"name,omitempty"` // Namespace is the namespace of the resource. Namespace string `json:"namespace,omitempty"` // GeneratedName is the generated name of the resource. GeneratedName string `json:"generatedName,omitempty"` // Status is the actual status of the resource. Status runtime.RawExtension `json:"status,omitempty"` Conditions []metav1.Condition `json:"conditions,omitempty"` }
func (*ResourceState) DeepCopy ¶
func (in *ResourceState) DeepCopy() *ResourceState
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceState.
func (*ResourceState) DeepCopyInto ¶
func (in *ResourceState) DeepCopyInto(out *ResourceState)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Route ¶
type Route struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RouteSpec `json:"spec,omitempty"` Status RouteStatus `json:"status,omitempty"` }
Route is the object that represents a route in the cluster.
func (*Route) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.
func (*Route) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Route) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RouteList ¶
type RouteList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Route `json:"items"` }
RouteList contains a list of Routes
func (*RouteList) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList.
func (*RouteList) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RouteList) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RouteResourcesStatus ¶
type RouteResourcesStatus struct { Source string `json:"source,omitempty"` Services map[string]RouteServiceStatus `json:"services,omitempty"` Route ResourceState `json:"route,omitempty"` }
func (*RouteResourcesStatus) DeepCopy ¶
func (in *RouteResourcesStatus) DeepCopy() *RouteResourcesStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteResourcesStatus.
func (*RouteResourcesStatus) DeepCopyInto ¶
func (in *RouteResourcesStatus) DeepCopyInto(out *RouteResourcesStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteServiceStatus ¶
type RouteServiceStatus struct { ResourceState `json:",inline"` Ports []corev1.ServicePort `json:"ports,omitempty"` }
func (*RouteServiceStatus) DeepCopy ¶
func (in *RouteServiceStatus) DeepCopy() *RouteServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteServiceStatus.
func (*RouteServiceStatus) DeepCopyInto ¶
func (in *RouteServiceStatus) DeepCopyInto(out *RouteServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteSource ¶
type RouteSource struct { // Kubernetes contains the information about the Kubernetes source. // This field is automatically populated by the KubeLB CCM and in most cases, users should not set this field manually. Kubernetes *KubernetesSource `json:"kubernetes,omitempty"` }
func (*RouteSource) DeepCopy ¶
func (in *RouteSource) DeepCopy() *RouteSource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSource.
func (*RouteSource) DeepCopyInto ¶
func (in *RouteSource) DeepCopyInto(out *RouteSource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteSpec ¶
type RouteSpec struct { // Sets of addresses and ports that comprise an exposed user service on a cluster. // +required // +kubebuilder:validation:MinItems=1 Endpoints []LoadBalancerEndpoints `json:"endpoints,omitempty"` // Source contains the information about the source of the route. This is used when the route is created from external sources. // +optional Source RouteSource `json:"source,omitempty"` }
RouteSpec defines the desired state of the Route.
func (*RouteSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.
func (*RouteSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RouteStatus ¶
type RouteStatus struct { // Resources contains the list of resources that are created/processed as a result of the Route. Resources RouteResourcesStatus `json:"resources,omitempty"` }
RouteStatus defines the observed state of the Route.
func (*RouteStatus) DeepCopy ¶
func (in *RouteStatus) DeepCopy() *RouteStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus.
func (*RouteStatus) DeepCopyInto ¶
func (in *RouteStatus) DeepCopyInto(out *RouteStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ServicePort ¶
type ServicePort struct { corev1.ServicePort `json:",inline"` UpstreamTargetPort int32 `json:"upstreamTargetPort" protobuf:"bytes,4,opt,name=port"` }
ServicePort contains information on service's port.
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 ServiceStatus ¶
type ServiceStatus struct {
Ports []ServicePort `json:"ports,omitempty" protobuf:"bytes,1,rep,name=ports"`
}
func (*ServiceStatus) DeepCopy ¶
func (in *ServiceStatus) DeepCopy() *ServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceStatus.
func (*ServiceStatus) DeepCopyInto ¶
func (in *ServiceStatus) DeepCopyInto(out *ServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SyncSecret ¶
type SyncSecret struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Immutable *bool `json:"immutable,omitempty" protobuf:"varint,5,opt,name=immutable"` // +optional Data map[string][]byte `json:"data,omitempty" protobuf:"bytes,2,rep,name=data"` // +k8s:conversion-gen=false // +optional StringData map[string]string `json:"stringData,omitempty" protobuf:"bytes,4,rep,name=stringData"` // +optional Type corev1.SecretType `json:"type,omitempty" protobuf:"bytes,3,opt,name=type,casttype=SecretType"` }
SyncSecret is a wrapper over Kubernetes Secret object. This is used to sync secrets from tenants to the LB cluster in a controlled and secure way.
func (*SyncSecret) DeepCopy ¶
func (in *SyncSecret) DeepCopy() *SyncSecret
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSecret.
func (*SyncSecret) DeepCopyInto ¶
func (in *SyncSecret) DeepCopyInto(out *SyncSecret)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyncSecret) DeepCopyObject ¶
func (in *SyncSecret) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SyncSecretList ¶
type SyncSecretList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []SyncSecret `json:"items"` }
SyncSecretList contains a list of SyncSecrets
func (*SyncSecretList) DeepCopy ¶
func (in *SyncSecretList) DeepCopy() *SyncSecretList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SyncSecretList.
func (*SyncSecretList) DeepCopyInto ¶
func (in *SyncSecretList) DeepCopyInto(out *SyncSecretList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SyncSecretList) DeepCopyObject ¶
func (in *SyncSecretList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type Tenant ¶
type Tenant struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec TenantSpec `json:"spec,omitempty"` Status TenantStatus `json:"status,omitempty"` }
Tenant is the Schema for the tenants API
func (*Tenant) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Tenant.
func (*Tenant) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Tenant) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantList ¶
type TenantList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []Tenant `json:"items"` }
TenantList contains a list of Tenant
func (*TenantList) DeepCopy ¶
func (in *TenantList) DeepCopy() *TenantList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantList.
func (*TenantList) DeepCopyInto ¶
func (in *TenantList) DeepCopyInto(out *TenantList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*TenantList) DeepCopyObject ¶
func (in *TenantList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type TenantSpec ¶
type TenantSpec struct { AnnotationSettings `json:",inline"` LoadBalancer LoadBalancerSettings `json:"loadBalancer,omitempty"` Ingress IngressSettings `json:"ingress,omitempty"` GatewayAPI GatewayAPISettings `json:"gatewayAPI,omitempty"` }
TenantSpec defines the desired state of Tenant
func (*TenantSpec) DeepCopy ¶
func (in *TenantSpec) DeepCopy() *TenantSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantSpec.
func (*TenantSpec) DeepCopyInto ¶
func (in *TenantSpec) DeepCopyInto(out *TenantSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TenantStatus ¶
type TenantStatus struct { }
TenantStatus defines the observed state of Tenant
func (*TenantStatus) DeepCopy ¶
func (in *TenantStatus) DeepCopy() *TenantStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TenantStatus.
func (*TenantStatus) DeepCopyInto ¶
func (in *TenantStatus) DeepCopyInto(out *TenantStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpstreamReferenceGrant ¶
type UpstreamReferenceGrant struct { // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource gwapiv1alpha2.ReferenceGrant `json:",inline"` }
UpstreamReferenceGrant is a wrapper over the sigs.k8s.io/gateway-api/apis/v1alpha2.ReferenceGrant object. This is required as kubebuilder:validation:EmbeddedResource marker adds the x-kubernetes-embedded-resource to the array instead of the elements within it. Which results in a broken CRD; validation error. Without this marker, the embedded resource is not properly serialized to the CRD.
func ConvertReferenceGrantsToUpstreamReferenceGrants ¶
func ConvertReferenceGrantsToUpstreamReferenceGrants(referenceGrants []gwapiv1alpha2.ReferenceGrant) []UpstreamReferenceGrant
func (*UpstreamReferenceGrant) DeepCopy ¶
func (in *UpstreamReferenceGrant) DeepCopy() *UpstreamReferenceGrant
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamReferenceGrant.
func (*UpstreamReferenceGrant) DeepCopyInto ¶
func (in *UpstreamReferenceGrant) DeepCopyInto(out *UpstreamReferenceGrant)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpstreamService ¶
type UpstreamService struct { // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource corev1.Service `json:",inline"` }
UpstreamService is a wrapper over the corev1.Service object. This is required as kubebuilder:validation:EmbeddedResource marker adds the x-kubernetes-embedded-resource to the array instead of the elements within it. Which results in a broken CRD; validation error. Without this marker, the embedded resource is not properly serialized to the CRD.
func ConvertServicesToUpstreamServices ¶
func ConvertServicesToUpstreamServices(services []corev1.Service) []UpstreamService
func (*UpstreamService) DeepCopy ¶
func (in *UpstreamService) DeepCopy() *UpstreamService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpstreamService.
func (*UpstreamService) DeepCopyInto ¶
func (in *UpstreamService) DeepCopyInto(out *UpstreamService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.