Skip to content

Commit

Permalink
Chroma 0.4.6 release (#10)
Browse files Browse the repository at this point in the history
* feat: Added integration workflow

Refs: #1

* fix: Added kubectl wait to wait for deployment to complete

Refs: #1

* fix: Some issue with service. Experimenting with listing service.

Refs: #1

* fix: Fixed the service issue and added matrix testing of kube versions

Refs: #1

* chore: Updated test matrix to match chart kubeVersion range >=1.24 <= 1.27

Refs: #1

* fix: Fixed chart issue with boolean flags

- Added further variance to the test matrix by including allowReset and isPersistent flags (no specific tests are implemented but those are coming soon)

Refs: #1

* fix: Added docker image hnswlib rebuild + sqlite3 for debugging

- Added a small test to ensure chroma is up and running.
- Docker image rebuilt.

* docs: Added small clarification how to build/push the docker image.

* chore: Added bug and feature request issue templates and docker image in ghcr

Refs: #2

* feat: Backup and restore feature

Refs: #6

* feat: Backup and restore feature

- Adding sudo to the image for fsfreeze use

Refs: #6

* feat: Backup and restore feature

- Making chroma user sudoer

Refs: #6

* feat: Adding tests for v0.4.5

* feat: Adding Chroma 0.4.5 support to chart

* feat: Updating WFs

* feat: Lowering chart requirements to k8s API 1.23.0

* feat: Adding multi-platform build

* fix: Moved platforms out of the matrix and directly into platform parameter of build-push action

* fix: Fixed a typo in build images workflow.

* chore: Removing hnswlib reinstall to check multi-arch build

* feat: Adding support for Chroma 0.4.6

* chore: Updating integration tests

* feat: Updating chart version and default version to 0.4.6
  • Loading branch information
tazarov authored Aug 15, 2023
1 parent d5b9b61 commit 80f7f7f
Show file tree
Hide file tree
Showing 8 changed files with 36 additions and 15 deletions.
19 changes: 15 additions & 4 deletions .github/workflows/build-images-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,42 @@ on:
env:
REGISTRY: ghcr.io
IMAGE_NAME: "ghcr.io/amikos-tech/chromadb-chart/chroma"
LATEST_VERSION: "0.4.5"
LATEST_VERSION: "0.4.6"

jobs:
build-images:
strategy:
matrix:
chroma-version: [ 0.4.3, 0.4.4, 0.4.5 ]
chroma-version: [ 0.4.3, 0.4.4, 0.4.5, 0.4.6 ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.IMAGE_NAME }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push release Docker image
uses: docker/[email protected]
if: ${{ env.LATEST_VERSION == matrix.chroma-version }}
with:
context: .
file: image/Dockerfile
push: true
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
build-args: |
CHROMA_VERSION=${{ matrix.chroma-version }}
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }}-dev,${{ env.IMAGE_NAME }}:canary"
Expand All @@ -44,6 +53,8 @@ jobs:
context: .
file: image/Dockerfile
push: true
build-args: |
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
labels: ${{ steps.meta.outputs.labels }}
build- args: |
CHROMA_VERSION=${{ matrix.chroma-version }}
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }}-dev"
18 changes: 14 additions & 4 deletions .github/workflows/build-images.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,33 +7,42 @@ on:
env:
REGISTRY: ghcr.io
IMAGE_NAME: "ghcr.io/amikos-tech/chromadb-chart/chroma"
LATEST_VERSION: "0.4.5"
LATEST_VERSION: "0.4.6"

jobs:
build-images:
strategy:
matrix:
chroma-version: [ 0.4.3, 0.4.4, 0.4.5 ]
chroma-version: [ 0.4.3, 0.4.4, 0.4.5, 0.4.6 ]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0

- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ${{ env.IMAGE_NAME }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Build and push release Docker image
uses: docker/[email protected]
if: ${{ env.LATEST_VERSION == matrix.chroma-version }}
with:
context: .
file: image/Dockerfile
push: true
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
build-args: |
CHROMA_VERSION=${{ matrix.chroma-version }}
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }},${{ env.IMAGE_NAME }}:latest"
Expand All @@ -44,6 +53,7 @@ jobs:
context: .
file: image/Dockerfile
push: true
platforms: linux/amd64,linux/arm/v6,linux/arm/v7,linux/arm64
build-args: |
CHROMA_VERSION=${{ matrix.chroma-version }}
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }},${{ env.IMAGE_NAME }}:latest"
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }}"
2 changes: 1 addition & 1 deletion .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
kubernetes-version: [1.23.0, 1.24.0, 1.27.3 ]
isPersistent: [ true, false ]
allowReset: [ true, false ]
chroma-version: [ 0.4.3, 0.4.4, 0.4.5 ]
chroma-version: [ 0.4.3, 0.4.4, 0.4.5, 0.4.6 ]
runs-on: ubuntu-latest
steps:
- name: Checkout
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ helm install chroma chroma/chromadb --set chromadb.allowReset="true"

| Key | Type | Default | Description |
|-----------------------------------|---------|---------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `chromadb.apiVersion` | string | `0.4.3` | The ChromaDB version. Supported version `0.4.3` and `0.4.4` |
| `chromadb.apiVersion` | string | `0.4.6` | The ChromaDB version. Supported version `0.4.3` and `0.4.4` |
| `chromadb.allowReset` | boolean | `false` | Allows resetting the index (delete all data) |
| `chromadb.isPersistent` | boolean | `true` | A flag to control whether data is persisted |
| `chromadb.persistDirectory` | string | `/index_data` | The location to store the index data. This configure both chromadb and underlying persistent volume |
Expand Down
4 changes: 2 additions & 2 deletions charts/chromadb-chart/Chart.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,6 @@ keywords:
- ai/ml
type: application

version: 0.1.10
version: 0.1.11
# chromadb version
appVersion: "0.4.3"
appVersion: "0.4.6"
2 changes: 1 addition & 1 deletion charts/chromadb-chart/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ startupProbe:
initialDelaySeconds: 10

chromadb:
apiVersion: "0.4.3"
apiVersion: "0.4.6"
allowReset: false
isPersistent: true
persistDirectory: /index_data
Expand Down
2 changes: 1 addition & 1 deletion image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ RUN find /chroma -mindepth 1 -maxdepth 1 ! \( -name 'chromadb' -o -name 'LICENSE
useradd -g chroma chroma && \
python -m virtualenv /chroma/venv && \
. /chroma/venv/bin/activate && \
pip install --force-reinstall --no-cache-dir -r /chroma/requirements.txt && \
# pip install --force-reinstall --no-cache-dir -r /chroma/requirements.txt && \
chown -R chroma:chroma /chroma && \
apt-get update -qq && apt-get install sqlite3 sudo -y && \
echo 'chroma ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
Expand Down
2 changes: 1 addition & 1 deletion image/docker_entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,5 @@ export CHROMA_SERVER_HTTP_PORT=${CHROMA_SERVER_HTTP_PORT:-8000}
export CHROMA_SERVER_LOG_CONFIG=${CHROMA_SERVER_LOG_CONFIG:-log_config.yaml}
export CHROMA_SERVER_HOST=${CHROMA_SERVER_HOST:-"0.0.0.0"}
. /chroma/venv/bin/activate
pip install --force-reinstall --no-cache-dir chroma-hnswlib
#pip install --force-reinstall --no-cache-dir chroma-hnswlib
uvicorn chromadb.app:app --workers 1 --host ${CHROMA_SERVER_HOST} --port ${CHROMA_SERVER_HTTP_PORT} --proxy-headers --log-config ${CHROMA_SERVER_LOG_CONFIG}

0 comments on commit 80f7f7f

Please sign in to comment.