Giter VIP home page Giter VIP logo

chromadb-chart's People

Contributors

9brandon2 avatar damianoneill avatar reixd avatar tazarov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

chromadb-chart's Issues

NOFILE limit in Entrypoint/Template

Adding CHROMA_SERVER_NOFILE=65535 helps running large workloads e.g. multiple concurrent clients. It would be nice to add it to the template + entry file

[Feature Request]: Gateway API

Describe the problem

Support for Gateway API

Describe the proposed solution

Add optional config to use gateway API instead of ingress API.

Alternatives considered

No response

Importance

nice to have

Additional Information

No response

[Feature Request]: Image Signing

Describe the problem

It would be nice to have some level of supply chain security

Describe the proposed solution

  • Sign images with cosign
  • Attach SBOM
  • Attach vulnerability scan

Alternatives considered

N/A

Importance

would make my life easier

Additional Information

No response

[Feature Request]: Backup and Restore

Describe the problem

Embeddings are relatively cheap but not free, and data is precious so we need a way to keep our data safe from loss in a cloud-native setting.

Describe the proposed solution

It should be possible to automatically back up and restore data.

Alternatives considered

No response

Importance

I cannot run the chart without it

Additional Information

This would take us one step closer using ChromaDB in production

[Feature Request]: Observability - metrics

Describe the problem

Endpoint metrics

Describe the proposed solution

Instrument API to add Prometheus middleware

Alternatives considered

No response

Importance

would make my life easier

Additional Information

No response

[Feature Request]: Remove reinstall of hnsw lib

Describe the problem

We don't need to reinstall the lib as it is now (0.7.3+) delivered a binary whl.

Describe the proposed solution

Remove pip install --force-reinstall --no-cache-dir chroma-hnswlib from the entry point

Alternatives considered

N/A

Importance

would make my life easier

Additional Information

No response

[Feature Request]: More mindful release process

Describe the problem

Trigger new releases of the chart via new tags/releases in GH. Include changes made (e.g. merged PR etc)

Describe the proposed solution

New GH WF

Alternatives considered

No response

Importance

would make my life easier

Additional Information

No response

[Feature Request]: AKS Deployment Guide

Describe the problem

Community request on how to setup Chroma in AKS

Describe the proposed solution

Deployment guide

Alternatives considered

N/A

Importance

nice to have

Additional Information

No response

[Feature Request]: Secure API Access

Describe the problem

I want to expose my chromadb instance over the internet.

Describe the proposed solution

I need two things to ensure that my Chroma instance is safe:

  • TLS encryption
  • AuthN/AuthZ, preferably external so that I can use my own SSO.

Alternatives considered

Wait for the chroma team to add this feature

Importance

I cannot run the chart without it

Additional Information

No response

Orphan Data clean-up

About

Seems that after a reset the vector stores are left. This could be problematic as the DB can run out of space.

We suggest an opt-in approach where vector segments can be removed by a periodic clean up job.

Here's how it works

We have the following setup:

chroma@chroma-chromadb-0:/index_data$ ls -latrh
total 128K
drwxr-xr-x 2 chroma chroma 4.0K Jul 29 10:45 63d9fc32-4b60-4cec-8273-ec1eff1eb8e5
drwxr-xr-x 2 chroma chroma 4.0K Jul 29 10:48 ae040612-374b-41cb-93ae-7f737bf0ee80
drwxr-xr-x 2 chroma chroma 4.0K Jul 29 10:52 f080e2b7-d8b3-4dde-812c-5d8e653111fe
drwxr-xr-x 2 chroma chroma 4.0K Jul 29 10:52 52dbd990-3e6d-458f-838e-e226a0e20a23
drwxr-xr-x 1 root   root   4.0K Jul 29 11:00 ..
drwxr-xr-x 2 chroma chroma 4.0K Jul 29 11:04 06bd8d3d-9f7b-48c1-a5e9-425e24edc5f6
-rw-r--r-- 1 chroma chroma  96K Jul 29 11:04 chroma.sqlite3
drwxrwxrwx 7 root   root   4.0K Jul 29 11:04 .
chroma@chroma-chromadb-0:/index_data$ sqlite3 chroma.sqlite3 "select id from segments where scope='VECTOR';"
06bd8d3d-9f7b-48c1-a5e9-425e24edc5f6
chroma@chroma-chromadb-0:/index_data$ 

As seen from the DB query only 06bd8d3d-9f7b-48c1-a5e9-425e24edc5f6 is an active vector segment and everything else can be "safely" removed.

We'll add a chart flag which when enabled and isPersistent is set can create a cronjob that will periodically clean up.

[Bug]: 404 error on ChromaDB POST APIs

What happened?

Thank you for providing this helm chart for deploying chromadb on a kubernetes cluster. I managed to make a successful deployment. But when I test the backed APIs on swagger, I notice that the POST APIs, like creating a new collection returns a 404 - Not found error. The GET APIs seem to be working fine, and so are the heartbeat, preflightcheck APIs.

