v1

package
v1.23.0 Latest Latest
Warning

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

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

Documentation

Overview

Package v1 contains API Schema definitions for the qdrant.io v1 API group +kubebuilder:object:generate=true +groupName=qdrant.io

Index

Constants

View Source
const (
	KindQdrantCluster     = "QdrantCluster"
	ResourceQdrantCluster = "qdrantclusters"
)
View Source
const (
	// RestartedAtAnnotationKey is the annotation key to trigger a restart.
	// The annotation should be placed on the QdrantCluster instance.
	// The value should be a [RFC3339 formatted] date.
	// If the value is updated it will retrigger the restart.
	// For historical reasons the key doesn't start with `operator.qdrant.com/`
	RestartedAtAnnotationKey = "restartedAt"
	// RecreateNodeAnnotationKey is the annotation key to recreate a certain node.
	// The annotation should be placed on the pod created by the operator (for the node that need to be recreated).
	// It is allowed to add this annotation to multiple pods, the operator will handle them all.
	// The value should be non-empty, but is free to use, and will be used in Events.
	// This feature requires that the cluster-manager is enabled.
	RecreateNodeAnnotationKey = "operator.qdrant.com/recreate-node"
	// ReinitAnnotationKey is the annotation key to trigger reinitialization of the given cluster.
	// The annotation value is ignored and can be used to document why reinitialization is requested.
	ReinitAnnotationKey = "operator.qdrant.com/reinit"
)
View Source
const (
	KindQdrantClusterRestore     = "QdrantClusterRestore"
	ResourceQdrantClusterRestore = "qdrantclusterrestores"
)
View Source
const (
	KindQdrantClusterScheduledSnapshot     = "QdrantClusterScheduledSnapshot"
	ResourceQdrantClusterScheduledSnapshot = "qdrantclusterscheduledsnapshots"
)
View Source
const (
	KindQdrantClusterSnapshot     = "QdrantClusterSnapshot"
	ResourceQdrantClusterSnapshot = "qdrantclustersnapshots"
)
View Source
const (
	KindQdrantEntity     = "QdrantEntity"
	ResourceQdrantEntity = "qdrantentities"
)
View Source
const (
	KindQdrantCloudRegion     = "QdrantCloudRegion"
	ResourceQdrantCloudRegion = "qdrantcloudregions"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "qdrant.io", Version: "v1"}

	// 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 ClusterCondition

type ClusterCondition string
const (
	ClusterConditionAcceptingConnection ClusterCondition = "AcceptingConnection"
	ClusterConditionRecoveryMode        ClusterCondition = "RecoveryMode"
)

type ClusterManagerReponse added in v1.22.0

type ClusterManagerReponse struct {
	// Status of the last response
	// +optional
	Status string `json:"status,omitempty"`
	// Description contains additional information about the last response
	// +optional
	Description string `json:"description,omitempty"`
}

func (*ClusterManagerReponse) DeepCopy added in v1.22.0

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

func (*ClusterManagerReponse) DeepCopyInto added in v1.22.0

func (in *ClusterManagerReponse) DeepCopyInto(out *ClusterManagerReponse)

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

type ClusterPhase

type ClusterPhase string
const (
	ClusterActiveStateSuffix = "ing"
	ClusterFailedStatePrefix = "FailedTo"

	ClusterCreating       ClusterPhase = "Creating"
	ClusterFailedToCreate ClusterPhase = "FailedToCreate"

	ClusterUpdating       ClusterPhase = "Updating"
	ClusterFailedToUpdate ClusterPhase = "FailedToUpdate"

	ClusterScaling   ClusterPhase = "Scaling"
	ClusterUpgrading ClusterPhase = "Upgrading"

	ClusterSuspending      ClusterPhase = "Suspending"
	ClusterSuspended       ClusterPhase = "Suspended"
	ClusterFailedToSuspend ClusterPhase = "FailedToSuspend"

	ClusterResuming       ClusterPhase = "Resuming"
	ClusterFailedToResume ClusterPhase = "FailedToResume"

	ClusterHealthy           ClusterPhase = "Healthy"
	ClusterNotReady          ClusterPhase = "NotReady"
	ClusterRecoveryMode      ClusterPhase = "RecoveryMode"
	ClusterManualMaintenance ClusterPhase = "ManualMaintenance"
)

type ComponentPhase

type ComponentPhase string
const (
	ComponentPhaseReady    ComponentPhase = "Ready"
	ComponentPhaseNotReady ComponentPhase = "NotReady"
	ComponentPhaseUnknown  ComponentPhase = "Unknown"
	ComponentPhaseNotFound ComponentPhase = "NotFound"
)

type ComponentReference added in v1.8.1

type ComponentReference struct {
	// APIVersion is the group and version of the component being referenced.
	APIVersion string `json:"apiVersion"`
	// Kind is the type of component being referenced
	Kind string `json:"kind"`
	// Name is the name of component being referenced
	Name string `json:"name"`
	// Namespace is the namespace of component being referenced.
	Namespace string `json:"namespace"`
	// MarkedForDeletion specifies whether the component is marked for deletion
	// +optional
	MarkedForDeletion bool `json:"markedForDeletion,omitempty"`
}

func (*ComponentReference) DeepCopy added in v1.8.1

func (in *ComponentReference) DeepCopy() *ComponentReference

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

func (*ComponentReference) DeepCopyInto added in v1.8.1

func (in *ComponentReference) DeepCopyInto(out *ComponentReference)

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

type ComponentStatus

type ComponentStatus struct {
	// Name specifies the name of the component
	Name string `json:"name"`
	// Namespace specifies the namespace of the component
	Namespace string `json:"namespace,omitempty"`
	// Version specifies the version of the component
	// +optional
	Version string `json:"version,omitempty"`
	// Phase specifies the current phase of the component
	Phase ComponentPhase `json:"phase,omitempty"`
	// Message specifies the info explaining the current phase of the component
	// +optional
	Message string `json:"message,omitempty"`
}

func (*ComponentStatus) DeepCopy

func (in *ComponentStatus) DeepCopy() *ComponentStatus

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

func (*ComponentStatus) DeepCopyInto

func (in *ComponentStatus) DeepCopyInto(out *ComponentStatus)

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

type EntityPhase added in v1.15.0

type EntityPhase string
const (
	EntityPhaseCreating EntityPhase = "Creating"
	EntityPhaseReady    EntityPhase = "Ready"
	EntityPhaseUpdating EntityPhase = "Updating"
	EntityPhaseFailing  EntityPhase = "Failing"
	EntityPhaseDeleting EntityPhase = "Deleting"
	EntityPhaseDeleted  EntityPhase = "Deleted"
)

type EntityResult added in v1.15.0

type EntityResult string

EntityResult is the last result from the invocation to a manager

const (
	EntityResultOk      EntityResult = "Ok"
	EntityResultPending EntityResult = "Pending"
	EntityResultError   EntityResult = "Error"
)

type GPU added in v1.14.0

type GPU struct {
	// GPUType specifies the type of the GPU to use. If set, GPU indexing is enabled.
	// +kubebuilder:validation:Enum=nvidia;amd
	GPUType GPUType `json:"gpuType"`
	// ForceHalfPrecision for `f32` values while indexing.
	// `f16` conversion will take place
	// only inside GPU memory and won't affect storage type.
	// +kubebuilder:default=false
	ForceHalfPrecision bool `json:"forceHalfPrecision"`
	// DeviceFilter for GPU devices by hardware name. Case-insensitive.
	// List of substrings to match against the gpu device name.
	// Example: [- "nvidia"]
	// If not specified, all devices are accepted.
	// +kubebuilder:validation:MinItems:=1
	// +optional
	DeviceFilter []string `json:"deviceFilter,omitempty"`
	// Devices is a List of explicit GPU devices to use.
	// If host has multiple GPUs, this option allows to select specific devices
	// by their index in the list of found devices.
	// If `deviceFilter` is set, indexes are applied after filtering.
	// If not specified, all devices are accepted.
	// +kubebuilder:validation:MinItems:=1
	// +optional
	Devices []string `json:"devices,omitempty"`
	// ParallelIndexes is the number of parallel indexes to run on the GPU.
	// +kubebuilder:default=1
	// +kubebuilder:validation:Minimum:=1
	ParallelIndexes int `json:"parallelIndexes"`
	// GroupsCount is the amount of used vulkan "groups" of GPU.
	// In other words, how many parallel points can be indexed by GPU.
	// Optimal value might depend on the GPU model.
	// Proportional, but doesn't necessary equal to the physical number of warps.
	// Do not change this value unless you know what you are doing.
	// +optional
	// +kubebuilder:validation:Minimum:=1
	GroupsCount int `json:"groupsCount,omitempty"`
	// AllowIntegrated specifies whether to allow integrated GPUs to be used.
	// +kubebuilder:default=false
	AllowIntegrated bool `json:"allowIntegrated"`
}

func (*GPU) DeepCopy added in v1.14.0

func (in *GPU) DeepCopy() *GPU

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

func (*GPU) DeepCopyInto added in v1.14.0

func (in *GPU) DeepCopyInto(out *GPU)

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

func (*GPU) GetGPUType added in v1.14.0

func (g *GPU) GetGPUType() GPUType

type GPUType added in v1.14.0

type GPUType string

GPUType specifies the type of GPU to use. +kubebuilder:validation:Enum=nvidia;amd

const (
	GPUTypeNvidia GPUType = "nvidia"
	GPUTypeAmd    GPUType = "amd"
)

type HelmRelease

type HelmRelease struct {
	// MarkedForDeletionAt specifies the time when the helm release was marked for deletion
	// +optional
	MarkedForDeletionAt *string `json:"markedForDeletionAt,omitempty"`
	// Object specifies the helm release object
	// +kubebuilder:validation:EmbeddedResource
	Object *helmapiv2.HelmRelease `json:"object,omitempty"`
}

func (*HelmRelease) DeepCopy

