v1

package
v1.6.6 Latest Latest
Warning

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

Go to latest
Published: Dec 9, 2024 License: Apache-2.0 Imports: 10 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"
)
View Source
const (
	KindQdrantClusterRestore     = "QdrantClusterRestore"
	ResourceQdrantClusterRestore = "qdrantclusterrestores"
)
View Source
const (
	KindQdrantClusterScheduledSnapshot     = "QdrantClusterScheduledSnapshot"
	ResourceQdrantClusterScheduledSnapshot = "qdrantclusterscheduledsnapshots"
)
View Source
const (
	KindQdrantClusterSnapshot     = "QdrantClusterSnapshot"
	ResourceQdrantClusterSnapshot = "qdrantclustersnapshots"
)
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 ClusterPhase

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

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

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

	ClusterScaling       ClusterPhase = "Scaling"
	ClusterFailedToScale ClusterPhase = "FailedToScale"

	ClusterRestarting      ClusterPhase = "Restarting"
	ClusterFailedToRestart ClusterPhase = "FailedToRestart"

	ClusterResyncing      ClusterPhase = "Resyncing"
	ClusterFailedToResync ClusterPhase = "FailedToResync"

	ClusterUpgrading       ClusterPhase = "Upgrading"
	ClusterFailedToUpgrade ClusterPhase = "FailedToUpgrade"

	ClusterBackupRunning  ClusterPhase = "BackupRunning"
	ClusterFailedToBackup ClusterPhase = "FailedToBackup"

	ClusterRestoring       ClusterPhase = "Restoring"
	ClusterFailedToRestore ClusterPhase = "FailedToRestore"

	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 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 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 *helmapi.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 *srcapi.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 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 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 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"`
}

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 Operation

type Operation struct {
	// Type specifies the type of the operation
	Type OperationType `json:"type"`
	// Phase specifies the phase of the operation
	// +optional
	Phase OperationPhase `json:"phase,omitempty"`
	// Id specifies the id of the operation
	// +optional
	Id int `json:"id"`
	// StartTime specifies the time when the operation started
	// +optional
	StartTime string `json:"startTime,omitempty"`
	// CompletionTime specifies the time when the operation completed
	// +optional
	CompletionTime string `json:"completionTime,omitempty"`
	// Message specifies the message of the operation
	// +optional
	Message string `json:"message,omitempty"`
	// SubOperation specifies whether the operation is a sub-operation of another operation
	// +optional
	SubOperation bool `json:"subOperation,omitempty"`
	// Steps specifies the steps the operation has performed
	// +optional
	Steps []OperationStep `json:"steps,omitempty"`
}

func (*Operation) DeepCopy

func (in *Operation) DeepCopy() *Operation

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

func (*Operation) DeepCopyInto

func (in *Operation) DeepCopyInto(out *Operation)

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

type OperationPhase

type OperationPhase string
const (
	OperationPending    OperationPhase = "Pending"
	OperationInProgress OperationPhase = "InProgress"
	OperationCompleted  OperationPhase = "Completed"
	OperationFailed     OperationPhase = "Failed"
)

type OperationStep

type OperationStep struct {
	// Name specifies the name of the step
	Name string `json:"name"`
	// Id specifies the id of the step
	// +optional
	Id int `json:"id,omitempty"`
	// Phase specifies the phase of the step
	// +optional
	Phase StepPhase `json:"phase,omitempty"`
	// Message specifies the reason in case of failure
	// +optional
	Message string `json:"message,omitempty"`
}

func (*OperationStep) DeepCopy

func (in *OperationStep) DeepCopy() *OperationStep

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

func (*OperationStep) DeepCopyInto

func (in *OperationStep) DeepCopyInto(out *OperationStep)

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

type OperationType

type OperationType string
const (
	BackupOperation                   OperationType = "Backup"
	ClusterCreationOperation          OperationType = "ClusterCreation"
	HorizontalScalingOperation        OperationType = "HorizontalScaling"
	VerticalScalingOperation          OperationType = "VerticalScaling"
	VersionUpdateOperation            OperationType = "VersionUpdate"
	SuspendOperation                  OperationType = "Suspend"
	ResumeOperation                   OperationType = "Resume"
	RestartOperation                  OperationType = "Restart"
	ResyncOperation                   OperationType = "Resync"
	RecoveryOperation                 OperationType = "Recovery"
	CrossNamespacedMigrationOperation OperationType = "CrossNamespacedMigration"
)

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"`
	// HelmRepositories specifies the list of helm repositories to be created to the region
	// +optional
	HelmRepositories []HelmRepository `json:"helmRepositories,omitempty"`
	// HelmReleases specifies the list of helm releases to be created to the region
	// +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"`
}

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 GetQdrantClusterCrdForHash

func GetQdrantClusterCrdForHash(qc QdrantCluster) QdrantCluster

GetQdrantClusterCrdForHash creates a QdrantCluster for the use of creating a hash for the provided QdrantCluster, It uses a subset only, so it ignores e.g. majority of the the status and some fields from the spec.

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
	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=30
	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"`
	// Deprecated
	// +optional
	Distributed bool `json:"distributed,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"`
	// 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"`
	// 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 need to be upgraded.
	// This helps sharded but not replicated clusters to reduce downtime to possible minimum during restart.
	// +optional
	RestartAllPodsConcurrently bool `json:"restartAllPodsConcurrently,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

Validates 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"`
	// Operations tracks list of recent operation on the cluster. Operator uses this field to track the progress of an operation.
	// In operator V2 this field is deprecated and Kubernetes events are used instead.
	// +optional
	Operations []Operation `json:"operations,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"`
}

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"`
}

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"`
}

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 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"`
}

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) 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"`
}

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) GetCert

func (*QdrantConfigurationTLS) GetKey

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

Validates 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

Validates 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"`
}

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"
)

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 StepPhase

type StepPhase string
const (
	StepInProgress StepPhase = "InProgress"
	StepCompleted  StepPhase = "Completed"
	StepFailed     StepPhase = "Failed"
)

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"`
}

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:"optimizerCPUBudget,omitempty"`
	// AsyncScorer enables io_uring when rescoring
	// +optional
	AsyncScorer *bool `json:"asyncScorer,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"`
}

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 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"`
}

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.

Jump to

Keyboard shortcuts

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