I also checked via code (python) with a HttpClient, and saw the same 404 errors when trying to create a collection. I'm not sure what's going wrong, and what resource is 'not found' during creation. There are no other errors other than the 404, and I don't see any errors in the container logs either.
Appreciate any help here. Thank you!
(ChromaDB version: 0.4.24)

ChromaDB Version

0.4.3

Kubernetes Version

1.27.x

Environment details

Managed kubernetes cluster

Logs, Kubectl output, Manifests, etc.

No response

[Feature Request]: Decouple Chroma pod port from ingress port

Describe the problem

Both the ingress port and the pod configurable port share the same value from values chromadb.serverHttpPort

Describe the proposed solution

Move the ingress port to its own config in the values

Alternatives considered

N/A

Importance

nice to have

Additional Information

No response

[Feature Request]: Support Chroma v0.4.21-22

Describe the problem

It would be nice to catch up with Chroma version

Describe the proposed solution

Versions 0.4.21 and 0.4.22 to be supported

Alternatives considered

No response

Importance

would make my life easier

Additional Information

No response

[Bug]: ingress is not working

What happened?

I've installed ChromaDB with the helm chart, and enabled the ingress in values.yaml. However I'm always getting Bad Gateways 502. Is there some graphical interface which I'm supposed to see when exposing via ingress or what is it used for?
Otherwise the pod is up and running and I was able to get the token from the default secret. So am I supposed to to be able to reach it via Postman, for example, by hostname specified in my ingress and using the Authorization + Bearer token in the header of the API call? Apologies, I'm new to ChromaDB and I cannot find description on how to connect to it, how to use it and etc.
Thanks in advance!

ChromaDB Version

0.4.3

Kubernetes Version

1.26.x

Environment details

AKS, with an azure application gateway as an ingress controller.

Logs, Kubectl output, Manifests, etc.

No response

[Feature Request]: Publish Images on Docker hub

Describe the problem

Add images to docker hub

Describe the proposed solution

Improve user experience

Alternatives considered

No response

Importance

would make my life easier

Additional Information

No response

[Bug]: Unable to add chart dependency

What happened?

Hi,

Installing chroma chart by adding it to the helm repo and doing a helm install, as described in your README works fine.
helm repo add chroma https://amikos-tech.github.io/chromadb-chart/

But when I add chroma as a dependency to my Chart.yaml and do a helm dependency update, I get an error saying
Error: Chart.yaml file missing

I added the dependency this way in my Chart.yaml:

dependencies:
  - name: chromadb
    version: 0.1.19
    repository: "https://amikos-tech.github.io/chromadb-chart/"

I also tried using the name of the repo I had added 'helm repo add chroma https://amikos-tech.github.io/chromadb-chart/` but that gave the same error.

dependencies:
  - name: chromadb
    version: 0.1.19
    repository: "@chroma"

Am I missing something here? Or is there an issue with pulling this chart as a dependency into my chart? Appreciate your support. Thanks!

ChromaDB Version

0.4.3

Kubernetes Version

1.27.x

Environment details

local k8s cluster

Logs, Kubectl output, Manifests, etc.

Error: Chart.yaml file is missing

[ENH]: Support K8s API 1.28.0

What happened?

Error: INSTALLATION FAILED: chart requires kubeVersion: >= 1.23.0 <= 1.27.x which is incompatible with Kubernetes v1.28.0

ChromaDB Version

0.4.3

Kubernetes Version

1.27.x

Environment details

kubectl version
Client Version: v1.28.0
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.0

Logs, Kubectl output, Manifests, etc.

No response

[Feature Request]: Deployment example EKS

Describe the problem

be able to deploy Chroma in EKS cluster

Describe the proposed solution

Use AWS docs and/or Terraform for the automation

Alternatives considered

N/A

Importance

I cannot run the chart without it

Additional Information

No response

Crash when adding collection?

Hi! ๐Ÿ‘‹ Love this, thanks for making it. I tried this simple experiment on my computer. I was able to get a heartbeat. When I tried the following however:

import chromadb

client = chromadb.HttpClient(host="127.0.0.1", port="55897")

collection = client.create_collection("test")

print(collection.count())

It crashes

terminate called after throwing an instance of 'pybind11::error_already_set'
  what():  SystemError: null argument to internal routine
/docker_entrypoint.sh: line 6:    13 Aborted                 (core dumped) uvicorn chromadb.app:app --workers 1 --host ${CHROMA_SERVER_HOST} --port ${CHROMA_SERVER_HTTP_PORT} --proxy-headers --log-config ${CHROMA_SERVER_LOG_CONFIG}

Just curious if you had run into this! thanks!

[Feature Request]: Support EKS, GKS and AKS

Describe the problem

Users are starting to adopt Chroma in cloud provider settings with vendor-specific version of k8s.

Describe the proposed solution

Update the chart to support EKS, GKS and AKS k8s distros.

Alternatives considered

N/A

Importance

I cannot run the chart without it

Additional Information

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.