diff --git a/deploy/docker/docker-compose.yml b/deploy/docker/docker-compose.yml index 2caab5c0..6fc2c725 100755 --- a/deploy/docker/docker-compose.yml +++ b/deploy/docker/docker-compose.yml @@ -268,6 +268,12 @@ services: image: 'chromadb/chroma:latest' environment: IS_PERSISTENT: 'TRUE' + healthcheck: + test: [ "CMD", "/bin/bash", "-c", "cat < /dev/null > /dev/tcp/localhost/8000" ] + interval: 15s + timeout: 15s + retries: 15 + start_period: 20s volumes: - chromadb-data:/data # ports: diff --git a/deploy/helm/templates/chatbot/deployment.yaml b/deploy/helm/templates/chatbot/deployment.yaml index 692dfa0c..b5cd223c 100644 --- a/deploy/helm/templates/chatbot/deployment.yaml +++ b/deploy/helm/templates/chatbot/deployment.yaml @@ -39,6 +39,12 @@ spec: args: - "service" - {{ .Values.identity.service.name | quote }} + - name: wait-for-chromadb + image: {{ .Values.waitForK8sResources.image }} + imagePullPolicy: {{ .Values.waitForK8sResources.imagePullPolicy }} + args: + - "service" + - {{ .Values.chromadb.service.name | quote }} containers: - name: {{ .Values.chatbot.name }} image: {{ .Values.chatbot.image }}:{{ .Chart.AppVersion }} diff --git a/deploy/k8s/base/chromadb/config.yaml b/deploy/k8s/base/chromadb/config.yaml new file mode 100644 index 00000000..d673e02d --- /dev/null +++ b/deploy/k8s/base/chromadb/config.yaml @@ -0,0 +1,8 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: chromadb-config + labels: + app: crapi-chromadb +data: + IS_PERSISTENT: "TRUE" \ No newline at end of file diff --git a/deploy/k8s/base/chromadb/service.yaml b/deploy/k8s/base/chromadb/service.yaml new file mode 100644 index 00000000..1cea88e9 --- /dev/null +++ b/deploy/k8s/base/chromadb/service.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: Service +metadata: + name: crapi-chromadb + labels: + app: crapi-chromadb +spec: + ports: + - port: 8000 + name: chromadb + selector: + app: crapi-chromadb \ No newline at end of file diff --git a/deploy/k8s/base/chromadb/statefulset.yaml b/deploy/k8s/base/chromadb/statefulset.yaml new file mode 100644 index 00000000..90143fad --- /dev/null +++ b/deploy/k8s/base/chromadb/statefulset.yaml @@ -0,0 +1,33 @@ +apiVersion: apps/v1 +kind: StatefulSet +metadata: + name: crapi-chromadb + labels: + app: crapi-chromadb +spec: + serviceName: crapi-chromadb + replicas: 1 + selector: + matchLabels: + app: crapi-chromadb + template: + metadata: + labels: + app: crapi-chromadb + spec: + containers: + - name: chromadb + image: chromadb/chroma:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8000 + envFrom: + - configMapRef: + name: chromadb-config + volumeMounts: + - mountPath: /data + name: chromadb-data + volumes: + - name: chromadb-data + persistentVolumeClaim: + claimName: chromadb-pv-claim diff --git a/deploy/k8s/base/chromadb/storage.yaml b/deploy/k8s/base/chromadb/storage.yaml new file mode 100644 index 00000000..dede55b8 --- /dev/null +++ b/deploy/k8s/base/chromadb/storage.yaml @@ -0,0 +1,13 @@ +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: chromadb-pv-claim + labels: + app: chromadb +spec: + #storageClassName: local-path + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1000Mi diff --git a/services/chatbot/src/chatbot/chat_service.py b/services/chatbot/src/chatbot/chat_service.py index f94429e3..6e6c28d6 100644 --- a/services/chatbot/src/chatbot/chat_service.py +++ b/services/chatbot/src/chatbot/chat_service.py @@ -1,6 +1,6 @@ from uuid import uuid4 from langgraph.graph.message import Messages -from services.chatbot.src.chatbot.retrieverutils import add_to_chroma_collection +from .retrieverutils import add_to_chroma_collection from .extensions import db from .langgraph_agent import execute_langgraph_agent diff --git a/services/web/package.json b/services/web/package.json index dac13cdc..425f33be 100644 --- a/services/web/package.json +++ b/services/web/package.json @@ -1,7 +1,7 @@ { "name": "crapi-web", "version": "0.1.0", - "proxy": "https://crapi.allvapps.com", + "proxy": "http://localhost:8888", "private": true, "dependencies": { "@ant-design/cssinjs": "^1.21.1",