func (in *HelmRelease) DeepCopy() *HelmRelease

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

func (*HelmRelease) DeepCopyInto

func (in *HelmRelease) DeepCopyInto(out *HelmRelease)

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

type HelmRepository

type HelmRepository struct {
	// MarkedForDeletionAt specifies the time when the helm repository was marked for deletion
	// +optional
	MarkedForDeletionAt *string `json:"markedForDeletionAt,omitempty"`
	// Object specifies the helm repository object
	// +kubebuilder:validation:EmbeddedResource
	Object *srcapiv1.HelmRepository `json:"object,omitempty"`
}

func (*HelmRepository) DeepCopy

func (in *HelmRepository) DeepCopy() *HelmRepository

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

func (*HelmRepository) DeepCopyInto

func (in *HelmRepository) DeepCopyInto(out *HelmRepository)

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

type InferenceConfig added in v1.13.0

type InferenceConfig struct {
	// Enabled specifies whether to enable inference for the cluster or not.
	// +kubebuilder:default=false
	// +optional
	Enabled bool `json:"enabled"`
}

func (*InferenceConfig) DeepCopy added in v1.13.0

func (in *InferenceConfig) DeepCopy() *InferenceConfig

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

func (*InferenceConfig) DeepCopyInto added in v1.13.0

func (in *InferenceConfig) DeepCopyInto(out *InferenceConfig)

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

type Ingress

type Ingress struct {
	// Enabled specifies whether to enable ingress for the cluster or not.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`
	// Annotations specifies annotations for the ingress.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// IngressClassName specifies the name of the ingress class
	// +optional
	IngressClassName *string `json:"ingressClassName,omitempty"`
	// Host specifies the host for the ingress.
	// +optional
	Host string `json:"host,omitempty"`
	// TLS specifies whether to enable tls for the ingress.
	// The default depends on the ingress provider:
	// - KubernetesIngress: False
	// - NginxIngress: False
	// - QdrantCloudTraefik: Depending on the config.tls setting of the operator.
	// +optional
	TLS *bool `json:"tls,omitempty"`
	// TLSSecretName specifies the name of the secret containing the tls certificate.
	// +optional
	TLSSecretName string `json:"tlsSecretName,omitempty"`
	// NGINX specifies the nginx ingress specific configurations.
	// +optional
	NGINX *NGINXConfig `json:"nginx,omitempty"`
	// Traefik specifies the traefik ingress specific configurations.
	// +optional
	Traefik *TraefikConfig `json:"traefik,omitempty"`
}

func (*Ingress) DeepCopy

func (in *Ingress) DeepCopy() *Ingress

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

func (*Ingress) DeepCopyInto

func (in *Ingress) DeepCopyInto(out *Ingress)

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

func (*Ingress) GetAnnotations

func (i *Ingress) GetAnnotations() map[string]string

func (*Ingress) GetIngressClassName

func (i *Ingress) GetIngressClassName() *string

func (*Ingress) GetNGINX

func (i *Ingress) GetNGINX() *NGINXConfig

func (*Ingress) GetTls

func (i *Ingress) GetTls(def bool) bool

func (*Ingress) GetTraefik

func (i *Ingress) GetTraefik() *TraefikConfig

type KubernetesDistribution added in v1.2.5

type KubernetesDistribution string
const (
	K8sDistributionUnknown   KubernetesDistribution = "unknown"
	K8sDistributionAWS       KubernetesDistribution = "aws"
	K8sDistributionGCP       KubernetesDistribution = "gcp"
	K8sDistributionAzure     KubernetesDistribution = "azure"
	K8sDistributionDO        KubernetesDistribution = "do"
	K8sDistributionScaleway  KubernetesDistribution = "scaleway"
	K8sDistributionOpenShift KubernetesDistribution = "openshift"
	K8sDistributionLinode    KubernetesDistribution = "linode"
	K8sDistributionCivo      KubernetesDistribution = "civo"
	K8sDistributionOCI       KubernetesDistribution = "oci"
	K8sDistributionOVHCloud  KubernetesDistribution = "ovhcloud"
	K8sDistributionStackit   KubernetesDistribution = "stackit"
	K8sDistributionVultr     KubernetesDistribution = "vultr"
	K8sDistributionK3s       KubernetesDistribution = "k3s"
)

type KubernetesEventInfo added in v1.22.0

type KubernetesEventInfo struct {
	// Event message
	// +optional
	Message string `json:"message,omitempty"`
	// Event reason
	// +optional
	Reason string `json:"reason,omitempty"`
	// How many times the event has occurred
	// +optional
	Count int32 `json:"count,omitempty"`
	// The first time the event was seen
	// +optional
	FirstTimestamp metav1.Time `json:"firstTimestamp,omitempty"`
	// The last time the event was seen
	// +optional
	LastTimestamp metav1.Time `json:"lastTimestamp,omitempty"`
}

func (*KubernetesEventInfo) DeepCopy added in v1.22.0

func (in *KubernetesEventInfo) DeepCopy() *KubernetesEventInfo

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

func (*KubernetesEventInfo) DeepCopyInto added in v1.22.0

func (in *KubernetesEventInfo) DeepCopyInto(out *KubernetesEventInfo)

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

type KubernetesPod

type KubernetesPod struct {
	// Annotations specifies the annotations for the Pods.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// Labels specifies the labels for the Pods.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`
	// ExtraEnv specifies the extra environment variables for the Pods.
	// +optional
	ExtraEnv []corev1.EnvVar `json:"extraEnv,omitempty"`
}

func (*KubernetesPod) DeepCopy

func (in *KubernetesPod) DeepCopy() *KubernetesPod

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

func (*KubernetesPod) DeepCopyInto

func (in *KubernetesPod) DeepCopyInto(out *KubernetesPod)

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

func (*KubernetesPod) GetAnnotations

func (kp *KubernetesPod) GetAnnotations() map[string]string

func (*KubernetesPod) GetExtraEnv

func (kp *KubernetesPod) GetExtraEnv() []corev1.EnvVar

func (*KubernetesPod) GetLabels

func (kp *KubernetesPod) GetLabels() map[string]string

type KubernetesService

