Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the routing.qdrant.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=routing.qdrant.io
Index ¶
- Constants
- Variables
- type BootstrapStatusInfo
- type EnvoyBootstrapConfig
- type EnvoyBootstrapConfigList
- type EnvoyBootstrapConfigSpec
- type EnvoyBootstrapConfigStatus
- type LoadBalancerServiceReference
- type QdrantClusterRouting
- type QdrantClusterRoutingList
- type QdrantClusterRoutingSpec
- func (in *QdrantClusterRoutingSpec) DeepCopy() *QdrantClusterRoutingSpec
- func (in *QdrantClusterRoutingSpec) DeepCopyInto(out *QdrantClusterRoutingSpec)
- func (s QdrantClusterRoutingSpec) GetAllowedSourceRanges() []string
- func (s QdrantClusterRoutingSpec) GetClusterId() string
- func (s QdrantClusterRoutingSpec) GetDedicated() bool
- func (s QdrantClusterRoutingSpec) GetEnableAccessLog() bool
- func (s QdrantClusterRoutingSpec) GetEnabled() bool
- func (s QdrantClusterRoutingSpec) GetFQDN() string
- func (s QdrantClusterRoutingSpec) GetMultiAZ() bool
- func (s QdrantClusterRoutingSpec) GetNodeIndexes() []int
- func (s QdrantClusterRoutingSpec) GetServicePerNode() bool
- func (s QdrantClusterRoutingSpec) GetShared() bool
- func (s QdrantClusterRoutingSpec) GetTLS() bool
- type QdrantClusterRoutingStatus
Constants ¶
const ( KindEnvoyBootstrapConfig = "EnvoyBootstrapConfig" ResourceEnvoyBootstrapConfig = "envoybootstrapconfigs" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "routing.qdrant.io", Version: "v1alpha1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme SchemeBuilder = runtime.NewSchemeBuilder(addToGroupVersion) // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
This section is empty.
Types ¶
type BootstrapStatusInfo ¶
type BootstrapStatusInfo struct {
// Identifier of the route this bootstrap status info belongs to.
RouteId string `json:"routeId,omitempty"`
Shared *bool `json:"shared,omitempty"`
// Set if the route uses a dedicated loadbalancer.
Dedicated *bool `json:"dedicated,omitempty"`
// Set to true if routing of the Qdrant cluster has been bootstrapped once for this specific route.
Bootstrapped *bool `json:"bootstrapped,omitempty"`
}
BootstrapStatusInfo is part of QdrantClusterRoutingStatus.
func (*BootstrapStatusInfo) DeepCopy ¶
func (in *BootstrapStatusInfo) DeepCopy() *BootstrapStatusInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BootstrapStatusInfo.
func (*BootstrapStatusInfo) DeepCopyInto ¶
func (in *BootstrapStatusInfo) DeepCopyInto(out *BootstrapStatusInfo)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyBootstrapConfig ¶ added in v1.31.0
type EnvoyBootstrapConfig struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec EnvoyBootstrapConfigSpec `json:"spec,omitempty"`
Status EnvoyBootstrapConfigStatus `json:"status,omitempty"`
}
EnvoyBootstrapConfig is the Schema for the envoybootstrapconfigs API. It declares the desired state for an Envoy bootstrap configuration. The route-manager reconciler watches these resources and produces a ConfigMap (rendered bootstrap JSON) and a Secret (access token) in the same namespace.
func (*EnvoyBootstrapConfig) DeepCopy ¶ added in v1.31.0
func (in *EnvoyBootstrapConfig) DeepCopy() *EnvoyBootstrapConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyBootstrapConfig.
func (*EnvoyBootstrapConfig) DeepCopyInto ¶ added in v1.31.0
func (in *EnvoyBootstrapConfig) DeepCopyInto(out *EnvoyBootstrapConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyBootstrapConfig) DeepCopyObject ¶ added in v1.31.0
func (in *EnvoyBootstrapConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvoyBootstrapConfigList ¶ added in v1.31.0
type EnvoyBootstrapConfigList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata.
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
// List of EnvoyBootstrapConfig objects
Items []EnvoyBootstrapConfig `json:"items"`
}
EnvoyBootstrapConfigList contains a list of EnvoyBootstrapConfig objects.
func (*EnvoyBootstrapConfigList) DeepCopy ¶ added in v1.31.0
func (in *EnvoyBootstrapConfigList) DeepCopy() *EnvoyBootstrapConfigList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyBootstrapConfigList.
func (*EnvoyBootstrapConfigList) DeepCopyInto ¶ added in v1.31.0
func (in *EnvoyBootstrapConfigList) DeepCopyInto(out *EnvoyBootstrapConfigList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EnvoyBootstrapConfigList) DeepCopyObject ¶ added in v1.31.0
func (in *EnvoyBootstrapConfigList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type EnvoyBootstrapConfigSpec ¶ added in v1.31.0
type EnvoyBootstrapConfigSpec struct {
// ClusterID identifies the Qdrant cluster this Envoy instance serves.
// When set the Envoy runs in dedicated mode for this cluster.
// When nil it runs in shared mode.
// +optional
ClusterID *string `json:"clusterID,omitempty"`
// ProxyProtocolEnabled enables the PROXY protocol on Envoy listeners.
// +kubebuilder:default=false
// +optional
ProxyProtocolEnabled bool `json:"proxyProtocolEnabled,omitempty"`
// MultiAZ marks this Envoy fleet as the multi-AZ load balancer. When true,
// the route-manager advertises this fact to Envoy via node metadata so that
// zone-aware routing decisions can be made per-cluster via
// QdrantClusterRouting.spec.multiAZ.
// +kubebuilder:default=false
// +optional
MultiAZ bool `json:"multiAZ,omitempty"`
// LoadBalancerService identifies the Kubernetes Service backing this Envoy
// fleet's cloud load balancer.
// +optional
LoadBalancerService *LoadBalancerServiceReference `json:"loadBalancerService,omitempty"`
}
EnvoyBootstrapConfigSpec describes the desired Envoy bootstrap configuration.
func (*EnvoyBootstrapConfigSpec) DeepCopy ¶ added in v1.31.0
func (in *EnvoyBootstrapConfigSpec) DeepCopy() *EnvoyBootstrapConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyBootstrapConfigSpec.
func (*EnvoyBootstrapConfigSpec) DeepCopyInto ¶ added in v1.31.0
func (in *EnvoyBootstrapConfigSpec) DeepCopyInto(out *EnvoyBootstrapConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EnvoyBootstrapConfigStatus ¶ added in v1.31.0
type EnvoyBootstrapConfigStatus struct {
// Ready is true once the ConfigMap and Secret exist and are up-to-date.
Ready bool `json:"ready,omitempty"`
// ConfigMapName is the name of the generated ConfigMap containing the bootstrap JSON.
ConfigMapName string `json:"configMapName,omitempty"`
// SecretName is the name of the access-token Secret (created or reused).
SecretName string `json:"secretName,omitempty"`
// Conditions represent the latest available observations of the resource's state.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
}
EnvoyBootstrapConfigStatus defines the observed state of EnvoyBootstrapConfig.
func (*EnvoyBootstrapConfigStatus) DeepCopy ¶ added in v1.31.0
func (in *EnvoyBootstrapConfigStatus) DeepCopy() *EnvoyBootstrapConfigStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EnvoyBootstrapConfigStatus.
func (*EnvoyBootstrapConfigStatus) DeepCopyInto ¶ added in v1.31.0
func (in *EnvoyBootstrapConfigStatus) DeepCopyInto(out *EnvoyBootstrapConfigStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerServiceReference ¶ added in v1.35.0
type LoadBalancerServiceReference struct {
// Name is the Service name.
Name string `json:"name"`
// Namespace is the Service namespace.
// If empty, defaults to the namespace where the EnvoyBootstrapConfig is created.
// +optional
Namespace string `json:"namespace"`
}
LoadBalancerServiceReference identifies a Kubernetes Service that exposes an Envoy fleet through a cloud load balancer.
func (*LoadBalancerServiceReference) DeepCopy ¶ added in v1.35.0
func (in *LoadBalancerServiceReference) DeepCopy() *LoadBalancerServiceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerServiceReference.
func (*LoadBalancerServiceReference) DeepCopyInto ¶ added in v1.35.0
func (in *LoadBalancerServiceReference) DeepCopyInto(out *LoadBalancerServiceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type QdrantClusterRouting ¶
type QdrantClusterRouting struct {
metav1.TypeMeta `json:",inline"`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec QdrantClusterRoutingSpec `json:"spec"`
Status QdrantClusterRoutingStatus `json:"status,omitempty"`
}
QdrantClusterRouting is the Schema for the routing towards Qdrant clusters API
func (*QdrantClusterRouting) DeepCopy ¶
func (in *QdrantClusterRouting) DeepCopy() *QdrantClusterRouting
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QdrantClusterRouting.
func (*QdrantClusterRouting) DeepCopyInto ¶
func (in *QdrantClusterRouting) DeepCopyInto(out *QdrantClusterRouting)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QdrantClusterRouting) DeepCopyObject ¶
func (in *QdrantClusterRouting) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*QdrantClusterRouting) GetSpec ¶ added in v1.37.5
func (r *QdrantClusterRouting) GetSpec() QdrantClusterRoutingSpec
GetSpec returns the routing spec, or the zero spec if the object is nil. Returning a value (rather than a pointer) keeps the spec getters below usable on the result, so callers can chain safely: qcrt.GetSpec().GetEnabled().
type QdrantClusterRoutingList ¶
type QdrantClusterRoutingList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
// +optional
metav1.ListMeta `json:"metadata,omitempty"`
// List of QdrantClusterRouting objects
Items []QdrantClusterRouting `json:"items"`
}
QdrantClusterRoutingList is the whole list of all QdrantClusterRouting objects.
func (*QdrantClusterRoutingList) DeepCopy ¶
func (in *QdrantClusterRoutingList) DeepCopy() *QdrantClusterRoutingList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QdrantClusterRoutingList.
func (*QdrantClusterRoutingList) DeepCopyInto ¶
func (in *QdrantClusterRoutingList) DeepCopyInto(out *QdrantClusterRoutingList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*QdrantClusterRoutingList) DeepCopyObject ¶
func (in *QdrantClusterRoutingList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type QdrantClusterRoutingSpec ¶
type QdrantClusterRoutingSpec struct {
// ClusterId specifies the unique identifier of the cluster.
ClusterId string `json:"clusterId"`
// The fully qualified domain name (also know as host).
// For shared routing this will be used for SNI resolving.
FQDN string `json:"fqdn"`
// Enabled specifies whether to enable ingress for the cluster or not.
// +kubebuilder:default=true
// +optional
Enabled *bool `json:"enabled,omitempty"`
// Note that this doesn't mean it doesn't have a dedicated loadbalancer as well (e.g. during a migration from one to the other).
// +optional
Shared *bool `json:"shared,omitempty"`
// Set if the cluster uses (at least one) dedicated loadbalancer.
// Note that this doesn't mean it doesn't have a shared loadbalancer as well (e.g. during a migration from one to the other).
// +optional
Dedicated *bool `json:"dedicated,omitempty"`
// TLS specifies whether tls is enabled or not at qdrant level.
// +optional
TLS *bool `json:"tls,omitempty"`
// ServicePerNode specifies whether the cluster should have a dedicated route for each node.
// +kubebuilder:default=true
// +optional
ServicePerNode *bool `json:"servicePerNode,omitempty"`
// NodeIndexes specifies the indexes of the individual nodes in the cluster.
NodeIndexes []int `json:"nodeIndexes,omitempty"`
// AllowedSourceRanges specifies the allowed CIDR source ranges for the ingress.
// +optional
AllowedSourceRanges []string `json:"allowedSourceRanges,omitempty"`
// If true enable (proxy) access log for this qdrant cluster.
// +optional
EnableAccessLog *bool `json:"enableAccessLog,omitempty"`
// MultiAZ is true when the Qdrant cluster spans multiple availability
// zones and traffic should be kept same-zone where possible.
// +kubebuilder:default=false
// +optional
MultiAZ bool `json:"multiAZ,omitempty"`
}
QdrantClusterRoutingSpec describes the configuration for routing towards Qdrant clusters.
func (*QdrantClusterRoutingSpec) DeepCopy ¶
func (in *QdrantClusterRoutingSpec) DeepCopy() *QdrantClusterRoutingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QdrantClusterRoutingSpec.
func (*QdrantClusterRoutingSpec) DeepCopyInto ¶
func (in *QdrantClusterRoutingSpec) DeepCopyInto(out *QdrantClusterRoutingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (QdrantClusterRoutingSpec) GetAllowedSourceRanges ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetAllowedSourceRanges() []string
GetAllowedSourceRanges returns the allowed CIDR source ranges for the ingress. An empty result means no restriction, so callers that enforce it must treat "no ranges" as "allow all" deliberately rather than by omission.
func (QdrantClusterRoutingSpec) GetClusterId ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetClusterId() string
GetClusterId returns the unique identifier of the cluster.
func (QdrantClusterRoutingSpec) GetDedicated ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetDedicated() bool
GetDedicated returns whether the cluster uses at least one dedicated loadbalancer.
func (QdrantClusterRoutingSpec) GetEnableAccessLog ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetEnableAccessLog() bool
GetEnableAccessLog returns whether the (proxy) access log is enabled.
func (QdrantClusterRoutingSpec) GetEnabled ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetEnabled() bool
GetEnabled returns whether ingress is enabled for the cluster. Unset means enabled, matching the CRD default.
func (QdrantClusterRoutingSpec) GetFQDN ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetFQDN() string
GetFQDN returns the fully qualified domain name of the cluster.
func (QdrantClusterRoutingSpec) GetMultiAZ ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetMultiAZ() bool
GetMultiAZ returns whether the cluster spans multiple availability zones.
func (QdrantClusterRoutingSpec) GetNodeIndexes ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetNodeIndexes() []int
GetNodeIndexes returns the indexes of the individual nodes in the cluster.
func (QdrantClusterRoutingSpec) GetServicePerNode ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetServicePerNode() bool
GetServicePerNode returns whether each node has a dedicated route. Unset means enabled, matching the CRD default.
func (QdrantClusterRoutingSpec) GetShared ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetShared() bool
GetShared returns whether the cluster uses at least one shared loadbalancer.
func (QdrantClusterRoutingSpec) GetTLS ¶ added in v1.37.5
func (s QdrantClusterRoutingSpec) GetTLS() bool
GetTLS returns whether tls is enabled at qdrant level.
type QdrantClusterRoutingStatus ¶
type QdrantClusterRoutingStatus struct {
// Set to true if routing of the Qdrant cluster has been bootstrapped once.
// This implies that at least one route is bootstrapped, for detailed information see the BootstrapInfos field
Bootstrapped *bool `json:"bootstrapped,omitempty"`
// Individual bootstrap status info (e.g. when multiple routes are available for this Qdrant cluster)
BootstrapInfos *[]BootstrapStatusInfo `json:"bootstrapInfos,omitempty"`
}
QdrantClusterRoutingStatus defines the observed state of QdrantClusterRouting +kubebuilder:pruning:PreserveUnknownFields
func (*QdrantClusterRoutingStatus) DeepCopy ¶
func (in *QdrantClusterRoutingStatus) DeepCopy() *QdrantClusterRoutingStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new QdrantClusterRoutingStatus.
func (*QdrantClusterRoutingStatus) DeepCopyInto ¶
func (in *QdrantClusterRoutingStatus) DeepCopyInto(out *QdrantClusterRoutingStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.