143 lines
3.6 KiB
YAML
143 lines
3.6 KiB
YAML
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
global:
|
|
environment: local
|
|
imagePullSecrets: []
|
|
|
|
serviceAccount:
|
|
create: true
|
|
name: ""
|
|
annotations: {}
|
|
|
|
secret:
|
|
create: true
|
|
existingSecret: ""
|
|
postgresPassword: duoc_thu
|
|
# Set when postgres runs in a different Application/release (the
|
|
# data/app split pattern) — overrides the default in-release host.
|
|
postgresHost: ""
|
|
grafanaAdminPassword: change-me
|
|
|
|
aiService:
|
|
enabled: true
|
|
replicaCount: 1
|
|
image:
|
|
repository: duocthu-ai-service
|
|
tag: local
|
|
pullPolicy: IfNotPresent
|
|
service:
|
|
type: ClusterIP
|
|
port: 8000
|
|
config:
|
|
embeddingProvider: disabled
|
|
embeddingDimensions: 1024
|
|
evidenceMinimumScore: 0.12
|
|
awsRegion: us-east-1
|
|
answerProvider: disabled
|
|
answerModelId: deepseek.v3.2
|
|
rerankEnabled: false
|
|
# The Dockerfile bakes the catalog file in at this path; config.py's own
|
|
# repo-relative default only resolves inside a full monorepo checkout,
|
|
# not this flattened image layout. Matches apps/ai-service/.env.example.
|
|
entitiesPath: ./ingestion_data/drug_entities.json
|
|
qdrantCollection: duocthu_v1
|
|
metricsEnabled: true
|
|
otelEnabled: true
|
|
otelSampleRatio: 1.0
|
|
maxWallClockMs: 40000
|
|
maxLlmCallsPerTurn: 8
|
|
migration:
|
|
enabled: true
|
|
resources:
|
|
requests: { cpu: 100m, memory: 256Mi }
|
|
limits: { cpu: "1", memory: 1Gi }
|
|
|
|
web:
|
|
enabled: true
|
|
replicaCount: 1
|
|
image:
|
|
repository: duocthu-web
|
|
tag: local
|
|
pullPolicy: IfNotPresent
|
|
service:
|
|
type: ClusterIP
|
|
port: 3000
|
|
nodePort: null
|
|
resources:
|
|
requests: { cpu: 50m, memory: 128Mi }
|
|
limits: { cpu: 500m, memory: 512Mi }
|
|
|
|
ingress:
|
|
enabled: false
|
|
className: nginx
|
|
annotations: {}
|
|
host: duocthu.local
|
|
# Additional hostnames served by the same rules as `host`. Used during a
|
|
# cutover, when one release must answer to both the old and the new name.
|
|
# A host here is routed but gets no certificate unless it also appears in
|
|
# `tls` below — see the note in templates/ingress.yaml.
|
|
extraHosts: []
|
|
tls: []
|
|
|
|
postgres:
|
|
enabled: true
|
|
image: postgres:16-alpine
|
|
storage: 5Gi
|
|
resources:
|
|
requests: { cpu: 50m, memory: 128Mi }
|
|
limits: { cpu: 500m, memory: 512Mi }
|
|
|
|
qdrant:
|
|
enabled: true
|
|
# Set when using an external/managed Qdrant; empty uses the bundled Service.
|
|
url: ""
|
|
image: qdrant/qdrant:v1.19.0
|
|
storage: 10Gi
|
|
resources:
|
|
requests: { cpu: 100m, memory: 256Mi }
|
|
limits: { cpu: "1", memory: 1Gi }
|
|
|
|
observability:
|
|
enabled: true
|
|
prometheus:
|
|
image: prom/prometheus:v3.3.0
|
|
retention: 7d
|
|
storage: 5Gi
|
|
resources:
|
|
requests: { cpu: 100m, memory: 256Mi }
|
|
limits: { cpu: 500m, memory: 1Gi }
|
|
tempo:
|
|
image: grafana/tempo:2.7.2
|
|
retention: 24h
|
|
storage: 5Gi
|
|
resources:
|
|
requests: { cpu: 100m, memory: 256Mi }
|
|
limits: { cpu: 500m, memory: 1Gi }
|
|
collector:
|
|
image: otel/opentelemetry-collector-contrib:0.123.0
|
|
resources:
|
|
requests: { cpu: 50m, memory: 128Mi }
|
|
limits: { cpu: 500m, memory: 512Mi }
|
|
grafana:
|
|
image: grafana/grafana:11.5.2
|
|
service:
|
|
type: ClusterIP
|
|
port: 3000
|
|
nodePort: null
|
|
storage: 2Gi
|
|
# Anonymous access, when enabled, must stay read-only. `role: Admin` on an
|
|
# internet-reachable Grafana exposes the datasource and dashboard APIs to
|
|
# anyone; the login form is always available for real admin access.
|
|
anonymous:
|
|
enabled: false
|
|
role: Viewer
|
|
resources:
|
|
requests: { cpu: 50m, memory: 128Mi }
|
|
limits: { cpu: 500m, memory: 512Mi }
|
|
|
|
serviceMonitor:
|
|
enabled: false
|
|
interval: 15s
|
|
additionalLabels: {}
|