type KubernetesService struct {
	// Type specifies the type of the Service: "ClusterIP", "NodePort", "LoadBalancer".
	// +kubebuilder:default="ClusterIP"
	// +optional
	Type corev1.ServiceType `json:"type,omitempty"`
	// Annotations specifies the annotations for the Service.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

func (*KubernetesService) DeepCopy

func (in *KubernetesService) DeepCopy() *KubernetesService

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

func (*KubernetesService) DeepCopyInto

func (in *KubernetesService) DeepCopyInto(out *KubernetesService)

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

func (*KubernetesService) GetAnnotations

func (s *KubernetesService) GetAnnotations() map[string]string

func (*KubernetesService) GetType

func (s *KubernetesService) GetType() corev1.ServiceType

type KubernetesStatefulSet

type KubernetesStatefulSet struct {
	// Annotations specifies the annotations for the StatefulSet.
	// +optional
	Annotations map[string]string `json:"annotations,omitempty"`
	// Pods  specifies the configuration of the Pods of the Qdrant StatefulSet.
	// +optional
	Pods *KubernetesPod `json:"pods,omitempty"`
}

func (*KubernetesStatefulSet) DeepCopy

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

func (*KubernetesStatefulSet) DeepCopyInto

func (in *KubernetesStatefulSet) DeepCopyInto(out *KubernetesStatefulSet)

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

func (*KubernetesStatefulSet) GetPods

func (kss *KubernetesStatefulSet) GetPods() *KubernetesPod

type MetricSource added in v1.6.2

type MetricSource string
const (
	KubeletMetricSource MetricSource = "kubelet"
	ApiMetricSource     MetricSource = "api"
)

type Monitoring added in v1.6.2

type Monitoring struct {
	// CAdvisorMetricSource specifies the cAdvisor metric source
	// +optional
	CAdvisorMetricSource MetricSource `json:"cAdvisorMetricSource,omitempty"`
	// NodeMetricSource specifies the node metric source
	// +optional
	NodeMetricSource MetricSource `json:"nodeMetricSource,omitempty"`
}

func (*Monitoring) DeepCopy added in v1.6.2

func (in *Monitoring) DeepCopy() *Monitoring

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

func (*Monitoring) DeepCopyInto added in v1.6.2

func (in *Monitoring) DeepCopyInto(out *Monitoring)

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

type NGINXConfig

type NGINXConfig struct {
	// AllowedSourceRanges specifies the allowed CIDR source ranges for the ingress.
	// +optional
	AllowedSourceRanges []string `json:"allowedSourceRanges,omitempty"`
	// GRPCHost specifies the host name for the GRPC ingress.
	// +optional
	GRPCHost *string `json:"grpcHost,omitempty"`
}

func (*NGINXConfig) DeepCopy

func (in *NGINXConfig) DeepCopy() *NGINXConfig

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

func (*NGINXConfig) DeepCopyInto

func (in *NGINXConfig) DeepCopyInto(out *NGINXConfig)

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

func (*NGINXConfig) GetAllowedSourceRanges

func (c *NGINXConfig) GetAllowedSourceRanges() []string

func (*NGINXConfig) GetGrpcHost

func (c *NGINXConfig) GetGrpcHost() *string

type NodeInfo added in v1.12.0

type NodeInfo struct {
	// Name specifies the name of the node
	Name string `json:"name"`
	// Region specifies the region of the node
	// +optional
	Region string `json:"region,omitempty"`
	// Zone specifies the zone of the node
	// +optional
	Zone string `json:"zone,omitempty"`
	// InstanceType specifies the instance type of the node
	// +optional
	InstanceType string `json:"instanceType,omitempty"`
	// Arch specifies the CPU architecture of the node
	// +optional
	Arch string `json:"arch,omitempty"`
	// Capacity specifies the capacity of the node
	Capacity NodeResourceInfo `json:"capacity"`
	// Allocatable specifies the allocatable resources of the node
	Allocatable NodeResourceInfo `json:"allocatable"`
}

func (*NodeInfo) DeepCopy added in v1.12.0

func (in *NodeInfo) DeepCopy() *NodeInfo

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

func (*NodeInfo) DeepCopyInto added in v1.12.0

func (in *NodeInfo) DeepCopyInto(out *NodeInfo)

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

type NodePVCStatus added in v1.22.0

type NodePVCStatus struct {
	// Name of the StorageClass used by the PVC
	// +optional
	StorageClassName string `json:"storageClassName,omitempty"`
	// Status phase of the PVC
	// +optional
	Phase corev1.PersistentVolumeClaimPhase `json:"phase,omitempty"`
	// Conditions of the PVC
	// +optional
	Conditions []corev1.PersistentVolumeClaimCondition `json:"conditions,omitempty"`
	// Recent Kubernetes Events related to the PVC
	// Events that happened in the last 30 minutes are stored.
	// +optional
	Events []KubernetesEventInfo `json:"events,omitempty"`
	// capacity represents the actual resources of the underlying volume.
	// +optional
	Capacity corev1.ResourceList `json:"capacity,omitempty"`
	// currentVolumeAttributesClassName is the current name of the VolumeAttributesClass the PVC is using.
	// When unset, there is no VolumeAttributeClass applied to this PersistentVolumeClaim
	// +optional
	CurrentVolumeAttributesClassName *string `json:"currentVolumeAttributesClassName,omitempty"`
	// ModifyVolumeStatus represents the status object of ControllerModifyVolume operation.
	// When this is unset, there is no ModifyVolume operation being attempted.
	// +optional
	ModifyVolumeStatus *corev1.ModifyVolumeStatus `json:"modifyVolumeStatus,omitempty"`
}

func (*NodePVCStatus) DeepCopy added in v1.22.0

func (in *NodePVCStatus) DeepCopy() *NodePVCStatus

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

func (*NodePVCStatus) DeepCopyInto added in v1.22.0

func (in *NodePVCStatus) DeepCopyInto(out *NodePVCStatus)

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

type NodeResourceInfo added in v1.12.0

type NodeResourceInfo struct {
	// CPU specifies the CPU resources of the node
	CPU string `json:"cpu"`
	// Memory specifies the memory resources of the node
	Memory string `json:"memory"`
	// Pods specifies the pods resources of the node
	Pods string `json:"pods"`
	// EphemeralStorage specifies the ephemeral storage resources of the node
	EphemeralStorage string `json:"ephemeralStorage"`
}

func (*NodeResourceInfo) DeepCopy added in v1.12.0

func (in *NodeResourceInfo) DeepCopy() *NodeResourceInfo

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

func (*NodeResourceInfo) DeepCopyInto added in v1.12.0

func (in *NodeResourceInfo) DeepCopyInto(out *NodeResourceInfo)

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

type NodeStatus

type NodeStatus struct {
	// Name specifies the name of the node
	// +optional
	Name string `json:"name,omitempty"`
	// StartedAt specifies the time when the node started (in RFC3339 format)
	// +optional
	StartedAt string `json:"started_at,omitempty"`
	// States specifies the condition states of the node
	// +optional
	State map[corev1.PodConditionType]corev1.ConditionStatus `json:"state,omitempty"`
	// Version specifies the version of Qdrant running on the node
	// +optional
	Version string `json:"version,omitempty"`
	// Reports if qdrant node responded to liveness request (before readiness).
	// This is needed to beter report recovery process to the user.
	// +optional
	Liveness bool `json:"liveness,omitempty"`
	// The availibility zone the node is running in.
	// +optional
	Zone *string `json:"zone,omitempty"`

	// Status phase of the Pod of the node
	// +optional
	PodPhase corev1.PodPhase `json:"podPhase,omitempty"`
	// Conditions of the Pod of the node
	// +optional
	PodConditions []corev1.PodCondition `json:"podConditions,omitempty"`
	// Status message of the Pod of the node
	// +optional
	PodMessage string `json:"podMessage,omitempty"`
	// Status reason of the Pod of the node
	// +optional
	PodReason string `json:"podReason,omitempty"`
	// Details container statuses of the Pod of the node
	// +optional
	ContainerStatuses []corev1.ContainerStatus `json:"containerStatuses,omitempty"`
	// Recent Kubernetes Events related to the Pod of the node
	// Events that happened in the last 30 minutes are stored.
	// +optional
	PodEvents []KubernetesEventInfo `json:"events,omitempty"`

	// The number of times the main qdrant container has been restarted.
	// +optional
	RestartCount int32 `json:"restartCount,omitempty"`

	// Status of the database storage PVC
	// +optional
	DatabasePVCStatus NodePVCStatus `json:"databasePVCStatus,omitempty"`
	// Status of the snapshots storage PVC
	// +optional
	SnapshotsPVCStatus NodePVCStatus `json:"snapshotsPVCStatus,omitempty"`
}

func (*NodeStatus) DeepCopy

func (in *NodeStatus) DeepCopy() *NodeStatus

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

func (*NodeStatus) DeepCopyInto

func (in *NodeStatus) DeepCopyInto(out *NodeStatus)

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

type Pause

type Pause struct {
	// Owner specifies the owner of the pause request.
	Owner string `json:"owner,omitempty"`
	// Reason specifies the reason for the pause request.
	Reason string `json:"reason,omitempty"`
	// CreationTimestamp specifies the time when the pause request was created.
	CreationTimestamp string `json:"creationTimestamp,omitempty"`
}

func (*Pause) DeepCopy

func (in *Pause) DeepCopy() *Pause

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

func (*Pause) DeepCopyInto

func (in *Pause) DeepCopyInto(out *Pause)

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

type QdrantCloudRegion

type QdrantCloudRegion struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QdrantCloudRegionSpec   `json:"spec,omitempty"`
	Status QdrantCloudRegionStatus `json:"status,omitempty"`
}

QdrantCloudRegion is the Schema for the qdrantcloudregions API

func (*QdrantCloudRegion) DeepCopy

func (in *QdrantCloudRegion) DeepCopy() *QdrantCloudRegion

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

func (*QdrantCloudRegion) DeepCopyInto

func (in *QdrantCloudRegion) DeepCopyInto(out *QdrantCloudRegion)

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

func (*QdrantCloudRegion) DeepCopyObject

func (in *QdrantCloudRegion) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantCloudRegionList

type QdrantCloudRegionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QdrantCloudRegion `json:"items"`
}

QdrantCloudRegionList contains a list of QdrantCloudRegion

func (*QdrantCloudRegionList) DeepCopy

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

func (*QdrantCloudRegionList) DeepCopyInto

func (in *QdrantCloudRegionList) DeepCopyInto(out *QdrantCloudRegionList)

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

func (*QdrantCloudRegionList) DeepCopyObject

func (in *QdrantCloudRegionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantCloudRegionSpec

type QdrantCloudRegionSpec struct {
	// Id specifies the unique identifier of the region
	Id string `json:"id,omitempty"`
	// Components specifies the list of components to be installed in the region
	// +optional
	Components []ComponentReference `json:"components,omitempty"`
	// HelmRepositories specifies the list of helm repositories to be created to the region
	// Deprecated: Use "Components" instead
	// +optional
	HelmRepositories []HelmRepository `json:"helmRepositories,omitempty"`
	// HelmReleases specifies the list of helm releases to be created to the region
	// Deprecated: Use "Components" instead
	// +optional
	HelmReleases []HelmRelease `json:"helmReleases,omitempty"`
}

QdrantCloudRegionSpec defines the desired state of QdrantCloudRegion

func (*QdrantCloudRegionSpec) DeepCopy

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

func (*QdrantCloudRegionSpec) DeepCopyInto

func (in *QdrantCloudRegionSpec) DeepCopyInto(out *QdrantCloudRegionSpec)

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

type QdrantCloudRegionStatus

type QdrantCloudRegionStatus struct {
	// Phase specifies the current phase of the region
	// +optional
	Phase RegionPhase `json:"phase,omitempty"`
	// KubernetesVersion specifies the version of the Kubernetes cluster
	// +optional
	KubernetesVersion string `json:"k8sVersion,omitempty"`
	// NumberOfNodes specifies the number of nodes in the Kubernetes cluster
	// +optional
	NumberOfNodes int `json:"numberOfNodes,omitempty"`
	// Capabilities specifies the capabilities of the Kubernetes cluster
	// +optional
	Capabilities *RegionCapabilities `json:"capabilities,omitempty"`
	// HelmRepositories specifies the status of the helm repositories
	// +optional
	HelmRepositories []ComponentStatus `json:"helmRepositories,omitempty"`
	// HelmReleases specifies the status of the helm releases
	// +optional
	HelmReleases []ComponentStatus `json:"helmReleases,omitempty"`
	// Message specifies the info explaining the current phase of the region
	// +optional
	Message string `json:"message,omitempty"`
	// KubernetesDistribution specifies the distribution of the Kubernetes cluster
	// +optional
	KubernetesDistribution KubernetesDistribution `json:"k8sDistribution,omitempty"`
	// Monitoring specifies monitoring status
	// +optional
	Monitoring Monitoring `json:"monitoring,omitempty"`
	// StorageClasses contains the availble StorageClasses in the Kubernetes cluster
	// +optional
	StorageClasses []StorageClass `json:"storageClasses,omitempty"`
	// VolumeSnapshotClasses contains the available VolumeSnapshotClasses in the Kubernetes cluster
	// +optional
	VolumeSnapshotClasses []VolumeSnapshotClass `json:"volumeSnapshotClasses,omitempty"`
	// NodeInfos contains the information about the nodes in the Kubernetes cluster
	// +optional
	NodeInfos []NodeInfo `json:"nodeInfos,omitempty"`
}

func (*QdrantCloudRegionStatus) DeepCopy

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

func (*QdrantCloudRegionStatus) DeepCopyInto

func (in *QdrantCloudRegionStatus) DeepCopyInto(out *QdrantCloudRegionStatus)

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

type QdrantCluster

type QdrantCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QdrantClusterSpec   `json:"spec,omitempty"`
	Status QdrantClusterStatus `json:"status,omitempty"`
}

