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 ¶
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 = &scheme.Builder{GroupVersion: GroupVersion} // 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"`
}
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 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.
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.
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.