mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-03-25 17:22:06 +01:00
456 lines
12 KiB
YAML
456 lines
12 KiB
YAML
# Default values for danswer-stack.
|
|
# This is a YAML-formatted file.
|
|
# Declare variables to be passed into your templates.
|
|
|
|
imagePullSecrets: []
|
|
nameOverride: ""
|
|
fullnameOverride: ""
|
|
|
|
inferenceCapability:
|
|
service:
|
|
name: inference-model-server-service
|
|
type: ClusterIP
|
|
port: 9000
|
|
pvc:
|
|
name: inference-model-pvc
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
storage: 3Gi
|
|
deployment:
|
|
name: inference-model-server-deployment
|
|
replicas: 1
|
|
labels:
|
|
- key: app
|
|
value: inference-model-server
|
|
image:
|
|
repository: danswer/danswer-model-server
|
|
tag: latest
|
|
pullPolicy: IfNotPresent
|
|
command: ["uvicorn", "model_server.main:app", "--host", "0.0.0.0", "--port", "9000"]
|
|
port: 9000
|
|
volumeMounts:
|
|
- name: inference-model-storage
|
|
mountPath: /root/.cache
|
|
volumes:
|
|
- name: inference-model-storage
|
|
persistentVolumeClaim:
|
|
claimName: inference-model-pvc
|
|
podLabels:
|
|
- key: app
|
|
value: inference-model-server
|
|
|
|
indexCapability:
|
|
service:
|
|
type: ClusterIP
|
|
port: 9000
|
|
name: indexing-model-server-port
|
|
deploymentLabels:
|
|
app: indexing-model-server
|
|
podLabels:
|
|
app: indexing-model-server
|
|
indexingOnly: "True"
|
|
podAnnotations: {}
|
|
volumeMounts:
|
|
- name: indexing-model-storage
|
|
mountPath: /root/.cache
|
|
volumes:
|
|
- name: indexing-model-storage
|
|
persistentVolumeClaim:
|
|
claimName: indexing-model-storage
|
|
indexingModelPVC:
|
|
name: indexing-model-storage
|
|
accessMode: "ReadWriteOnce"
|
|
storage: "3Gi"
|
|
|
|
config:
|
|
envConfigMapName: env-configmap
|
|
|
|
serviceAccount:
|
|
# Specifies whether a service account should be created
|
|
create: false
|
|
# Automatically mount a ServiceAccount's API credentials?
|
|
automount: true
|
|
# Annotations to add to the service account
|
|
annotations: {}
|
|
# The name of the service account to use.
|
|
# If not set and create is true, a name is generated using the fullname template
|
|
name: ""
|
|
|
|
postgresql:
|
|
primary:
|
|
persistence:
|
|
size: 5Gi
|
|
enabled: true
|
|
auth:
|
|
existingSecret: danswer-secrets
|
|
secretKeys:
|
|
adminPasswordKey: postgres_password #overwriting as postgres typically expects 'postgres-password'
|
|
|
|
nginx:
|
|
containerPorts:
|
|
http: 1024
|
|
extraEnvVars:
|
|
- name: DOMAIN
|
|
value: localhost
|
|
service:
|
|
ports:
|
|
http: 80
|
|
danswer: 3000
|
|
targetPort:
|
|
http: http
|
|
danswer: http
|
|
|
|
existingServerBlockConfigmap: danswer-nginx-conf
|
|
|
|
webserver:
|
|
replicaCount: 1
|
|
image:
|
|
repository: danswer/danswer-web-server
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: ""
|
|
deploymentLabels:
|
|
app: web-server
|
|
podAnnotations: {}
|
|
podLabels:
|
|
app: web-server
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 3000
|
|
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# limits:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
# requests:
|
|
# cpu: 100m
|
|
# memory: 128Mi
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 100
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
|
|
# Additional volumes on the output Deployment definition.
|
|
volumes: []
|
|
# - name: foo
|
|
# secret:
|
|
# secretName: mysecret
|
|
# optional: false
|
|
|
|
# Additional volumeMounts on the output Deployment definition.
|
|
volumeMounts: []
|
|
# - name: foo
|
|
# mountPath: "/etc/foo"
|
|
# readOnly: true
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
api:
|
|
replicaCount: 1
|
|
image:
|
|
repository: danswer/danswer-backend
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: ""
|
|
deploymentLabels:
|
|
app: api-server
|
|
podAnnotations: {}
|
|
podLabels:
|
|
scope: danswer-backend
|
|
app: api-server
|
|
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 8080
|
|
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# requests:
|
|
# cpu: 1000m # Requests 1 CPU core
|
|
# memory: 1Gi # Requests 1 GiB of memory
|
|
# limits:
|
|
# cpu: 2000m # Limits to 2 CPU cores
|
|
# memory: 2Gi # Limits to 2 GiB of memory
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 100
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
|
|
# Additional volumes on the output Deployment definition.
|
|
volumes: []
|
|
# - name: foo
|
|
# secret:
|
|
# secretName: mysecret
|
|
# optional: false
|
|
|
|
# Additional volumeMounts on the output Deployment definition.
|
|
volumeMounts: []
|
|
# - name: foo
|
|
# mountPath: "/etc/foo"
|
|
# readOnly: true
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
|
|
|
|
background:
|
|
replicaCount: 1
|
|
image:
|
|
repository: danswer/danswer-backend
|
|
pullPolicy: IfNotPresent
|
|
# Overrides the image tag whose default is the chart appVersion.
|
|
tag: latest
|
|
podAnnotations: {}
|
|
podLabels:
|
|
scope: danswer-backend
|
|
app: background
|
|
deploymentLabels:
|
|
app: background
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext: {}
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
enableMiniChunk: "true"
|
|
resources: {}
|
|
# We usually recommend not to specify default resources and to leave this as a conscious
|
|
# choice for the user. This also increases chances charts run on environments with little
|
|
# resources, such as Minikube. If you do want to specify resources, uncomment the following
|
|
# lines, adjust them as necessary, and remove the curly braces after 'resources:'.
|
|
# requests:
|
|
# cpu: 1000m # Requests 1 CPU core
|
|
# memory: 1Gi # Requests 1 GiB of memory
|
|
# limits:
|
|
# cpu: 2000m # Limits to 2 CPU cores
|
|
# memory: 2Gi # Limits to 2 GiB of memory
|
|
|
|
autoscaling:
|
|
enabled: false
|
|
minReplicas: 1
|
|
maxReplicas: 100
|
|
targetCPUUtilizationPercentage: 80
|
|
# targetMemoryUtilizationPercentage: 80
|
|
|
|
# Additional volumes on the output Deployment definition.
|
|
volumes: []
|
|
# - name: foo
|
|
# secret:
|
|
# secretName: mysecret
|
|
# optional: false
|
|
|
|
# Additional volumeMounts on the output Deployment definition.
|
|
volumeMounts: []
|
|
# - name: foo
|
|
# mountPath: "/etc/foo"
|
|
# readOnly: true
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
|
|
vespa:
|
|
replicaCount: 1
|
|
image:
|
|
repository: vespa
|
|
pullPolicy: IfNotPresent
|
|
tag: "8.277.17"
|
|
podAnnotations: {}
|
|
podLabels:
|
|
app: vespa
|
|
app.kubernetes.io/instance: danswer
|
|
app.kubernetes.io/name: vespa
|
|
enabled: true
|
|
|
|
podSecurityContext: {}
|
|
# fsGroup: 2000
|
|
|
|
securityContext:
|
|
privileged: true
|
|
runAsUser: 0
|
|
# capabilities:
|
|
# drop:
|
|
# - ALL
|
|
# readOnlyRootFilesystem: true
|
|
# runAsNonRoot: true
|
|
# runAsUser: 1000
|
|
|
|
resources:
|
|
# The Vespa Helm chart specifies default resources, which are quite modest. We override
|
|
# them here to increase chances of the chart running successfully.
|
|
requests:
|
|
cpu: 1500m
|
|
memory: 4000Mi
|
|
limits:
|
|
cpu: 1500m
|
|
memory: 4000Mi
|
|
|
|
nodeSelector: {}
|
|
tolerations: []
|
|
affinity: {}
|
|
|
|
|
|
#ingress:
|
|
# enabled: false
|
|
# className: ""
|
|
# annotations: {}
|
|
# # kubernetes.io/ingress.class: nginx
|
|
# # kubernetes.io/tls-acme: "true"
|
|
# hosts:
|
|
# - host: chart-example.local
|
|
# paths:
|
|
# - path: /
|
|
# pathType: ImplementationSpecific
|
|
# tls: []
|
|
# # - secretName: chart-example-tls
|
|
# # hosts:
|
|
# # - chart-example.local
|
|
|
|
persistence:
|
|
vespa:
|
|
enabled: true
|
|
existingClaim: ""
|
|
storageClassName: ""
|
|
accessModes:
|
|
- ReadWriteOnce
|
|
size: 5Gi
|
|
|
|
auth:
|
|
# for storing smtp, oauth, slack, and other secrets
|
|
# keys are lowercased version of env vars (e.g. SMTP_USER -> smtp_user)
|
|
existingSecret: "" # danswer-secrets
|
|
# optionally override the secret keys to reference in the secret
|
|
secretKeys:
|
|
postgres_password: "postgres_password"
|
|
smtp_pass: ""
|
|
oauth_client_id: ""
|
|
oauth_client_secret: ""
|
|
oauth_cookie_secret: ""
|
|
gen_ai_api_key: ""
|
|
danswer_bot_slack_app_token: ""
|
|
danswer_bot_slack_bot_token: ""
|
|
# will be overridden by the existingSecret if set
|
|
secretName: "danswer-secrets"
|
|
# set values as strings, they will be base64 encoded
|
|
secrets:
|
|
postgres_password: "postgres"
|
|
smtp_pass: ""
|
|
oauth_client_id: ""
|
|
oauth_client_secret: ""
|
|
oauth_cookie_secret: ""
|
|
gen_ai_api_key: ""
|
|
danswer_bot_slack_app_token: ""
|
|
danswer_bot_slack_bot_token: ""
|
|
|
|
configMap:
|
|
AUTH_TYPE: "disabled" # Change this for production uses unless Danswer is only accessible behind VPN
|
|
SESSION_EXPIRE_TIME_SECONDS: "86400" # 1 Day Default
|
|
VALID_EMAIL_DOMAINS: "" # Can be something like danswer.ai, as an extra double-check
|
|
SMTP_SERVER: "" # For sending verification emails, if unspecified then defaults to 'smtp.gmail.com'
|
|
SMTP_PORT: "" # For sending verification emails, if unspecified then defaults to '587'
|
|
SMTP_USER: "" # 'your-email@company.com'
|
|
# SMTP_PASS: "" # 'your-gmail-password'
|
|
EMAIL_FROM: "" # 'your-email@company.com' SMTP_USER missing used instead
|
|
# Gen AI Settings
|
|
GEN_AI_MODEL_PROVIDER: ""
|
|
GEN_AI_MODEL_VERSION: ""
|
|
FAST_GEN_AI_MODEL_VERSION: ""
|
|
# GEN_AI_API_KEY: ""
|
|
GEN_AI_API_ENDPOINT: ""
|
|
GEN_AI_API_VERSION: ""
|
|
GEN_AI_LLM_PROVIDER_TYPE: ""
|
|
GEN_AI_MAX_TOKENS: ""
|
|
QA_TIMEOUT: "60"
|
|
MAX_CHUNKS_FED_TO_CHAT: ""
|
|
DISABLE_LLM_DOC_RELEVANCE: ""
|
|
DISABLE_LLM_CHOOSE_SEARCH: ""
|
|
DISABLE_LLM_QUERY_REPHRASE: ""
|
|
# Query Options
|
|
DOC_TIME_DECAY: ""
|
|
HYBRID_ALPHA: ""
|
|
EDIT_KEYWORD_QUERY: ""
|
|
MULTILINGUAL_QUERY_EXPANSION: ""
|
|
LANGUAGE_HINT: ""
|
|
LANGUAGE_CHAT_NAMING_HINT: ""
|
|
QA_PROMPT_OVERRIDE: ""
|
|
# Internet Search Tool
|
|
BING_API_KEY: ""
|
|
# Don't change the NLP models unless you know what you're doing
|
|
DOCUMENT_ENCODER_MODEL: ""
|
|
NORMALIZE_EMBEDDINGS: ""
|
|
ASYM_QUERY_PREFIX: ""
|
|
ASYM_PASSAGE_PREFIX: ""
|
|
ENABLE_RERANKING_REAL_TIME_FLOW: ""
|
|
ENABLE_RERANKING_ASYNC_FLOW: ""
|
|
MODEL_SERVER_PORT: ""
|
|
MIN_THREADS_ML_MODELS: ""
|
|
# Indexing Configs
|
|
NUM_INDEXING_WORKERS: ""
|
|
DISABLE_INDEX_UPDATE_ON_SWAP: ""
|
|
DASK_JOB_CLIENT_ENABLED: ""
|
|
CONTINUE_ON_CONNECTOR_FAILURE: ""
|
|
EXPERIMENTAL_CHECKPOINTING_ENABLED: ""
|
|
CONFLUENCE_CONNECTOR_LABELS_TO_SKIP: ""
|
|
JIRA_API_VERSION: ""
|
|
GONG_CONNECTOR_START_TIME: ""
|
|
NOTION_CONNECTOR_ENABLE_RECURSIVE_PAGE_LOOKUP: ""
|
|
# DanswerBot SlackBot Configs
|
|
# DANSWER_BOT_SLACK_APP_TOKEN: ""
|
|
# DANSWER_BOT_SLACK_BOT_TOKEN: ""
|
|
DANSWER_BOT_DISABLE_DOCS_ONLY_ANSWER: ""
|
|
DANSWER_BOT_DISPLAY_ERROR_MSGS: ""
|
|
DANSWER_BOT_RESPOND_EVERY_CHANNEL: ""
|
|
DANSWER_BOT_DISABLE_COT: "" # Currently unused
|
|
NOTIFY_SLACKBOT_NO_ANSWER: ""
|
|
# Logging
|
|
# Optional Telemetry, please keep it on (nothing sensitive is collected)? <3
|
|
# https://docs.danswer.dev/more/telemetry
|
|
DISABLE_TELEMETRY: ""
|
|
LOG_LEVEL: ""
|
|
LOG_ALL_MODEL_INTERACTIONS: ""
|
|
LOG_DANSWER_MODEL_INTERACTIONS: ""
|
|
LOG_VESPA_TIMING_INFORMATION: ""
|
|
# Shared or Non-backend Related
|
|
WEB_DOMAIN: "http://localhost:3000" # for web server and api server
|
|
DOMAIN: "localhost" # for nginx
|