Skip to content

qdrant/qdrant-helm

Repository files navigation

Qdrant helm repository

Qdrant documentation

This repository hosts the following helm charts:

Usage

helm repo add qdrant https://qdrant.github.io/qdrant-helm
helm repo update
helm upgrade -i your-qdrant-installation-name qdrant/qdrant

Upgrading

This helm chart installs the latest version of Qdrant by default. When a new version of Qdrant is available, upgrade the helm chart with the following commands:

helm repo update
helm upgrade your-qdrant-installation-name qdrant/qdrant

This command performs a rolling upgrade of your Qdrant cluster, updating one node at a time.

If you have overridden the Qdrant image tag in values.yaml, you will also need to update that tag before running helm upgrade.

image:
  tag: v1.9.0

Running tests

This repository has unit and integration tests for the charts. All charts are also linted.

Linting

Linting is done with helm lint.

Prerequisites:

  • Helm
brew install helm

To lint all charts:

make lint

Unit tests

Unit tests are in the ./test directory and written in Go with terratest.

Prerequisites:

  • Go
brew install go

To run the tests:

make test-unit

Integration tests

Integration tests are in the ./test/integration directory and written with bats.

There is an additional simple Helm test in ./charts/qdrant/templates/tests.

Prerequisites:

  • Docker
  • Kind
  • Kubectl
  • Helm
  • Bats
brew install helm kubectl kind bats-core homebrew/cask/docker

To run the tests:

make test-integration

Releasing

Generally, we choose to release a new chart when there are important new releases to Qdrant or important chart-related changes.

  1. Check the release notes of qdrant/qdrant to see if any environment variables or other settings need to be adjusted.
  2. Sync your local clone/fork of the qdrant-helm repo: git checkout main && git pull
  3. Checkout a new feature branch: git checkout -b feat/<name>/qdrant-<version>
  4. Edit Chart.yaml to bump the appVersion and chartVersion.
  5. Edit Chart.yaml to update artifacthub.io/changes to mention the new changes.
  6. Edit charts/CHANGELOG.md to mention the same changes
  7. Edit the root CHANGELOG.md to mention the same changes
    1. Why so many changelog changes? Each changelog file is for a different audience (artifacthub, chart browsing, github browsing). This could be automated in the future.
  8. Push your changes to GitHub and create a pull request. This allows the integration tests to run.

As soon as these changes are merged to main, there is a github action that detects changes to Chart.yaml which will perform the remainder of the release operations (creating a github release, publishing the helm chart, updating index.html for the github pages site, etc.)