Files
ragflow/helm/values.yaml
LyleLaii 082c2ed11c helm: improvements (#10976)
- fix(ingress): use root context ($) for fullname inside range
- fix(statefulset): use updateStrategy instead of strategy for
mysql/infinity/elasticsearch/opensearch
- feat(mysql): add external mode via mysql.enabled=false with env
MYSQL_HOST/PORT and MYSQL_USER (default root)
- feat(minio/redis): add external mode via *.enabled=false with env
*_HOST/PORT
- feat(global): add global.repo for image registry prefix and
global.imagePullSecrets for all pods
- feat: helper template ragflow.imageRepo to render image with global
repo
- chore(env): allow optional MINIO_HOST, MINIO_PASSWORD, REDIS_PASSWORD
(remove required); keep MYSQL_PASSWORD required
- docs(helm): add helm/README.md and update usage
- refactor(images): apply global repo to all components and init
containers
- test: align test busybox image with global repo helper

### What problem does this PR solve?

_Briefly describe what this PR aims to solve. Include background context
that will help reviewers understand the purpose of the PR._

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
- [x] New Feature (non-breaking change which adds functionality)
- [x] Documentation Update
- [ ] Refactoring
- [ ] Performance Improvement
- [ ] Other (please describe):
2025-12-29 13:29:47 +08:00

259 lines
6.3 KiB
YAML

# Based on docker compose .env file
# Global image pull secrets configuration
global:
# Global image repo prefix to render all images from a mirror/registry.
# Example: "registry.example.com/myproj"
# When set, template will replace the registry part of each image and keep the path.
# Leave empty to use per-image repositories as-is.
repo: ""
# Global image pull secrets for all pods
imagePullSecrets: []
env:
# The type of doc engine to use.
# Available options:
# - `elasticsearch` (default)
# - `infinity` (https://github.com/infiniflow/infinity)
# - `opensearch` (https://github.com/opensearch-project/OpenSearch)
# DOC_ENGINE: elasticsearch
DOC_ENGINE: infinity
# DOC_ENGINE: opensearch
# The version of Elasticsearch.
STACK_VERSION: "8.11.3"
# The password for Elasticsearch
ELASTIC_PASSWORD: infini_rag_flow_helm
# The password for OpenSearch.
# At least one uppercase letter, one lowercase letter, one digit, and one special character
OPENSEARCH_PASSWORD: infini_rag_flow_OS_01
# The password for MySQL
MYSQL_PASSWORD: infini_rag_flow_helm
# The database of the MySQL service to use
MYSQL_DBNAME: rag_flow
# External MySQL host (only required when mysql.enabled=false)
# MYSQL_HOST: ""
# External MySQL port (defaults to 3306 if not set)
# MYSQL_PORT: "3306"
# External MySQL user (only when mysql.enabled=false), default is root if omitted
# MYSQL_USER: "root"
# The username for MinIO.
MINIO_ROOT_USER: rag_flow
# The password for MinIO
MINIO_PASSWORD: infini_rag_flow_helm
# External MinIO host
# MINIO_HOST: ""
# External MinIO port (defaults to 9000 if not set)
# MINIO_PORT: "9000"
# The password for Redis
REDIS_PASSWORD: infini_rag_flow_helm
# External Redis host (only required when redis.enabled=false)
# REDIS_HOST: ""
# External Redis port (defaults to 6379 if not set)
# REDIS_PORT: "6379"
# The local time zone.
TZ: "Asia/Shanghai"
# Uncomment the following line if you have limited access to huggingface.co:
# HF_ENDPOINT: https://hf-mirror.com
# The maximum file size for each uploaded file, in bytes.
# You can uncomment this line and update the value if you wish to change 128M file size limit
# MAX_CONTENT_LENGTH: "134217728"
# After making the change, ensure you update `client_max_body_size` in nginx/nginx.conf correspondingly.
# The number of document chunks processed in a single batch during document parsing.
DOC_BULK_SIZE: 4
# The number of text chunks processed in a single batch during embedding vectorization.
EMBEDDING_BATCH_SIZE: 16
ragflow:
image:
repository: infiniflow/ragflow
tag: v0.23.0
pullPolicy: IfNotPresent
pullSecrets: []
# Optional service configuration overrides
# to be written to local.service_conf.yaml
# inside the RAGFlow container
# https://ragflow.io/docs/dev/configurations#service-configuration
service_conf:
# Optional yaml formatted override for the
# llm_factories.json file inside the RAGFlow
# container.
llm_factories:
# factory_llm_infos:
# - name: OpenAI-API-Compatible
# logo: ""
# tags: "LLM,TEXT EMBEDDING,SPEECH2TEXT,MODERATION"
# status: "1"
# llm:
# - llm_name: my-custom-llm
# tags: "LLM,CHAT,"
# max_tokens: 100000
# model_type: chat
# is_tools: false
# Kubernetes configuration
deployment:
strategy:
resources:
service:
# Use LoadBalancer to expose the web interface externally
type: ClusterIP
api:
service:
enabled: true
type: ClusterIP
infinity:
image:
repository: infiniflow/infinity
tag: v0.6.15
pullPolicy: IfNotPresent
pullSecrets: []
storage:
className:
capacity: 5Gi
deployment:
strategy:
resources:
service:
type: ClusterIP
elasticsearch:
image:
repository: elasticsearch
tag: "8.11.3"
pullPolicy: IfNotPresent
pullSecrets: []
initContainers:
alpine:
repository: alpine
tag: latest
pullPolicy: IfNotPresent
busybox:
repository: busybox
tag: latest
pullPolicy: IfNotPresent
storage:
className:
capacity: 20Gi
deployment:
strategy:
resources:
requests:
cpu: "4"
memory: "16Gi"
service:
type: ClusterIP
opensearch:
image:
repository: opensearchproject/opensearch
tag: 2.19.1
pullPolicy: IfNotPresent
pullSecrets: []
initContainers:
alpine:
repository: alpine
tag: latest
pullPolicy: IfNotPresent
busybox:
repository: busybox
tag: latest
pullPolicy: IfNotPresent
storage:
className:
capacity: 20Gi
deployment:
strategy:
resources:
requests:
cpu: "4"
memory: "16Gi"
service:
type: ClusterIP
minio:
enabled: true
image:
repository: quay.io/minio/minio
tag: RELEASE.2023-12-20T01-00-02Z
pullPolicy: IfNotPresent
pullSecrets: []
storage:
className:
capacity: 5Gi
deployment:
strategy:
resources:
service:
type: ClusterIP
mysql:
enabled: true
image:
repository: mysql
tag: 8.0.39
pullPolicy: IfNotPresent
pullSecrets: []
storage:
className:
capacity: 5Gi
deployment:
strategy:
resources:
service:
type: ClusterIP
redis:
enabled: true
image:
repository: valkey/valkey
tag: 8
pullPolicy: IfNotPresent
pullSecrets: []
storage:
className:
capacity: 5Gi
persistence:
enabled: true
# Set's the retention policy for the persistent storage (only available in k8s 1.32 or later)
# https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/#persistentvolumeclaim-retention
# retentionPolicy:
# whenDeleted: Delete
# whenScaled: Delete
deployment:
strategy:
resources:
service:
type: ClusterIP
# This block is for setting up web service ingress. For more information, see:
# https://kubernetes.io/docs/concepts/services-networking/ingress/
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