--- title: Configuration weight: 2 --- # Private Cloud Configuration The Qdrant Privagte Cloud helm chart has several configuration options. The following YAML shows all configuration options with their default values: ```yaml operator: # Amount of replicas for the Qdrant operator (v2) replicaCount: 1 image: # Image repository for the qdrant operator repository: registry.cloud.qdrant.io/qdrant/operator # Image pullPolicy pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "" # Optional image pull secrets imagePullSecrets: - name: qdrant-registry-creds nameOverride: "" fullnameOverride: "operator" # Service account configuration serviceAccount: create: true annotations: { } # Additional pod annotations podAnnotations: { } # pod security context podSecurityContext: runAsNonRoot: true runAsUser: 10001 runAsGroup: 20001 fsGroup: 30001 # container security context securityContext: capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 10001 runAsGroup: 20001 allowPrivilegeEscalation: false seccompProfile: type: RuntimeDefault # Configuration for the Qdrant operator service to expose metrics service: enabled: true type: ClusterIP metricsPort: 9290 # Configuration for the Qdrant operator service monitor to scrape metrics serviceMonitor: enabled: false # Resource requests and limits for the Qdrant operator resources: { } # Node selector for the Qdrant operator nodeSelector: { } # Tolerations for the Qdrant operator tolerations: [ ] # Affinity configuration for the Qdrant operator affinity: { } watch: # If true, watches only the namespace where the Qdrant operator is deployed, otherwise watches the namespaces in watch.namespaces onlyReleaseNamespace: true # an empty list watches all namespaces. namespaces: [ ] limitRBAC: true # Configuration for the Qdrant operator (v2) settings: # Does the operator run inside of a Kubernetes cluster (kubernetes) or outside (local) appEnvironment: kubernetes # The log level for the operator # Available options: DEBUG | INFO | WARN | ERROR logLevel: INFO # Metrics contains the operator config related the metrics metrics: # The port used for metrics port: 9290 # Health contains the operator config related the health probe healthz: # The port used for the health probe port: 8285 # Controller related settings controller: # The period a forced recync is done by the controller (if watches are missed / nothing happened) forceResyncPeriod: 2m # QPS indicates the maximum QPS to the master from this client. # Default is 200 qps: 200 # Maximum burst for throttle. # Default is 500. burst: 500 # Features contains the settings for enabling / disabling the individual features of the operator features: # ClusterManagement contains the settings for qdrant (database) cluster management clusterManagement: # Whether or not the Qdrant cluster features are enabled. # If disabled, all other properties in this struct are disregarded. Otherwise, the individual features will be inspected. # Default is true. enable: true # The StorageClass used to make database and snapshot PVCs. # Default is nil, meaning the default storage class of Kubernetes. storageClass: # The StorageClass used to make database PVCs. # Default is nil, meaning the default storage class of Kubernetes. #database: # The StorageClass used to make snapshot PVCs. # Default is nil, meaning the default storage class of Kubernetes. #snapshot: # Qdrant config contains settings specific for the database qdrant: # The config where to find the image for qdrant image: # The repository where to find the image for qdrant # Default is "qdrant/qdrant" repository: registry.cloud.qdrant.io/qdrant/qdrant # Docker image pull policy # Default "IfNotPresent", unless the tag is dev, master or latest. Then "Always" #pullPolicy: # Docker image pull secret name # This secret should be available in the namespace where the cluster is running # Default not set pullSecretName: qdrant-registry-creds # Qdrant DB log level # Available options: DEBUG | INFO | WARN | ERROR # Default is "INFO" logLevel: INFO # Default Qdrant security context configuration securityContext: # Enable default security context # Default is false enabled: false # Default user for qdrant container # Default not set #user: 1000 # Default fsGroup for qdrant container # Default not set #fsUser: 2000 # Default group for qdrant container # Default not set #group: 3000 # Network policies configuration for the Qdrant databases networkPolicies: ingress: - ports: - protocol: TCP port: 6333 - protocol: TCP port: 6334 # Allow DNS resolution from qdrant pods at Kubernetes internal DNS server egress: - to: - namespaceSelector: matchLabels: kubernetes.io/metadata.name: kube-system ports: - protocol: UDP port: 53 # Scheduling config contains the settings specific for scheduling scheduling: # Default topology spread constraints (list from type corev1.TopologySpreadConstraint) # Default is an empty list topologySpreadConstraints: [ ] # Default pod disruption budget (object from type policyv1.PodDisruptionBudgetSpec) # Default is not set podDisruptionBudget: { } # ClusterManager config contains the settings specific for cluster manager clusterManager: # Whether or not the cluster manager (on operator level). # If disabled, all other properties in this struct are disregarded. Otherwise, the individual features will be inspected. # Default is false. enable: true # The endpoint address the cluster manager could be reached # If set, this should be a full URL like: http://cluster-manager.qdrant-cloud-ns.svc.cluster.local:7333 endpointAddress: http://cluster-manager # InvocationInterval is the interval between calls (started after the previous call is retured) # Default is 10 seconds invocationInterval: 10s # Timeout is the duration a single call to the cluster manager is allowed to take. # Default is 30 seconds timeout: 30s # Specifies overrides for the manage rules manageRulesOverrides: #dry_run: #max_transfers: #max_transfers_per_collection: #rebalance: #replicate: # Ingress config contains the settings specific for ingress ingress: # Whether or not the Ingress feature is enabled. # Default is true. enable: false # Which specific ingress provider should be used # Default is KubernetesIngress provider: KubernetesIngress # The specific settings when the Provider is QdrantCloudTraefik qdrantCloudTraefik: # Enable tls # Default is false tls: false # Secret with TLS certificate # Default is None secretName: "" # List of Traefik middlewares to apply # Default is an empty list middlewares: [ ] # IP Allowlist Strategy for Traefik # Default is None ipAllowlistStrategy: # Enable body validator plugin and matching ingressroute rules # Default is false enableBodyValidatorPlugin: false # The specific settings when the Provider is KubernetesIngress kubernetesIngress: # Name of the ingress class # Default is None #ingressClassName: # TelemetryTimeout is the duration a single call to the cluster telemetry endpoint is allowed to take. # Default is 3 seconds telemetryTimeout: 3s # MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 20. maxConcurrentReconciles: 20 # BackupManagementConfig contains the settings for backup management backupManagement: # Whether or not the backup features are enabled. # If disabled, all other properties in this struct are disregarded. Otherwise, the individual features will be inspected. # Default is true. enable: true # Snapshots contains the settings for snapshots as part of backup management. snapshots: # Whether or not the Snapshot feature is enabled. # Default is true. enable: true # The VolumeSnapshotClass used to make VolumeSnapshots. # Default is "csi-snapclass". volumeSnapshotClass: "csi-snapclass" # The duration a snapshot is retained when the phase becomes Failed or Skipped # Default is 72h (3d). retainUnsuccessful: 72h # MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1. maxConcurrentReconciles: 1 # ScheduledSnapshots contains the settings for scheduled snapshot as part of backup management. scheduledSnapshots: # Whether or not the ScheduledSnapshot feature is enabled. # Default is true. enable: true # RemoveCronJobs can be enabled when the previous [Python] operator (qdrant-operator) has been run and this # operator should remove the cron jobs it created (not used by this operator anymore). # Default is true. removeCronJobs: true # MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1. maxConcurrentReconciles: 1 # Restores contains the settings for restoring (a snapshot) as part of backup management. restores: # Whether or not the Restore feature is enabled. # Default is true. enable: true # MaxConcurrentReconciles is the maximum number of concurrent Reconciles which can be run. Defaults to 1. maxConcurrentReconciles: 1 qdrant-cluster-manager: replicaCount: 1 image: repository: registry.cloud.qdrant.io/qdrant/cluster-manager pullPolicy: IfNotPresent # Overrides the image tag whose default is the chart appVersion. tag: "" imagePullSecrets: - name: qdrant-registry-creds nameOverride: "" fullnameOverride: "qdrant-cluster-manager" serviceAccount: # Specifies whether a service account should be created create: true # Automatically mount a ServiceAccount's API credentials? automount: true # Annotations to add to the service account annotations: {} # The name of the service account to use. # If not set and create is true, a name is generated using the fullname template name: "" podAnnotations: {} podLabels: {} podSecurityContext: runAsNonRoot: true runAsUser: 10001 runAsGroup: 20001 fsGroup: 30001 securityContext: capabilities: drop: - ALL readOnlyRootFilesystem: true runAsNonRoot: true runAsUser: 10001 runAsGroup: 20001 allowPrivilegeEscalation: false seccompProfile: type: RuntimeDefault service: type: ClusterIP networkPolicy: create: true resources: {} # We usually recommend not to specify default resources and to leave this as a conscious # choice for the user. This also increases chances charts run on environments with little # resources, such as Minikube. If you do want to specify resources, uncomment the following # lines, adjust them as necessary, and remove the curly braces after 'resources:'. # limits: # cpu: 100m # memory: 128Mi # requests: # cpu: 100m # memory: 128Mi nodeSelector: {} tolerations: [] affinity: {} ```