Skip to content

Commit d5b9b61

Browse files
authored
Develop (#9)
* 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
1 parent 818445c commit d5b9b61

File tree

5 files changed

+69
-14
lines changed

5 files changed

+69
-14
lines changed
+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Build Images
2+
3+
on:
4+
push:
5+
branches:
6+
- develop
7+
env:
8+
REGISTRY: ghcr.io
9+
IMAGE_NAME: "ghcr.io/amikos-tech/chromadb-chart/chroma"
10+
LATEST_VERSION: "0.4.5"
11+
12+
jobs:
13+
build-images:
14+
strategy:
15+
matrix:
16+
chroma-version: [ 0.4.3, 0.4.4, 0.4.5 ]
17+
runs-on: ubuntu-latest
18+
steps:
19+
- name: Checkout
20+
uses: actions/checkout@v2
21+
with:
22+
fetch-depth: 0
23+
24+
- name: Log in to the Container registry
25+
uses: docker/[email protected]
26+
with:
27+
registry: ${{ env.REGISTRY }}
28+
username: ${{ github.actor }}
29+
password: ${{ secrets.GITHUB_TOKEN }}
30+
- name: Build and push release Docker image
31+
uses: docker/[email protected]
32+
if: ${{ env.LATEST_VERSION == matrix.chroma-version }}
33+
with:
34+
context: .
35+
file: image/Dockerfile
36+
push: true
37+
build-args: |
38+
CHROMA_VERSION=${{ matrix.chroma-version }}
39+
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }}-dev,${{ env.IMAGE_NAME }}:canary"
40+
- name: Build and push release Docker image
41+
uses: docker/[email protected]
42+
if: ${{ env.LATEST_VERSION != matrix.chroma-version }}
43+
with:
44+
context: .
45+
file: image/Dockerfile
46+
push: true
47+
build-args: |
48+
CHROMA_VERSION=${{ matrix.chroma-version }}
49+
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }}-dev"

.github/workflows/build-images.yml

+13-9
Original file line numberDiff line numberDiff line change
@@ -7,34 +7,38 @@ on:
77
env:
88
REGISTRY: ghcr.io
99
IMAGE_NAME: "ghcr.io/amikos-tech/chromadb-chart/chroma"
10+
LATEST_VERSION: "0.4.5"
1011

1112
jobs:
1213
build-images:
1314
strategy:
1415
matrix:
15-
chroma-version: [ 0.4.3, 0.4.4 ]
16+
chroma-version: [ 0.4.3, 0.4.4, 0.4.5 ]
1617
runs-on: ubuntu-latest
1718
steps:
1819
- name: Checkout
1920
uses: actions/checkout@v2
2021
with:
2122
fetch-depth: 0
2223

23-
- name: Configure Git
24-
run: |
25-
git config user.name "$GITHUB_ACTOR"
26-
git config user.email "[email protected]"
27-
- name: Latest release
28-
run: |
29-
echo "Latest release: ${{ steps.releaser.outputs.chart_version }}"
30-
echo "Changed charts: ${{ steps.releaser.outputs.changed_charts }}"
3124
- name: Log in to the Container registry
3225
uses: docker/[email protected]
3326
with:
3427
registry: ${{ env.REGISTRY }}
3528
username: ${{ github.actor }}
3629
password: ${{ secrets.GITHUB_TOKEN }}
3730
- name: Build and push release Docker image
31+
uses: docker/[email protected]
32+
if: ${{ env.LATEST_VERSION == matrix.chroma-version }}
33+
with:
34+
context: .
35+
file: image/Dockerfile
36+
push: true
37+
build-args: |
38+
CHROMA_VERSION=${{ matrix.chroma-version }}
39+
tags: "${{ env.IMAGE_NAME }}:${{ matrix.chroma-version }},${{ env.IMAGE_NAME }}:latest"
40+
- name: Build and push release Docker image
41+
if: ${{ env.LATEST_VERSION != matrix.chroma-version }}
3842
uses: docker/[email protected]
3943
with:
4044
context: .

.github/workflows/integration-test.yml

+3-2
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,18 @@ on:
44
push:
55
branches:
66
- main
7+
- develop
78
pull_request:
89
branches:
910
- main
1011
jobs:
1112
release:
1213
strategy:
1314
matrix:
14-
kubernetes-version: [ 1.24.0, 1.27.3 ]
15+
kubernetes-version: [1.23.0, 1.24.0, 1.27.3 ]
1516
isPersistent: [ true, false ]
1617
allowReset: [ true, false ]
17-
chroma-version: [ 0.4.3, 0.4.4 ]
18+
chroma-version: [ 0.4.3, 0.4.4, 0.4.5 ]
1819
runs-on: ubuntu-latest
1920
steps:
2021
- name: Checkout

charts/chromadb-chart/Chart.yaml

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ maintainers:
44
- name: Amikos Tech
55
66
url: https://amikos.tech
7-
kubeVersion: ">= 1.24.0 <= 1.27.x"
7+
kubeVersion: ">= 1.23.0 <= 1.27.x"
88
home: "https://github.com/amikos-tech/chromadb-chart"
99
sources:
1010
- "https://github.com/amikos-tech/chromadb-chart"
@@ -17,6 +17,6 @@ keywords:
1717
- ai/ml
1818
type: application
1919

20-
version: 0.1.9
20+
version: 0.1.10
2121
# chromadb version
2222
appVersion: "0.4.3"

image/Dockerfile

+2-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ RUN find /chroma -mindepth 1 -maxdepth 1 ! \( -name 'chromadb' -o -name 'LICENSE
1010
. /chroma/venv/bin/activate && \
1111
pip install --force-reinstall --no-cache-dir -r /chroma/requirements.txt && \
1212
chown -R chroma:chroma /chroma && \
13-
apt-get update -qq && apt-get install sqlite3
13+
apt-get update -qq && apt-get install sqlite3 sudo -y && \
14+
echo 'chroma ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
1415
EXPOSE 8000
1516
USER chroma
1617
WORKDIR /chroma

0 commit comments

Comments
 (0)