v1alpha1

package
v1.37.6 Latest Latest
Warning

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

Go to latest
Published: Aug 14, 2026 License: Apache-2.0 Imports: 3 Imported by: 0

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

View Source
const (
	KindEnvoyBootstrapConfig     = "EnvoyBootstrapConfig"
	ResourceEnvoyBootstrapConfig = "envoybootstrapconfigs"
)

Variables

View Source
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"`
	// Set if the route uses a shared loadbalancer.
	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

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

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

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

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

func (*EnvoyBootstrapConfigStatus) DeepCopyInto added in v1.31.0

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

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

func (*LoadBalancerServiceReference) DeepCopyInto added in v1.35.0

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

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

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

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"`
	// Set if the cluster uses (at least one) shared loadbalancer.
	// 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

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

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

func (*QdrantClusterRoutingStatus) DeepCopyInto

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

Jump to

Keyboard shortcuts

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