QdrantCluster is the Schema for the qdrantclusters API

func (*QdrantCluster) DeepCopy

func (in *QdrantCluster) DeepCopy() *QdrantCluster

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

func (*QdrantCluster) DeepCopyInto

func (in *QdrantCluster) DeepCopyInto(out *QdrantCluster)

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

func (*QdrantCluster) DeepCopyObject

func (in *QdrantCluster) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantClusterList

type QdrantClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QdrantCluster `json:"items"`
}

QdrantClusterList contains a list of QdrantCluster

func (*QdrantClusterList) DeepCopy

func (in *QdrantClusterList) DeepCopy() *QdrantClusterList

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

func (*QdrantClusterList) DeepCopyInto

func (in *QdrantClusterList) DeepCopyInto(out *QdrantClusterList)

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

func (*QdrantClusterList) DeepCopyObject

func (in *QdrantClusterList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantClusterRestore

type QdrantClusterRestore struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QdrantClusterRestoreSpec   `json:"spec,omitempty"`
	Status QdrantClusterRestoreStatus `json:"status,omitempty"`
}

QdrantClusterRestore is the Schema for the qdrantclusterrestores API

func (*QdrantClusterRestore) DeepCopy

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

func (*QdrantClusterRestore) DeepCopyInto

func (in *QdrantClusterRestore) DeepCopyInto(out *QdrantClusterRestore)

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

func (*QdrantClusterRestore) DeepCopyObject

func (in *QdrantClusterRestore) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantClusterRestoreList

type QdrantClusterRestoreList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QdrantClusterRestore `json:"items"`
}

QdrantClusterRestoreList contains a list of QdrantClusterRestore objects

func (*QdrantClusterRestoreList) DeepCopy

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

func (*QdrantClusterRestoreList) DeepCopyInto

func (in *QdrantClusterRestoreList) DeepCopyInto(out *QdrantClusterRestoreList)

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

func (*QdrantClusterRestoreList) DeepCopyObject

func (in *QdrantClusterRestoreList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantClusterRestoreSpec

type QdrantClusterRestoreSpec struct {
	// Source defines the source snapshot from which the restore will be done
	Source RestoreSource `json:"source"`
	// Destination defines the destination cluster where the source data will end up
	Destination RestoreDestination `json:"destination"`
}

QdrantClusterRestoreSpec defines the desired state of QdrantClusterRestore

func (*QdrantClusterRestoreSpec) DeepCopy

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

func (*QdrantClusterRestoreSpec) DeepCopyInto

func (in *QdrantClusterRestoreSpec) DeepCopyInto(out *QdrantClusterRestoreSpec)

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

type QdrantClusterRestoreStatus

type QdrantClusterRestoreStatus struct {
	// Phase is the current phase of the restore
	// +kubebuilder:validation:Enum=Running;Skipped;Failed;Succeeded;Pending
	Phase RestorePhase `json:"phase,omitempty"`
	// Message from the operator in case of failures, like snapshot not found
	// +optional
	Message *string `json:"message,omitempty"`
}

QdrantClusterRestoreStatus defines the observed state of QdrantClusterRestore +kubebuilder:pruning:PreserveUnknownFields

func (*QdrantClusterRestoreStatus) DeepCopy

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

func (*QdrantClusterRestoreStatus) DeepCopyInto

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

type QdrantClusterScheduledSnapshot

type QdrantClusterScheduledSnapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QdrantClusterScheduledSnapshotSpec   `json:"spec,omitempty"`
	Status QdrantClusterScheduledSnapshotStatus `json:"status,omitempty"`
}

QdrantClusterScheduledSnapshot is the Schema for the qdrantclusterscheduledsnapshots API

func (*QdrantClusterScheduledSnapshot) DeepCopy

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

func (*QdrantClusterScheduledSnapshot) DeepCopyInto

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

func (*QdrantClusterScheduledSnapshot) DeepCopyObject

func (in *QdrantClusterScheduledSnapshot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantClusterScheduledSnapshotList

type QdrantClusterScheduledSnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QdrantClusterScheduledSnapshot `json:"items"`
}

QdrantClusterScheduledSnapshotList contains a list of QdrantCluster

func (*QdrantClusterScheduledSnapshotList) DeepCopy

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

func (*QdrantClusterScheduledSnapshotList) DeepCopyInto

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

func (*QdrantClusterScheduledSnapshotList) DeepCopyObject

func (in *QdrantClusterScheduledSnapshotList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantClusterScheduledSnapshotSpec

type QdrantClusterScheduledSnapshotSpec struct {
	// Id specifies the unique identifier of the cluster
	ClusterId string `json:"cluster-id"`
	// Specifies short Id which identifies a schedule
	// +kubebuilder:validation:MaxLength=8
	ScheduleShortId string `json:"scheduleShortId"`
	// Cron expression for frequency of creating snapshots, see https://en.wikipedia.org/wiki/Cron.
	// The schedule is specified in UTC.
	// +kubebuilder:validation:Pattern=`^(@(annually|yearly|monthly|weekly|daily|hourly|reboot))|(@every (\d+(ns|us|µs|ms|s|m|h))+)|((((\d+,)+\d+|([\d\*]+(\/|-)\d+)|\d+|\*) ?){5,7})$`
	Schedule string `json:"schedule"`
	// Retention of schedule in hours
	// +kubebuilder:validation:Pattern=^[0-9]+h$
	Retention string `json:"retention"`
}

QdrantClusterScheduledSnapshotSpec defines the desired state of QdrantCluster

func (*QdrantClusterScheduledSnapshotSpec) DeepCopy

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

func (*QdrantClusterScheduledSnapshotSpec) DeepCopyInto

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

type QdrantClusterScheduledSnapshotStatus

type QdrantClusterScheduledSnapshotStatus struct {
	// Phase is the current phase of the scheduled snapshot
	// +kubebuilder:validation:Enum=Active;Disabled
	Phase ScheduledSnapshotPhase `json:"phase,omitempty"`
	// The next scheduled time in UTC
	Scheduled metav1.Time `json:"scheduled,omitempty"`
	// Message from the operator in case of failures, like schedule not valid
	// +optional
	Message *string `json:"message,omitempty"`
}

QdrantClusterScheduledSnapshotStatus defines the observed state of the snapshot

func (*QdrantClusterScheduledSnapshotStatus) DeepCopy

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

func (*QdrantClusterScheduledSnapshotStatus) DeepCopyInto

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

type QdrantClusterSnapshot

type QdrantClusterSnapshot struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QdrantClusterSnapshotSpec   `json:"spec,omitempty"`
	Status QdrantClusterSnapshotStatus `json:"status,omitempty"`
}

QdrantClusterSnapshot is the Schema for the qdrantclustersnapshots API

func (*QdrantClusterSnapshot) DeepCopy

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

func (*QdrantClusterSnapshot) DeepCopyInto

func (in *QdrantClusterSnapshot) DeepCopyInto(out *QdrantClusterSnapshot)

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

func (*QdrantClusterSnapshot) DeepCopyObject

func (in *QdrantClusterSnapshot) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (*QdrantClusterSnapshot) IsCompleted added in v1.6.3

func (qcs *QdrantClusterSnapshot) IsCompleted() bool

type QdrantClusterSnapshotList

type QdrantClusterSnapshotList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QdrantClusterSnapshot `json:"items"`
}

QdrantClusterSnapshotList contains a list of QdrantClusterSnapshot

func (*QdrantClusterSnapshotList) DeepCopy

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

func (*QdrantClusterSnapshotList) DeepCopyInto

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

func (*QdrantClusterSnapshotList) DeepCopyObject

