agora/cerebral_api/operations/cerebral-chroma.yaml (138 lines of code) (raw):

apiVersion: v1 kind: PersistentVolumeClaim metadata: name: chroma-pvc namespace: contoso-hypermarket spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi --- apiVersion: v1 kind: ConfigMap metadata: name: chroma-config namespace: contoso-hypermarket data: CHROMA_SERVER_HTTP_PORT: "8040" CHROMA_SERVER_HOST: "0.0.0.0" CHROMA_SERVER_CORS_ALLOW_ORIGINS: '["*"]' # Fixed JSON format CHROMA_SERVER_AUTH_CREDENTIALS: "false" PERSIST_DIRECTORY: "/chroma/data" CHROMA_SERVER_AUTH_BASIC_ENABLE: "false" CHROMA_SERVER_AUTH_DISABLE: "true" ALLOW_RESET: "true" --- apiVersion: apps/v1 kind: Deployment metadata: name: chroma-db namespace: contoso-hypermarket labels: app: chroma-db spec: replicas: 1 selector: matchLabels: app: chroma-db template: metadata: labels: app: chroma-db spec: containers: - name: chroma-db image: chromadb/chroma:latest imagePullPolicy: Always ports: - containerPort: 8040 name: http command: ["uvicorn"] args: ["chromadb.app:app", "--host", "0.0.0.0", "--port", "8040", "--proxy-headers", "--timeout-keep-alive", "30"] env: - name: CHROMA_SERVER_HTTP_PORT valueFrom: configMapKeyRef: name: chroma-config key: CHROMA_SERVER_HTTP_PORT - name: CHROMA_SERVER_HOST valueFrom: configMapKeyRef: name: chroma-config key: CHROMA_SERVER_HOST - name: CHROMA_SERVER_CORS_ALLOW_ORIGINS valueFrom: configMapKeyRef: name: chroma-config key: CHROMA_SERVER_CORS_ALLOW_ORIGINS - name: CHROMA_SERVER_AUTH_CREDENTIALS valueFrom: configMapKeyRef: name: chroma-config key: CHROMA_SERVER_AUTH_CREDENTIALS - name: PERSIST_DIRECTORY valueFrom: configMapKeyRef: name: chroma-config key: PERSIST_DIRECTORY - name: CHROMA_SERVER_AUTH_BASIC_ENABLE valueFrom: configMapKeyRef: name: chroma-config key: CHROMA_SERVER_AUTH_BASIC_ENABLE - name: CHROMA_SERVER_AUTH_DISABLE valueFrom: configMapKeyRef: name: chroma-config key: CHROMA_SERVER_AUTH_DISABLE - name: ALLOW_RESET valueFrom: configMapKeyRef: name: chroma-config key: ALLOW_RESET resources: requests: cpu: "500m" memory: "512Mi" limits: cpu: "2000m" memory: "2Gi" volumeMounts: - name: chroma-data mountPath: /chroma/data readinessProbe: httpGet: path: /api/v1/heartbeat port: 8040 initialDelaySeconds: 15 periodSeconds: 10 livenessProbe: httpGet: path: /api/v1/heartbeat port: 8040 initialDelaySeconds: 15 periodSeconds: 20 volumes: - name: chroma-data persistentVolumeClaim: claimName: chroma-pvc --- apiVersion: v1 kind: Service metadata: name: chroma-db-service namespace: contoso-hypermarket labels: app: chroma-db spec: type: LoadBalancer ports: - port: 8040 targetPort: 8040 nodePort: 30040 protocol: TCP name: http selector: app: chroma-db