Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Helm values the operator renders

Each QdrantCluster becomes one helm upgrade --install of the qdrant chart from https://qdrant.github.io/qdrant-helm, at chart version spec.version without its leading v. The values below are passed on stdin; everything the spec does not cover keeps the chart's default for that version.

Spec fieldChart value
replicasreplicaCount
image.repository, image.pullPolicyimage.repository, image.pullPolicy. No image.tag, so the chart's appVersion applies
resourcesresources
persistence.size, accessModes, storageClassNamepersistence.size, persistence.accessModes, persistence.storageClassName
snapshotPersistencesnapshotPersistence.enabled, .size, .storageClassName
service.type, service.annotationsservice.type, service.annotations
apiKey.autoGenerateapiKey: true or false
apiKey.secretRefapiKey: {valueFrom: {secretKeyRef: {name, key}}}
readOnlyApiKeyreadOnlyApiKey, same encoding
apiKey.jwtRbacconfig.service.jwt_rbac
metricsmetrics.serviceMonitor.enabled (true only when both metrics.enabled and serviceMonitor.enabled), .scrapeInterval, .additionalLabels
nodeSelector, tolerations, affinitySame names
cluster.enabledconfig.cluster.enabled
cluster.p2p.port, cluster.p2p.enableTlsconfig.cluster.p2p.port, config.cluster.p2p.enable_tls
tls.enabledconfig.service.enable_tls, and config.tls.cert / config.tls.key set to /qdrant/tls/tls.crt and /qdrant/tls/tls.key
tls.secretRef.nameadditionalVolumes: [{name: tls, secret: {secretName}}] and additionalVolumeMounts: [{name: tls, mountPath: /qdrant/tls, readOnly: true}]
configDeep-merged over the config entries above; the spec wins on conflicts

Names the chart produces

For a QdrantCluster named my-qdrant in namespace prod:

ObjectName
Helm releaseqdrant-my-qdrant
StatefulSetqdrant-my-qdrant
Podsqdrant-my-qdrant-0, qdrant-my-qdrant-1, …
Client Serviceqdrant-my-qdrant.prod.svc.cluster.local, ports 6333 HTTP, 6334 gRPC, 6335 p2p
Headless Serviceqdrant-my-qdrant-headless.prod.svc.cluster.local
Pod DNSqdrant-my-qdrant-<i>.qdrant-my-qdrant-headless.prod.svc.cluster.local
Generated API key Secretqdrant-my-qdrant-apikey, key api-key
PersistentVolumeClaimsCreated by the StatefulSet from the chart's claim template

The operator relies on these names when it talks to Qdrant: the client Service for listing collections and reconciling QdrantCollection resources, the pod names for snapshots and recovery.

What the operator does not expose

Chart values without a spec field, among them ingress, podDisruptionBudget, sidecarContainers, additionalVolumes beyond the TLS mount, env, livenessProbe and friends, updateStrategy, serviceAccount and podSecurityContext, keep their chart defaults. config reaches Qdrant's configuration file only, not the chart's other values. If you need one of them, open an issue with the use case.