func (in *QdrantClusterSnapshotList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantClusterSnapshotPhase

type QdrantClusterSnapshotPhase string
const (
	SnapshotRunning   QdrantClusterSnapshotPhase = "Running"
	SnapshotSkipped   QdrantClusterSnapshotPhase = "Skipped"
	SnapshotFailed    QdrantClusterSnapshotPhase = "Failed"
	SnapshotSucceeded QdrantClusterSnapshotPhase = "Succeeded"
)

type QdrantClusterSnapshotSpec

type QdrantClusterSnapshotSpec struct {
	// The cluster ID for which a Snapshot need to be taken
	// The cluster should be in the same namespace as this QdrantClusterSnapshot is located
	ClusterId string `json:"cluster-id"`
	// The CreationTimestamp of the backup (expressed in Unix epoch format)
	// +optional
	CreationTimestamp int64 `json:"creation-timestamp,omitempty"`
	// Specifies the short Id which identifies a schedule, if any.
	// This field should not be set if the backup is made manually.
	// +kubebuilder:validation:MaxLength=8
	// +optional
	ScheduleShortId *string `json:"scheduleShortId,omitempty"`
	// The retention period of this snapshot in hours, if any.
	// If not set, the backup doesn't have a retention period, meaning it will not be removed.
	// +kubebuilder:validation:Pattern=^[0-9]+h$
	// +optional
	Retention *string `json:"retention,omitempty"`
}

func (*QdrantClusterSnapshotSpec) DeepCopy

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

func (*QdrantClusterSnapshotSpec) DeepCopyInto

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

type QdrantClusterSnapshotStatus

type QdrantClusterSnapshotStatus struct {
	// +kubebuilder:validation:Enum=Running;Skipped;Failed;Succeeded
	// +optional
	Phase QdrantClusterSnapshotPhase `json:"phase,omitempty"`
	// VolumeSnapshots is the list of volume snapshots that were created
	// +optional
	VolumeSnapshots []VolumeSnapshotInfo `json:"volumeSnapshots,omitempty"`
	// The calculated time (in UTC) this snapshot will be deleted, if so.
	// +optional
	RetainUntil *metav1.Time `json:"retainUntil,omitempty"`
	// CompletionTime specifies how long it took for the snapshot to complete
	// When serialized, it is a Duration in string format which follows "DDdHHhMMmSSs" format
	// For example: "1d3h5m10s", "3h5m10s", "5m10s", "10s" etc.
	// +optional
	CompletionTime *metav1.Duration `json:"completionTime,omitempty"`
}

+kubebuilder:pruning:PreserveUnknownFields

func (*QdrantClusterSnapshotStatus) DeepCopy

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

func (*QdrantClusterSnapshotStatus) DeepCopyInto

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

type QdrantClusterSpec

type QdrantClusterSpec struct {
	// Id specifies the unique identifier of the cluster
	Id string `json:"id"`
	// Version specifies the version of Qdrant to deploy
	Version string `json:"version"`
	// Size specifies the desired number of Qdrant nodes in the cluster
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=100
	Size int `json:"size"`
	// ServicePerNode specifies whether the cluster should start a dedicated service for each node.
	// +kubebuilder:default=true
	// +optional
	ServicePerNode *bool `json:"servicePerNode,omitempty"`
	// ClusterManager specifies whether to use the cluster manager for this cluster.
	// The Python-operator will deploy a dedicated cluster manager instance.
	// The Go-operator will use a shared instance.
	// If not set, the default will be taken from the operator config.
	// +optional
	ClusterManager *bool `json:"clusterManager,omitempty"`
	// Suspend specifies whether to suspend the cluster.
	// If enabled, the cluster will be suspended and all related resources will be removed except the PVCs.
	// +kubebuilder:default=false
	// +optional
	Suspend bool `json:"suspend,omitempty"`
	// Pauses specifies a list of pause request by developer for manual maintenance.
	// Operator will skip handling any changes in the CR if any pause request is present.
	// +optional
	Pauses []Pause `json:"pauses,omitempty"`
	// Image specifies the image to use for each Qdrant node.
	// +optional
	Image *QdrantImage `json:"image,omitempty"`
	// Resources specifies the resources to allocate for each Qdrant node.
	Resources Resources `json:"resources,omitempty"`
	// Security specifies the security context for each Qdrant node.
	// +optional
	Security *QdrantSecurityContext `json:"security,omitempty"`
	// Tolerations specifies the tolerations for each Qdrant node.
	// +optional
	Tolerations []corev1.Toleration `json:"tolerations,omitempty"`
	// NodeSelector specifies the node selector for each Qdrant node.
	// +optional
	NodeSelector map[string]string `json:"nodeSelector,omitempty"`
	// Config specifies the Qdrant configuration setttings for the clusters.
	// +optional
	Config *QdrantConfiguration `json:"config,omitempty"`
	// Ingress specifies the ingress for the cluster.
	// +optional
	Ingress *Ingress `json:"ingress,omitempty"`
	// Service specifies the configuration of the Qdrant Kubernetes Service.
	// +optional
	Service *KubernetesService `json:"service,omitempty"`
	// GPU specifies GPU configuration for the cluster. If this field is not set, no GPU will be used.
	// +optional
	GPU *GPU `json:"gpu,omitempty"`
	// StatefulSet specifies the configuration of the Qdrant Kubernetes StatefulSet.
	// +optional
	StatefulSet *KubernetesStatefulSet `json:"statefulSet,omitempty"`
	// StorageClassNames specifies the storage class names for db and snapshots.
	// +optional
	StorageClassNames *StorageClassNames `json:"storageClassNames,omitempty"`
	// Storage specifies the storage specification for the PVCs of the cluster. If the field is not set, no configuration will be applied.
	// +optional
	Storage *Storage `json:"storage,omitempty"`
	// TopologySpreadConstraints specifies the topology spread constraints for the cluster.
	// +optional
	TopologySpreadConstraints *[]corev1.TopologySpreadConstraint `json:"topologySpreadConstraints,omitempty"`
	// PodDisruptionBudget specifies the pod disruption budget for the cluster.
	// +optional
	PodDisruptionBudget *policyv1.PodDisruptionBudgetSpec `json:"podDisruptionBudget,omitempty"`
	// RestartAllPodsConcurrently specifies whether to restart all pods concurrently (also called one-shot-restart).
	// If enabled, all the pods in the cluster will be restarted concurrently in situations where multiple pods
	// need to be restarted, like when RestartedAtAnnotationKey is added/updated or the Qdrant version needs to be upgraded.
	// This helps sharded but not replicated clusters to reduce downtime to a possible minimum during restart.
	// If unset, the operator is going to restart nodes concurrently if none of the collections if replicated.
	// +optional
	RestartAllPodsConcurrently *bool `json:"restartAllPodsConcurrently,omitempty"`
	// If StartupDelaySeconds is set (> 0), an additional 'sleep <value>' will be emitted to the pod startup.
	// The sleep will be added when a pod is restarted, it will not force any pod to restart.
	// This feature can be used for debugging the core, e.g. if a pod is in crash loop, it provided a way
	// to inspect the attached storage.
	// +optional
	StartupDelaySeconds *int `json:"startupDelaySeconds,omitempty"`
	// RebalanceStrategy specifies the strategy to use for automaticially rebalancing shards the cluster.
	// Cluster-manager needs to be enabled for this feature to work.
	// +optional
	RebalanceStrategy *RebalanceStrategy `json:"rebalanceStrategy,omitempty"`
	// ReadClusters specifies the read clusters for this cluster to synchronize.
	// Cluster-manager needs to be enabled for this feature to work.
	// +optional
	ReadClusters []ReadCluster `json:"readClusters,omitempty"`
	// WriteCluster specifies the write cluster for this cluster. This configures the NetworkPolicy to allow egress to the write cluster.
	// +optional
	WriteCluster *WriteCluster `json:"writeCluster,omitempty"`
}

QdrantClusterSpec defines the desired state of QdrantCluster +kubebuilder:pruning:PreserveUnknownFields

func (*QdrantClusterSpec) DeepCopy

func (in *QdrantClusterSpec) DeepCopy() *QdrantClusterSpec

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

func (*QdrantClusterSpec) DeepCopyInto

func (in *QdrantClusterSpec) DeepCopyInto(out *QdrantClusterSpec)

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

func (QdrantClusterSpec) GetServicePerNode added in v1.6.6

func (s QdrantClusterSpec) GetServicePerNode() bool

GetServicePerNode get the service per node, taking the default (true) into concideration

func (QdrantClusterSpec) Validate

func (s QdrantClusterSpec) Validate() error

Validate if there are incorrect settings in the CRD

type QdrantClusterStatus

type QdrantClusterStatus struct {
	// Phase specifies the phase of the cluster
	// +optional
	Phase ClusterPhase `json:"phase,omitempty"`
	// Reason specifies the reason for the phase of the cluster
	// +optional
	Reason string `json:"reason,omitempty"`
	// AvailableNodes specifies the number of available nodes in the cluster
	// +optional
	AvailableNodes int `json:"availableNodes,omitempty"`
	// AvailableNodeIndexes specifies the indexes of the individual nodes in the cluster
	// The number of indexes should be equal with the AvailableNodes field.
	// +optional
	AvailableNodeIndexes []int `json:"availableNodeIndexes,omitempty"`
	// DeleteInProgessNodeIndexes specifies the indexes of the nodes in the cluster which are in progress of deleting and required to be deleted.
	// The indexes in this field are part of the AvailableNodeIndexes as well and cannot be re-used anymore before they are fully dropped.
	// Meaning that if the cluster-manager has (async) started the process of deleting nodes, due to a scale-down, there is no way to revert this operaton.
	// If the cluster want to scale-up concurrently (aka the delete is in progress), new nodes are required to accomplish.
	// +optional
	DeleteInProgessNodeIndexes []int `json:"deleteInProgressNodeIndexes,omitempty"`
	// BootstrapNode specifies the node in the cluster which will be used for bootstrapping a new node.
	// Should be a value from AvailableNodeIndexes.
	// As default the value from AvailableNodeIndexes[0] will be used.
	// +optional
	BootstrapNode int `json:"bootstrapNode,omitempty"`
	// If set the operator will scale down 1 peer and reset the bool.
	// If you want to remove more then 1 peer, you need to repeat setting this bool
	// +optional
	ScaleDownAllowed bool `json:"scaleDownAllowed,omitempty"`
	// The node index used in a scale down (see ScaleDownAllowed)
	// If this field is not set the last index in AvailableNodeIndexes will be used.
	ScaleDownNodeIndex *int `json:"ScaleDownNodeIndex,omitempty"`
	// Conditions specifies the conditions of different checks on the cluster
	// +optional
	Conditions []metav1.Condition `json:"conditions,omitempty"`
	// Nodes specifies the status of the nodes in the cluster
	// +optional
	Nodes map[string]NodeStatus `json:"nodes,omitempty"`
	// The next time to invoke the cluster-manager in UTC
	// +optional
	NextClusterManagerInvocation metav1.Time `json:"nextClusterManagerInvocation,omitempty"`
	// The version (to be) used in the cluster.
	// This version can differ from the spec, because version updates need to be done in order (see `update-path` annotation)
	// +optional
	Version string `json:"version,omitempty"`
	// The last response from the cluster-manager manage endpoint
	// +optional
	ClusterManagerReponse *ClusterManagerReponse `json:"clusterManagerResponse,omitempty"`
}

QdrantClusterStatus defines the observed state of QdrantCluster +kubebuilder:pruning:PreserveUnknownFields

func (*QdrantClusterStatus) DeepCopy

func (in *QdrantClusterStatus) DeepCopy() *QdrantClusterStatus

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

func (*QdrantClusterStatus) DeepCopyInto

func (in *QdrantClusterStatus) DeepCopyInto(out *QdrantClusterStatus)

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

type QdrantConfiguration

type QdrantConfiguration struct {
	// Collection specifies the default collection configuration for Qdrant.
	// +optional
	Collection *QdrantConfigurationCollection `json:"collection,omitempty"`
	// LogLevel specifies the log level for Qdrant.
	// +optional
	LogLevel *string `json:"log_level,omitempty"`
	// Service specifies the service level configuration for Qdrant.
	// +optional
	Service *QdrantConfigurationService `json:"service,omitempty"`
	// TLS specifies the TLS configuration for Qdrant.
	// +optional
	TLS *QdrantConfigurationTLS `json:"tls,omitempty"`
	// Storage specifies the storage configuration for Qdrant.
	// +optional
	Storage *StorageConfig `json:"storage,omitempty"`
	// Inference configuration. This is used in Qdrant Managed Cloud only. If not set Inference is not available to this cluster.
	// +optional
	Inference *InferenceConfig `json:"inference,omitempty"`
}

func (*QdrantConfiguration) DeepCopy

func (in *QdrantConfiguration) DeepCopy() *QdrantConfiguration

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

func (*QdrantConfiguration) DeepCopyInto

func (in *QdrantConfiguration) DeepCopyInto(out *QdrantConfiguration)

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

func (*QdrantConfiguration) GetService

func (*QdrantConfiguration) GetTLS

type QdrantConfigurationCollection

type QdrantConfigurationCollection struct {
	// ReplicationFactor specifies the default number of replicas of each shard
	// +optional
	ReplicationFactor *int64 `json:"replication_factor,omitempty"`
	// WriteConsistencyFactor specifies how many replicas should apply the operation to consider it successful
	// +optional
	WriteConsistencyFactor *int64 `json:"write_consistency_factor,omitempty"`
	// Vectors specifies the default parameters for vectors
	// +optional
	Vectors *QdrantConfigurationCollectionVectors `json:"vectors,omitempty"`
	// StrictMode specifies the strict mode configuration for the collection
	// +optional
	StrictMode *QdrantConfigurationCollectionStrictMode `json:"strict_mode,omitempty"`
}

func (*QdrantConfigurationCollection) DeepCopy

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

func (*QdrantConfigurationCollection) DeepCopyInto

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

type QdrantConfigurationCollectionStrictMode added in v1.19.0

type QdrantConfigurationCollectionStrictMode struct {
	// MaxPayloadIndexCount represents the maximal number of payload indexes allowed to be created.
	// It can be set for Qdrant version >= 1.16.0
	// Default to 100 if omitted and Qdrant version >= 1.16.0
	// +optional
	// +kubebuilder:validation:Minimum:=1
	MaxPayloadIndexCount *uint `json:"max_payload_index_count,omitempty"`
}

func (*QdrantConfigurationCollectionStrictMode) DeepCopy added in v1.19.0

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

func (*QdrantConfigurationCollectionStrictMode) DeepCopyInto added in v1.19.0

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

type QdrantConfigurationCollectionVectors

type QdrantConfigurationCollectionVectors struct {
	// OnDisk specifies whether vectors should be stored in memory or on disk.
	// +optional
	OnDisk *bool `json:"on_disk,omitempty"`
}

func (*QdrantConfigurationCollectionVectors) DeepCopy

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

func (*QdrantConfigurationCollectionVectors) DeepCopyInto

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

type QdrantConfigurationService

type QdrantConfigurationService struct {
	// ApiKey for the qdrant instance
	// +optional
	ApiKey *QdrantSecretKeyRef `json:"api_key,omitempty"`
	// ReadOnlyApiKey for the qdrant instance
	// +optional
	ReadOnlyApiKey *QdrantSecretKeyRef `json:"read_only_api_key,omitempty"`
	// JwtRbac specifies whether to enable jwt rbac for the qdrant instance
	// Default is false
	// +optional
	JwtRbac *bool `json:"jwt_rbac,omitempty"`
	// HideJwtDashboard specifies whether to hide the JWT dashboard of the embedded UI
	// Default is false
	// +optional
	HideJwtDashboard *bool `json:"hide_jwt_dashboard,omitempty"`
	// EnableTLS specifies whether to enable tls for the qdrant instance
	// Default is false
	// +optional
	EnableTLS *bool `json:"enable_tls,omitempty"`
	// MaxRequestSizeMb specifies them maximum size of POST data in a single request in megabytes
	// Default, if not set is 32 (MB)
	// +optional
	MaxRequestSizeMb *int64 `json:"max_request_size_mb,omitempty"`
}

func (*QdrantConfigurationService) DeepCopy

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

func (*QdrantConfigurationService) DeepCopyInto

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

func (*QdrantConfigurationService) GetApiKey

func (*QdrantConfigurationService) GetEnableTLS

func (c *QdrantConfigurationService) GetEnableTLS() bool

func (*QdrantConfigurationService) GetHideJwtDashboard added in v1.5.0

func (c *QdrantConfigurationService) GetHideJwtDashboard() bool

func (*QdrantConfigurationService) GetJwtRbac

func (c *QdrantConfigurationService) GetJwtRbac() bool

func (*QdrantConfigurationService) GetMaxRequestSizeMb added in v1.17.2

func (c *QdrantConfigurationService) GetMaxRequestSizeMb() int64

func (*QdrantConfigurationService) GetReadOnlyApiKey

func (c *QdrantConfigurationService) GetReadOnlyApiKey() *QdrantSecretKeyRef

type QdrantConfigurationTLS

type QdrantConfigurationTLS struct {
	// Reference to the secret containing the server certificate chain file
	// +optional
	Cert *QdrantSecretKeyRef `json:"cert,omitempty"`
	// Reference to the secret containing the server private key file
	// +optional
	Key *QdrantSecretKeyRef `json:"key,omitempty"`
	// Reference to the secret containing the CA certificate file
	// +optional
	CaCert *QdrantSecretKeyRef `json:"caCert,omitempty"`
}

func (*QdrantConfigurationTLS) DeepCopy

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

func (*QdrantConfigurationTLS) DeepCopyInto

func (in *QdrantConfigurationTLS) DeepCopyInto(out *QdrantConfigurationTLS)

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

func (*QdrantConfigurationTLS) GetCaCert added in v1.11.0

func (*QdrantConfigurationTLS) GetCert

func (*QdrantConfigurationTLS) GetKey

type QdrantEntity added in v1.15.0

type QdrantEntity struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   QdrantEntitySpec   `json:"spec,omitempty"`
	Status QdrantEntityStatus `json:"status,omitempty"`
}

