qdrant-controller

command module
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2026 License: Apache-2.0 Imports: 19 Imported by: 0

README

qdrant-controller

release release report OpenSSF Scorecard Coverage Status license

Kubernetes controller for managing Qdrant Cloud clusters.

Quickstart

Usage Example
apiVersion: qdrant.infra.doodle.com/v1beta1
kind: QdrantCluster
metadata:
  name: my-cluster
spec:
  accountID: "your-account-uuid"
  cloudProvider: aws
  cloudRegion: us-east-1
  nodeCount: 3
  packageSelection:
    resourceRequirements:
      ram: "8Gi"
      cpu: "2"
      disk: "32Gi"
  secret:
    name: qdrant-cloud-api-key
---
apiVersion: v1
kind: Secret
metadata:
  name: qdrant-cloud-api-key
data:
  apiKey: <base64-encoded-management-api-key>
type: Opaque

Alternatively, specify a package UUID directly instead of resource requirements:

spec:
  packageSelection:
    packageID: "package-uuid-from-qdrant-cloud"

Observe reconciliation

Each resource reports various conditions in .status.conditions which will give the necessary insight about the current state of the resource.

status:
  conditions:
  - lastTransitionTime: "2024-01-15T10:30:00Z"
    message: ""
    observedGeneration: 1
    reason: ReconciliationSucceeded
    status: "True"
    type: Ready

Installation

Helm

Please see chart/qdrant-controller for the helm chart docs.

Manifests/kustomize

Alternatively you may get the bundled manifests in each release to deploy it using kustomize or use them directly.

Configuration

The controller can be configured using cmd args:

      --concurrent int                            The number of concurrent reconciles. (default 4)
      --enable-leader-election                    Enable leader election for controller manager. Enabling this will ensure there is only one active controller manager.
      --graceful-shutdown-timeout duration        The duration given to the reconciler to finish before forcibly stopping. (default 10m0s)
      --health-addr string                        The address the health endpoint binds to. (default ":9557")
      --insecure-kubeconfig-exec                  Allow use of the user.exec section in kubeconfigs provided for remote apply.
      --insecure-kubeconfig-tls                   Allow that kubeconfigs provided for remote apply can disable TLS verification.
      --kube-api-burst int                        The maximum burst queries-per-second of requests sent to the Kubernetes API. (default 300)
      --kube-api-qps float32                      The maximum queries-per-second of requests sent to the Kubernetes API. (default 50)
      --leader-election-lease-duration duration   Interval at which non-leader candidates will wait to force acquire leadership (duration string). (default 35s)
      --leader-election-release-on-cancel         Defines if the leader should step down voluntarily on controller manager shutdown. (default true)
      --leader-election-renew-deadline duration   Duration that the leading controller manager will retry refreshing leadership before giving up (duration string). (default 30s)
      --leader-election-retry-period duration     Duration the LeaderElector clients should wait between tries of actions (duration string). (default 5s)
      --log-encoding string                       Log encoding format. Can be 'json' or 'console'. (default "json")
      --log-level string                          Log verbosity level. Can be one of 'trace', 'debug', 'info', 'error'. (default "info")
      --max-retry-delay duration                  The maximum amount of time for which an object being reconciled will have to wait before a retry. (default 15m0s)
      --metrics-addr string                       The address the metric endpoint binds to. (default ":9556")
      --min-retry-delay duration                  The minimum amount of time for which an object being reconciled will have to wait before a retry. (default 750ms)
      --watch-all-namespaces                      Watch for resources in all namespaces, if set to false it will only watch the runtime namespace. (default true)
      --watch-label-selector string               Watch for resources with matching labels e.g. 'sharding.fluxcd.io/shard=shard1'.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
api
v1beta1
Package v1beta1 contains API Schema definitions for the qdrant.infra.doodle.com v1beta1 API group +kubebuilder:object:generate=true +groupName=qdrant.infra.doodle.com
Package v1beta1 contains API Schema definitions for the qdrant.infra.doodle.com v1beta1 API group +kubebuilder:object:generate=true +groupName=qdrant.infra.doodle.com
internal
pkg

Jump to

Keyboard shortcuts

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