QdrantEntity is the Schema for the qdrantentities API

func (*QdrantEntity) DeepCopy added in v1.15.0

func (in *QdrantEntity) DeepCopy() *QdrantEntity

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

func (*QdrantEntity) DeepCopyInto added in v1.15.0

func (in *QdrantEntity) DeepCopyInto(out *QdrantEntity)

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

func (*QdrantEntity) DeepCopyObject added in v1.15.0

func (in *QdrantEntity) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantEntityList added in v1.15.0

type QdrantEntityList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QdrantEntity `json:"items"`
}

QdrantEntityList contains a list of QdrantEntity objects

func (*QdrantEntityList) DeepCopy added in v1.15.0

func (in *QdrantEntityList) DeepCopy() *QdrantEntityList

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

func (*QdrantEntityList) DeepCopyInto added in v1.15.0

func (in *QdrantEntityList) DeepCopyInto(out *QdrantEntityList)

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

func (*QdrantEntityList) DeepCopyObject added in v1.15.0

func (in *QdrantEntityList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantEntitySpec added in v1.15.0

type QdrantEntitySpec struct {
	// The unique identifier of the entity (in UUID format).
	Id string `json:"id,omitempty"`
	// The type of the entity.
	EntityType string `json:"entityType,omitempty"`
	// The optional cluster identifier
	// +optional
	ClusterId string `json:"clusterId,omitempty"`
	// Timestamp when the entity was created.
	CreatedAt metav1.MicroTime `json:"createdAt,omitempty"`
	// Timestamp when the entity was last updated.
	LastUpdatedAt metav1.MicroTime `json:"lastUpdatedAt,omitempty"`
	// Timestamp when the entity was deleted (or is started to be deleting).
	// If not set the entity is not deleted
	DeletedAt metav1.MicroTime `json:"deletedAt,omitempty"`
	// Generic payload for this entity
	Payload apiextensions.JSON `json:"payload,omitempty"`
}

QdrantEntitySpec defines the desired state of QdrantEntity

func (*QdrantEntitySpec) DeepCopy added in v1.15.0

func (in *QdrantEntitySpec) DeepCopy() *QdrantEntitySpec

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

func (*QdrantEntitySpec) DeepCopyInto added in v1.15.0

func (in *QdrantEntitySpec) DeepCopyInto(out *QdrantEntitySpec)

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

func (QdrantEntitySpec) GetPayloadForGRPC added in v1.15.0

func (r QdrantEntitySpec) GetPayloadForGRPC() (*structpb.Struct, error)

GetPayloadForGRPC gets the current payload

func (*QdrantEntitySpec) SetPayloadFromGRPC added in v1.15.0

func (r *QdrantEntitySpec) SetPayloadFromGRPC(payload *structpb.Struct) error

SetPayloadFromGRPC sets the current payload

type QdrantEntityStatus added in v1.15.0

type QdrantEntityStatus struct {
	// Phase is the current phase of the entity
	// +kubebuilder:validation:Enum=Creating;Ready;Updating;Failing;Deleting;Deleted
	Phase EntityPhase `json:"phase,omitempty"`
	// Result is the last result from the invocation to a manager
	Result QdrantEntityStatusResult `json:"result,omitempty"`
	// ObservedGeneration is the 'Generation' of the resource that was last processed by the controller
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}

func (*QdrantEntityStatus) DeepCopy added in v1.15.0

func (in *QdrantEntityStatus) DeepCopy() *QdrantEntityStatus

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

func (*QdrantEntityStatus) DeepCopyInto added in v1.15.0

func (in *QdrantEntityStatus) DeepCopyInto(out *QdrantEntityStatus)

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

type QdrantEntityStatusResult added in v1.15.0

type QdrantEntityStatusResult struct {
	// The result of last reconcile of the entity
	// +kubebuilder:validation:Enum=Ok;Pending;Error
	Result EntityResult `json:"result,omitempty"`
	// The reason of the result (e.g. in case of an error)
	Reason string `json:"reason,omitempty"`
	// The optional payload of the status.
	Payload apiextensions.JSON `json:"payload,omitempty"`
}

QdrantEntityStatusResult is the last result from the invocation to a manager

func (*QdrantEntityStatusResult) DeepCopy added in v1.15.0

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

func (*QdrantEntityStatusResult) DeepCopyInto added in v1.15.0

func (in *QdrantEntityStatusResult) DeepCopyInto(out *QdrantEntityStatusResult)

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

func (QdrantEntityStatusResult) GetPayloadForGRPC added in v1.15.0

func (r QdrantEntityStatusResult) GetPayloadForGRPC() (*structpb.Struct, error)

GetPayloadForGRPC gets the current payload

func (*QdrantEntityStatusResult) SetPayloadFromGRPC added in v1.15.0

func (r *QdrantEntityStatusResult) SetPayloadFromGRPC(payload *structpb.Struct) error

SetPayloadFromGRPC sets the current payload

type QdrantImage

type QdrantImage struct {
	// Repository specifies the repository of the Qdrant image.
	// If not specified defaults the config of the operator (or qdrant/qdrant if not specified in operator).
	// +optional
	Repository *string `json:"repository,omitempty"`
	// PullPolicy specifies the image pull policy for the Qdrant image.
	// If not specified defaults the config of the operator (or IfNotPresent if not specified in operator).
	// +optional
	PullPolicy *corev1.PullPolicy `json:"pullPolicy,omitempty"`
	// PullSecretName specifies the pull secret for the Qdrant image.
	// +optional
	PullSecretName *string `json:"pullSecretName,omitempty"`
}

func (*QdrantImage) DeepCopy

func (in *QdrantImage) DeepCopy() *QdrantImage

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

func (*QdrantImage) DeepCopyInto

func (in *QdrantImage) DeepCopyInto(out *QdrantImage)

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

func (*QdrantImage) GetImagePullSecrets

func (qi *QdrantImage) GetImagePullSecrets() *string

func (*QdrantImage) GetPullPolicy

func (qi *QdrantImage) GetPullPolicy() *corev1.PullPolicy

func (*QdrantImage) GetRepository

func (qi *QdrantImage) GetRepository() *string

type QdrantRelease added in v1.2.7

type QdrantRelease struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec QdrantReleaseSpec `json:"spec,omitempty"`
}

QdrantRelease describes an available Qdrant release

func (*QdrantRelease) DeepCopy added in v1.2.7

func (in *QdrantRelease) DeepCopy() *QdrantRelease

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

func (*QdrantRelease) DeepCopyInto added in v1.2.7

func (in *QdrantRelease) DeepCopyInto(out *QdrantRelease)

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

func (*QdrantRelease) DeepCopyObject added in v1.2.7

func (in *QdrantRelease) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantReleaseList added in v1.2.7

type QdrantReleaseList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []QdrantRelease `json:"items"`
}

QdrantReleaseList contains a list of QdrantRelease

func (*QdrantReleaseList) DeepCopy added in v1.2.7

func (in *QdrantReleaseList) DeepCopy() *QdrantReleaseList

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

func (*QdrantReleaseList) DeepCopyInto added in v1.2.7

func (in *QdrantReleaseList) DeepCopyInto(out *QdrantReleaseList)

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

func (*QdrantReleaseList) DeepCopyObject added in v1.2.7

func (in *QdrantReleaseList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type QdrantReleaseSpec added in v1.2.7

type QdrantReleaseSpec struct {
	// Version number (should be semver compliant).
	// E.g. "v1.10.1"
	Version string `json:"version,omitempty"`
	// If set, this version is default for new clusters on Cloud.
	// There should be only 1 Qdrant version in the platform set as default.
	// +kubebuilder:default=false
	// +optional
	Default bool `json:"default,omitempty"`
	// Full docker image to use for this version.
	// If empty, a default image will be derived from Version (and qdrant/qdrant is assumed).
	// +optional
	Image string `json:"image,omitempty"`
	// If set, this version cannot be used for new clusters.
	// +kubebuilder:default=false
	// +optional
	Unavailable bool `json:"unavailable,omitempty"`
	// If set, this version is no longer actively supported.
	// +kubebuilder:default=false
	// +optional
	EndOfLife bool `json:"endOfLife,omitempty"`
	// If set, this version can only be used by accounts with given IDs.
	// +optional
	AccountIDs []string `json:"accountIds,omitempty"`
	// If set, this version can only be used by accounts that have been given the listed privileges.
	// +optional
	AccountPrivileges []string `json:"accountPrivileges,omitempty"`
	// General remarks for human reading
	// +optional
	Remarks string `json:"remarks,omitempty"`
	// Release Notes URL for the specified version
	ReleaseNotesURL string `json:"releaseNotesURL,omitempty"`
}

QdrantReleaseSpec defines the desired state of QdrantRelease

func (*QdrantReleaseSpec) DeepCopy added in v1.2.7

func (in *QdrantReleaseSpec) DeepCopy() *QdrantReleaseSpec

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

func (*QdrantReleaseSpec) DeepCopyInto added in v1.2.7

func (in *QdrantReleaseSpec) DeepCopyInto(out *QdrantReleaseSpec)

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

type QdrantSecretKeyRef

type QdrantSecretKeyRef struct {
	// SecretKeyRef to the secret containing data to configure the qdrant instance
	// +optional
	SecretKeyRef *corev1.SecretKeySelector `json:"secretKeyRef,omitempty"`
}

func (*QdrantSecretKeyRef) DeepCopy

func (in *QdrantSecretKeyRef) DeepCopy() *QdrantSecretKeyRef

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

func (*QdrantSecretKeyRef) DeepCopyInto

func (in *QdrantSecretKeyRef) DeepCopyInto(out *QdrantSecretKeyRef)

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

func (*QdrantSecretKeyRef) GetQdrantSecretKeyRef

func (r *QdrantSecretKeyRef) GetQdrantSecretKeyRef() *corev1.SecretKeySelector

type QdrantSecurityContext

type QdrantSecurityContext struct {
	// User specifies the user to run the Qdrant process as.
	User int64 `json:"user,omitempty"`
	// Group specifies the group to run the Qdrant process as.
	Group int64 `json:"group,omitempty"`
	// FsGroup specifies file system group to run the Qdrant process as.
	// +optional
	FsGroup *int64 `json:"fsGroup,omitempty"`
}

func (*QdrantSecurityContext) DeepCopy

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

func (*QdrantSecurityContext) DeepCopyInto

func (in *QdrantSecurityContext) DeepCopyInto(out *QdrantSecurityContext)

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

func (*QdrantSecurityContext) GetFsGroup

func (c *QdrantSecurityContext) GetFsGroup() *int64

func (*QdrantSecurityContext) GetGroup

func (c *QdrantSecurityContext) GetGroup() *int64

func (*QdrantSecurityContext) GetUser

func (c *QdrantSecurityContext) GetUser() *int64

type ReadCluster added in v1.19.2

type ReadCluster struct {
	// Id specifies the unique identifier of the read cluster
	Id string `json:"id"`
}

func (*ReadCluster) DeepCopy added in v1.19.2

func (in *ReadCluster) DeepCopy() *ReadCluster

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

func (*ReadCluster) DeepCopyInto added in v1.19.2

func (in *ReadCluster) DeepCopyInto(out *ReadCluster)

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

type RebalanceStrategy added in v1.16.0

type RebalanceStrategy string

RebalanceStrategy specifies the strategy to use for automaticially rebalancing shards the cluster. +kubebuilder:validation:Enum=by_count;by_size;by_count_and_size

const (
	ByCount        RebalanceStrategy = "by_count"
	BySize         RebalanceStrategy = "by_size"
	ByCountAndSize RebalanceStrategy = "by_count_and_size"
)

type RegionCapabilities

type RegionCapabilities struct {
	// VolumeSnapshot specifies whether the Kubernetes cluster supports volume snapshot
	// +optional
	VolumeSnapshot *bool `json:"volumeSnapshot,omitempty"`
	// VolumeExpansion specifies whether the Kubernetes cluster supports volume expansion
	// +optional
	VolumeExpansion *bool `json:"volumeExpansion,omitempty"`
}

func (*RegionCapabilities) DeepCopy

func (in *RegionCapabilities) DeepCopy() *RegionCapabilities

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

func (*RegionCapabilities) DeepCopyInto

func (in *RegionCapabilities) DeepCopyInto(out *RegionCapabilities)

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

type RegionPhase

type RegionPhase string
const (
	RegionPhaseReady    RegionPhase = "Ready"
	RegionPhaseNotReady RegionPhase = "NotReady"
	FailedToSync        RegionPhase = "FailedToSync"
)

type ResourceRequests

type ResourceRequests struct {
	// CPU specifies the CPU request for each Qdrant node.
	// +optional
	CPU string `json:"cpu,omitempty"`
	// Memory specifies the memory request for each Qdrant node.
	// +optional
	Memory string `json:"memory,omitempty"`
}

func (*ResourceRequests) DeepCopy

func (in *ResourceRequests) DeepCopy() *ResourceRequests

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

func (*ResourceRequests) DeepCopyInto

func (in *ResourceRequests) DeepCopyInto(out *ResourceRequests)

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

func (ResourceRequests) Validate

func (s ResourceRequests) Validate(base string) error

Validate if there are incorrect settings in the CRD

type Resources

type Resources struct {
	// CPU specifies the CPU limit for each Qdrant node.
	CPU string `json:"cpu,omitempty"`
	// Memory specifies the memory limit for each Qdrant node.
	Memory string `json:"memory,omitempty"`
	// Storage specifies the storage amount for each Qdrant node.
	Storage string `json:"storage,omitempty"`
	// Requests specifies the resource requests for each Qdrant node.
	// +optional
	Requests ResourceRequests `json:"requests,omitempty"`
}

func (*Resources) DeepCopy

func (in *Resources) DeepCopy() *Resources

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

func (*Resources) DeepCopyInto

func (in *Resources) DeepCopyInto(out *Resources)

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

func (Resources) GetRequestCPU

func (r Resources) GetRequestCPU() string

func (Resources) GetRequestMemory

func (r Resources) GetRequestMemory() string

func (Resources) Validate

func (s Resources) Validate(base string) error

Validate if there are incorrect settings in the CRD

type RestoreDestination

type RestoreDestination struct {
	// Name of the destination cluster
	Name string `json:"name"`
	// Namespace of the destination cluster
	Namespace string `json:"namespace"`
	// Create when set to true indicates that
	// a new cluster with the specified name should be created.
	// Otherwise, if set to false, the existing cluster is going to be restored
	// to the specified state.
	// +optional
	Create bool `json:"create"`
}

func (*RestoreDestination) DeepCopy

func (in *RestoreDestination) DeepCopy() *RestoreDestination

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

func (*RestoreDestination) DeepCopyInto

func (in *RestoreDestination) DeepCopyInto(out *RestoreDestination)

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

type RestorePhase

type RestorePhase string
const (
	RestoreRunning   RestorePhase = "Running"
	RestoreSkipped   RestorePhase = "Skipped"
	RestoreFailed    RestorePhase = "Failed"
	RestoreSucceeded RestorePhase = "Succeeded"
	RestorePending   RestorePhase = "Pending"
)

type RestoreSource

type RestoreSource struct {
	// SnapshotName is the name of the snapshot from which we wish to restore
	SnapshotName string `json:"snapshotName"`
	// Namespace of the snapshot
	Namespace string `json:"namespace"`
}

func (*RestoreSource) DeepCopy

func (in *RestoreSource) DeepCopy() *RestoreSource

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

func (*RestoreSource) DeepCopyInto

func (in *RestoreSource) DeepCopyInto(out *RestoreSource)

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

type ScheduledSnapshotPhase

type ScheduledSnapshotPhase string
const (
	ScheduleActive   ScheduledSnapshotPhase = "Active"
	ScheduleDisabled ScheduledSnapshotPhase = "Disabled"
)

type Storage added in v1.21.0

type Storage struct {
	// VolumeAttributesClassName specifies VolumeAttributeClass name to use for the storage PVCs
	// +optional
	VolumeAttributesClassName *string `json:"volumeAttributesClassName,omitempty"`
	// IOPS defines the IOPS number to configure for the storage PVCs
	// +optional
	IOPS *int `json:"iops,omitempty"`
	// Throughput defines the throughput number in MB/s for the storage PVCs
	// +optional
	Throughput *int `json:"throughput,omitempty"`
}

func (*Storage) DeepCopy added in v1.21.0

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto added in v1.21.0

func (in *Storage) DeepCopyInto(out *Storage)

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

func (*Storage) Validate added in v1.21.0

func (s *Storage) Validate() error

Validate storage configurations

type StorageClass added in v1.12.0

type StorageClass struct {
	// Name specifies the name of the storage class
	Name string `json:"name"`
	// Default specifies whether the storage class is the default storage class
	Default bool `json:"default"`
	// Provisioner specifies the provisioner of the storage class
	Provisioner string `json:"provisioner"`
	// AllowVolumeExpansion specifies whether the storage class allows volume expansion
	AllowVolumeExpansion bool `json:"allowVolumeExpansion"`
	// ReclaimPolicy specifies the reclaim policy of the storage class
	ReclaimPolicy string `json:"reclaimPolicy"`
	// Parameters specifies the parameters of the storage class
	// +optional
	Parameters map[string]string `json:"parameters"`
}

func (*StorageClass) DeepCopy added in v1.12.0

func (in *StorageClass) DeepCopy() *StorageClass

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

func (*StorageClass) DeepCopyInto added in v1.12.0

func (in *StorageClass) DeepCopyInto(out *StorageClass)

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

type StorageClassNames

type StorageClassNames struct {
	// DB specifies the storage class name for db volume.
	// +optional
	DB *string `json:"db,omitempty"`
	// Snapshots specifies the storage class name for snapshots volume.
	// +optional
	Snapshots *string `json:"snapshots,omitempty"`
}

func (*StorageClassNames) DeepCopy

func (in *StorageClassNames) DeepCopy() *StorageClassNames

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

func (*StorageClassNames) DeepCopyInto

func (in *StorageClassNames) DeepCopyInto(out *StorageClassNames)

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

func (*StorageClassNames) GetDB

func (n *StorageClassNames) GetDB() *string

func (*StorageClassNames) GetSnapshots

func (n *StorageClassNames) GetSnapshots() *string

type StorageConfig added in v1.2.5

type StorageConfig struct {
	// Performance configuration
	// +optional
	Performance *StoragePerformanceConfig `json:"performance,omitempty"`
	// MaxCollections represents the maximal number of collections allowed to be created.
	// It can be set for Qdrant version >= 1.14.1
	// Default to 1000 if omitted and Qdrant version >= 1.15.0
	// +optional
	// +kubebuilder:validation:Minimum:=1
	MaxCollections *uint `json:"maxCollections,omitempty"`
}

func (*StorageConfig) DeepCopy added in v1.2.5

func (in *StorageConfig) DeepCopy() *StorageConfig

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

func (*StorageConfig) DeepCopyInto added in v1.2.5

func (in *StorageConfig) DeepCopyInto(out *StorageConfig)

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

type StoragePerformanceConfig added in v1.2.5

type StoragePerformanceConfig struct {
	// OptimizerCPUBudget defines the number of CPU allocation.
	// If 0 - auto selection, keep 1 or more CPUs unallocated depending on CPU size
	// If negative - subtract this number of CPUs from the available CPUs.
	// If positive - use this exact number of CPUs.
	// +optional
	OptimizerCPUBudget *int64 `json:"optimizer_cpu_budget,omitempty"`
	// AsyncScorer enables io_uring when rescoring
	// +optional
	AsyncScorer *bool `json:"async_scorer,omitempty"`
}

func (*StoragePerformanceConfig) DeepCopy added in v1.2.5

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

func (*StoragePerformanceConfig) DeepCopyInto added in v1.2.5

func (in *StoragePerformanceConfig) DeepCopyInto(out *StoragePerformanceConfig)

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

type TraefikConfig

type TraefikConfig struct {
	// AllowedSourceRanges specifies the allowed CIDR source ranges for the ingress.
	// +optional
	AllowedSourceRanges []string `json:"allowedSourceRanges,omitempty"`
	// EntryPoints is the list of traefik entry points to use for the ingress route.
	// If nothing is set, it will take the entryPoints configured in the operator config.
	EntryPoints []string `json:"entryPoints,omitempty"`
}

func (*TraefikConfig) DeepCopy

func (in *TraefikConfig) DeepCopy() *TraefikConfig

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

func (*TraefikConfig) DeepCopyInto

func (in *TraefikConfig) DeepCopyInto(out *TraefikConfig)

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

func (*TraefikConfig) GetAllowedSourceRanges

func (c *TraefikConfig) GetAllowedSourceRanges() []string

type VolumeSnapshotClass added in v1.12.0

type VolumeSnapshotClass struct {
	// Name specifies the name of the volume snapshot class
	Name string `json:"name"`
	// Driver specifies the driver of the volume snapshot class
	Driver string `json:"driver"`
}

func (*VolumeSnapshotClass) DeepCopy added in v1.12.0

func (in *VolumeSnapshotClass) DeepCopy() *VolumeSnapshotClass

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

func (*VolumeSnapshotClass) DeepCopyInto added in v1.12.0

func (in *VolumeSnapshotClass) DeepCopyInto(out *VolumeSnapshotClass)

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

type VolumeSnapshotInfo

type VolumeSnapshotInfo struct {
	// VolumeSnapshotName is the name of the volume snapshot
	VolumeSnapshotName string `json:"volumeSnapshotName"`
	// VolumeName is the name of the volume that was backed up
	VolumeName string `json:"volumeName"`
	// ReadyToUse indicates if the volume snapshot is ready to use
	// +optional
	ReadyToUse bool `json:"readyToUse"`
	// SnapshotHandle is the identifier of the volume snapshot in the respective cloud provider
	// +optional
	SnapshotHandle string `json:"snapshotHandle,omitempty"`
	// Error contains the error details if the snapshot creation failed
	// +optional
	Error *volumesnapshotv1.VolumeSnapshotError `json:"error,omitempty"`
	// Recent Kubernetes Events related to the VolumeSnapshot
	// Events that happened in the last 30 minutes are stored.
	// +optional
	Events []KubernetesEventInfo `json:"events,omitempty"`
}

func (*VolumeSnapshotInfo) DeepCopy

func (in *VolumeSnapshotInfo) DeepCopy() *VolumeSnapshotInfo

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

func (*VolumeSnapshotInfo) DeepCopyInto

func (in *VolumeSnapshotInfo) DeepCopyInto(out *VolumeSnapshotInfo)

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

type WriteCluster added in v1.19.2

type WriteCluster struct {
	// Id specifies the unique identifier of the write cluster
	Id string `json:"id"`
}

func (*WriteCluster) DeepCopy added in v1.19.2

func (in *WriteCluster) DeepCopy() *WriteCluster

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

func (*WriteCluster) DeepCopyInto added in v1.19.2

func (in *WriteCluster) DeepCopyInto(out *WriteCluster)

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