Update ragflow
This commit is contained in:
@@ -20,16 +20,19 @@
|
|||||||
|
|
||||||
| Name | 설명 | 기본값 |
|
| Name | 설명 | 기본값 |
|
||||||
| ---------------------- | ------------------------------------------------------------ | ------ |
|
| ---------------------- | ------------------------------------------------------------ | ------ |
|
||||||
| `env.DOC_ENGINE` | 문서 엔진 타입 설정. `elasticsearch` 또는 `infinity` 선택 가능 | `infinity` |
|
| `env.DOC_ENGINE` | 문서 엔진 타입 설정. `elasticsearch`, `infinity`, `opensearch` 선택 가능 | `infinity` |
|
||||||
| `env.STACK_VERSION` | Elasticsearch 버전 설정 | `"8.11.3"` |
|
| `env.STACK_VERSION` | Elasticsearch 버전 설정 | `"8.11.3"` |
|
||||||
| `env.ELASTIC_PASSWORD` | Elasticsearch 비밀번호 | `infini_rag_flow_helm` |
|
| `env.ELASTIC_PASSWORD` | Elasticsearch 비밀번호 | `infini_rag_flow_helm` |
|
||||||
|
| `env.OPENSEARCH_PASSWORD` | OpenSearch 비밀번호 (대소문자, 숫자, 특수문자 포함 필요) | `infini_rag_flow_OS_01` |
|
||||||
| `env.MYSQL_PASSWORD` | MySQL 비밀번호 | `infini_rag_flow_helm` |
|
| `env.MYSQL_PASSWORD` | MySQL 비밀번호 | `infini_rag_flow_helm` |
|
||||||
| `env.MYSQL_DBNAME` | MySQL 데이터베이스 이름 | `rag_flow` |
|
| `env.MYSQL_DBNAME` | MySQL 데이터베이스 이름 | `rag_flow` |
|
||||||
| `env.MINIO_ROOT_USER` | MinIO 사용자명 | `rag_flow` |
|
| `env.MINIO_ROOT_USER` | MinIO 사용자명 | `rag_flow` |
|
||||||
| `env.MINIO_PASSWORD` | MinIO 비밀번호 | `infini_rag_flow_helm` |
|
| `env.MINIO_PASSWORD` | MinIO 비밀번호 | `infini_rag_flow_helm` |
|
||||||
| `env.REDIS_PASSWORD` | Redis 비밀번호 | `infini_rag_flow_helm` |
|
| `env.REDIS_PASSWORD` | Redis 비밀번호 | `infini_rag_flow_helm` |
|
||||||
| `env.RAGFLOW_IMAGE` | RAGFlow Docker 이미지 | `infiniflow/ragflow:v0.19.0-slim` |
|
| `env.RAGFLOW_IMAGE` | RAGFlow Docker 이미지 | `infiniflow/ragflow:v0.20.1-slim` |
|
||||||
| `env.TIMEZONE` | 로컬 시간대 설정 | `"Asia/Shanghai"` |
|
| `env.TIMEZONE` | 로컬 시간대 설정 | `"Asia/Seoul"` |
|
||||||
|
| `env.DOC_BULK_SIZE` | 문서 파싱 시 단일 배치에서 처리되는 문서 청크 수 | `4` |
|
||||||
|
| `env.EMBEDDING_BATCH_SIZE` | 임베딩 벡터화 시 단일 배치에서 처리되는 텍스트 청크 수 | `16` |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -43,6 +46,39 @@
|
|||||||
| `ragflow.api.service.type` | API 서비스 타입 설정 | `ClusterIP` |
|
| `ragflow.api.service.type` | API 서비스 타입 설정 | `ClusterIP` |
|
||||||
| `ragflow.deployment.strategy` | 배포 전략 설정 | `` |
|
| `ragflow.deployment.strategy` | 배포 전략 설정 | `` |
|
||||||
| `ragflow.deployment.resources` | 리소스 제한 설정 | `` |
|
| `ragflow.deployment.resources` | 리소스 제한 설정 | `` |
|
||||||
|
| `ragflow.service_conf.oauth.oidc` | OIDC 인증 설정 | 설정 예시 참조 |
|
||||||
|
| `ragflow.llm_factories` | LLM 팩토리 설정 | 설정 예시 참조 |
|
||||||
|
|
||||||
|
#### 2.1) OIDC 인증 설정 예시
|
||||||
|
```yaml
|
||||||
|
ragflow:
|
||||||
|
service_conf:
|
||||||
|
oauth:
|
||||||
|
oidc:
|
||||||
|
display_name: "OIDC"
|
||||||
|
client_id: "ragflow"
|
||||||
|
client_secret: "your-client-secret"
|
||||||
|
issuer: "https://your-keycloak-domain/realms/your-realm"
|
||||||
|
scope: "openid email profile"
|
||||||
|
redirect_uri: "https://your-ragflow-domain/v1/user/oauth/callback/oidc"
|
||||||
|
```
|
||||||
|
|
||||||
|
#### 2.2) LLM 팩토리 설정 예시
|
||||||
|
```yaml
|
||||||
|
ragflow:
|
||||||
|
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
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -52,9 +88,11 @@
|
|||||||
| Name | 설명 | 기본값 |
|
| Name | 설명 | 기본값 |
|
||||||
| --------------------------- | ------------------------------------------------------------ | ----------------------- |
|
| --------------------------- | ------------------------------------------------------------ | ----------------------- |
|
||||||
| `infinity.image.repository` | Infinity 이미지 저장소 | `infiniflow/infinity` |
|
| `infinity.image.repository` | Infinity 이미지 저장소 | `infiniflow/infinity` |
|
||||||
| `infinity.image.tag` | Infinity 이미지 태그 | `v0.6.0-dev3` |
|
| `infinity.image.tag` | Infinity 이미지 태그 | `v0.6.0-dev5` |
|
||||||
| `infinity.storage.className` | 스토리지 클래스 이름 | `` |
|
| `infinity.storage.className` | 스토리지 클래스 이름 | `` |
|
||||||
| `infinity.storage.capacity` | 스토리지 용량 | `5Gi` |
|
| `infinity.storage.capacity` | 스토리지 용량 | `5Gi` |
|
||||||
|
| `infinity.deployment.strategy` | 배포 전략 설정 | `` |
|
||||||
|
| `infinity.deployment.resources` | 리소스 제한 설정 | `` |
|
||||||
| `infinity.service.type` | 서비스 타입 | `ClusterIP` |
|
| `infinity.service.type` | 서비스 타입 | `ClusterIP` |
|
||||||
|
|
||||||
|
|
||||||
@@ -151,17 +189,28 @@
|
|||||||
cert-manager.io/cluster-issuer: "selfsigned-issuer"
|
cert-manager.io/cluster-issuer: "selfsigned-issuer"
|
||||||
cert-manager.io/duration: 8760h
|
cert-manager.io/duration: 8760h
|
||||||
cert-manager.io/renew-before: 720h
|
cert-manager.io/renew-before: 720h
|
||||||
|
konghq.com/https-redirect-status-code: '301'
|
||||||
|
konghq.com/protocols: https
|
||||||
hosts:
|
hosts:
|
||||||
- host: ragflow.example.org
|
- host: ragflow.example.org
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
tls:
|
tls:
|
||||||
- hosts:
|
- hosts:
|
||||||
- ragflow.example.org
|
- ragflow.example.org
|
||||||
secretName: ragflow-tls
|
secretName: ragflow-tls
|
||||||
```
|
```
|
||||||
|
|
||||||
|
#### 8.4) Kong 관련 어노테이션
|
||||||
|
|
||||||
|
- Kong Ingress Controller 사용 시 추가 설정 옵션들:
|
||||||
|
|
||||||
|
| Name | 설명 | 기본값 |
|
||||||
|
| --------------------------------------- | ---------------------------------- | --------- |
|
||||||
|
| `konghq.com/https-redirect-status-code` | HTTPS 리다이렉트 상태 코드 | `'301'` |
|
||||||
|
| `konghq.com/protocols` | 허용할 프로토콜 | `https` |
|
||||||
|
|
||||||
|
|
||||||
## 3. 주요 설정 가이드
|
## 3. 주요 설정 가이드
|
||||||
|
|
||||||
@@ -169,6 +218,7 @@
|
|||||||
- `env.DOC_ENGINE`을 통해 문서 엔진을 선택할 수 있습니다.
|
- `env.DOC_ENGINE`을 통해 문서 엔진을 선택할 수 있습니다.
|
||||||
- `elasticsearch`: 안정적이고 검증된 검색 엔진
|
- `elasticsearch`: 안정적이고 검증된 검색 엔진
|
||||||
- `infinity`: 고성능 벡터 검색 엔진 (권장)
|
- `infinity`: 고성능 벡터 검색 엔진 (권장)
|
||||||
|
- `opensearch`: Elasticsearch의 오픈소스 대안
|
||||||
|
|
||||||
### 3.2) 리소스 설정
|
### 3.2) 리소스 설정
|
||||||
- 각 서비스별로 `deployment.resources`에서 CPU/메모리 리소스를 설정할 수 있습니다.
|
- 각 서비스별로 `deployment.resources`에서 CPU/메모리 리소스를 설정할 수 있습니다.
|
||||||
@@ -180,4 +230,22 @@
|
|||||||
|
|
||||||
### 3.4) 보안 설정
|
### 3.4) 보안 설정
|
||||||
- 모든 비밀번호는 기본값에서 변경하여 사용하세요.
|
- 모든 비밀번호는 기본값에서 변경하여 사용하세요.
|
||||||
- OIDC를 통한 외부 인증 시스템 연동이 가능합니다.
|
- OIDC를 통한 외부 인증 시스템 연동이 가능합니다.
|
||||||
|
|
||||||
|
### 3.5) 성능 튜닝 설정
|
||||||
|
- 문서 처리 및 임베딩 성능을 조정할 수 있는 설정들입니다.
|
||||||
|
|
||||||
|
| Name | 설명 | 기본값 |
|
||||||
|
| --------------------------- | ------------------------------------------------------------ | ----------------------- |
|
||||||
|
| `env.DOC_BULK_SIZE` | 문서 파싱 시 단일 배치에서 처리되는 문서 청크 수 | `4` |
|
||||||
|
| `env.EMBEDDING_BATCH_SIZE` | 임베딩 벡터화 시 단일 배치에서 처리되는 텍스트 청크 수 | `16` |
|
||||||
|
|
||||||
|
### 3.6) 추가 환경 설정
|
||||||
|
- 기타 선택적 환경 설정들입니다.
|
||||||
|
|
||||||
|
| Name | 설명 | 기본값 |
|
||||||
|
| --------------------------- | ------------------------------------------------------------ | ----------------------- |
|
||||||
|
| `env.HF_ENDPOINT` | Hugging Face 엔드포인트 (접근 제한 시 미러 사용) | 설정하지 않음 |
|
||||||
|
| `env.MAX_CONTENT_LENGTH` | 업로드 파일 최대 크기 (바이트) | `134217728` (128MB) |
|
||||||
|
|
||||||
|
**참고**: `MAX_CONTENT_LENGTH` 변경 시 nginx 설정의 `client_max_body_size`도 함께 수정해야 합니다.
|
||||||
@@ -4,8 +4,10 @@ env:
|
|||||||
# Available options:
|
# Available options:
|
||||||
# - `elasticsearch` (default)
|
# - `elasticsearch` (default)
|
||||||
# - `infinity` (https://github.com/infiniflow/infinity)
|
# - `infinity` (https://github.com/infiniflow/infinity)
|
||||||
|
# - `opensearch` (https://github.com/opensearch-project/OpenSearch)
|
||||||
# DOC_ENGINE: elasticsearch
|
# DOC_ENGINE: elasticsearch
|
||||||
DOC_ENGINE: infinity
|
DOC_ENGINE: infinity
|
||||||
|
# DOC_ENGINE: opensearch
|
||||||
|
|
||||||
# The version of Elasticsearch.
|
# The version of Elasticsearch.
|
||||||
STACK_VERSION: "8.11.3"
|
STACK_VERSION: "8.11.3"
|
||||||
@@ -13,6 +15,10 @@ env:
|
|||||||
# The password for Elasticsearch
|
# The password for Elasticsearch
|
||||||
ELASTIC_PASSWORD: infini_rag_flow_helm
|
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
|
# The password for MySQL
|
||||||
MYSQL_PASSWORD: infini_rag_flow_helm
|
MYSQL_PASSWORD: infini_rag_flow_helm
|
||||||
# The database of the MySQL service to use
|
# The database of the MySQL service to use
|
||||||
@@ -27,13 +33,13 @@ env:
|
|||||||
REDIS_PASSWORD: infini_rag_flow_helm
|
REDIS_PASSWORD: infini_rag_flow_helm
|
||||||
|
|
||||||
# The RAGFlow Docker image to download.
|
# The RAGFlow Docker image to download.
|
||||||
# Defaults to the v0.19.0-slim edition, which is the RAGFlow Docker image without embedding models.
|
# Defaults to the v0.20.1-slim edition, which is the RAGFlow Docker image without embedding models.
|
||||||
RAGFLOW_IMAGE: infiniflow/ragflow:v0.19.0-slim
|
RAGFLOW_IMAGE: infiniflow/ragflow:v0.20.1-slim
|
||||||
#
|
#
|
||||||
# To download the RAGFlow Docker image with embedding models, uncomment the following line instead:
|
# To download the RAGFlow Docker image with embedding models, uncomment the following line instead:
|
||||||
# RAGFLOW_IMAGE: infiniflow/ragflow:v0.19.0
|
# RAGFLOW_IMAGE: infiniflow/ragflow:v0.20.1
|
||||||
#
|
#
|
||||||
# The Docker image of the v0.19.0 edition includes:
|
# The Docker image of the v0.20.1 edition includes:
|
||||||
# - Built-in embedding models:
|
# - Built-in embedding models:
|
||||||
# - BAAI/bge-large-zh-v1.5
|
# - BAAI/bge-large-zh-v1.5
|
||||||
# - BAAI/bge-reranker-v2-m3
|
# - BAAI/bge-reranker-v2-m3
|
||||||
@@ -52,7 +58,7 @@ env:
|
|||||||
#
|
#
|
||||||
|
|
||||||
# The local time zone.
|
# The local time zone.
|
||||||
TIMEZONE: "Asia/Shanghai"
|
TIMEZONE: "Asia/Seoul"
|
||||||
|
|
||||||
# Uncomment the following line if you have limited access to huggingface.co:
|
# Uncomment the following line if you have limited access to huggingface.co:
|
||||||
# HF_ENDPOINT: https://hf-mirror.com
|
# HF_ENDPOINT: https://hf-mirror.com
|
||||||
@@ -62,7 +68,45 @@ env:
|
|||||||
# MAX_CONTENT_LENGTH: "134217728"
|
# MAX_CONTENT_LENGTH: "134217728"
|
||||||
# After making the change, ensure you update `client_max_body_size` in nginx/nginx.conf correspondingly.
|
# 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:
|
ragflow:
|
||||||
|
|
||||||
|
# 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:
|
||||||
|
oauth:
|
||||||
|
oidc:
|
||||||
|
display_name: "OIDC"
|
||||||
|
client_id: "Client ID"
|
||||||
|
client_secret: "Client Secret"
|
||||||
|
issuer: "https://keycloak_domain/realms/paasup"
|
||||||
|
scope: "openid email profile"
|
||||||
|
redirect_uri: "https://ragflow_domain/v1/user/oauth/callback/oidc"
|
||||||
|
|
||||||
|
# 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:
|
deployment:
|
||||||
strategy:
|
strategy:
|
||||||
resources:
|
resources:
|
||||||
@@ -77,7 +121,7 @@ ragflow:
|
|||||||
infinity:
|
infinity:
|
||||||
image:
|
image:
|
||||||
repository: infiniflow/infinity
|
repository: infiniflow/infinity
|
||||||
tag: v0.6.0-dev3
|
tag: v0.6.0-dev5
|
||||||
storage:
|
storage:
|
||||||
className:
|
className:
|
||||||
capacity: 5Gi
|
capacity: 5Gi
|
||||||
@@ -87,19 +131,6 @@ infinity:
|
|||||||
service:
|
service:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
|
||||||
elasticsearch:
|
|
||||||
storage:
|
|
||||||
className:
|
|
||||||
capacity: 20Gi
|
|
||||||
deployment:
|
|
||||||
strategy:
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: "4"
|
|
||||||
memory: "16Gi"
|
|
||||||
service:
|
|
||||||
type: ClusterIP
|
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
image:
|
image:
|
||||||
repository: quay.io/minio/minio
|
repository: quay.io/minio/minio
|
||||||
@@ -135,6 +166,11 @@ redis:
|
|||||||
capacity: 5Gi
|
capacity: 5Gi
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
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:
|
deployment:
|
||||||
strategy:
|
strategy:
|
||||||
resources:
|
resources:
|
||||||
@@ -154,11 +190,11 @@ ingress:
|
|||||||
konghq.com/https-redirect-status-code: '301'
|
konghq.com/https-redirect-status-code: '301'
|
||||||
konghq.com/protocols: https
|
konghq.com/protocols: https
|
||||||
hosts:
|
hosts:
|
||||||
- host: ragflow.gke.paasup.io
|
- host: ragflow.example.org
|
||||||
paths:
|
paths:
|
||||||
- path: /
|
- path: /
|
||||||
pathType: ImplementationSpecific
|
pathType: ImplementationSpecific
|
||||||
tls:
|
tls:
|
||||||
- secretName: ragflow-tls
|
- secretName: ragflow-tls
|
||||||
hosts:
|
hosts:
|
||||||
- ragflow.gke.paasup.io
|
- ragflow.example.org
|
||||||
|
|||||||
@@ -10,4 +10,8 @@ data:
|
|||||||
xpack.security.enabled: "true"
|
xpack.security.enabled: "true"
|
||||||
xpack.security.http.ssl.enabled: "false"
|
xpack.security.http.ssl.enabled: "false"
|
||||||
xpack.security.transport.ssl.enabled: "false"
|
xpack.security.transport.ssl.enabled: "false"
|
||||||
|
cluster.routing.allocation.disk.watermark.low: 5gb
|
||||||
|
cluster.routing.allocation.disk.watermark.high: 3gb
|
||||||
|
cluster.routing.allocation.disk.watermark.flood_stage: 2gb
|
||||||
|
TZ: {{ .Values.env.TIMEZONE }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ spec:
|
|||||||
storage: {{ .Values.elasticsearch.storage.capacity }}
|
storage: {{ .Values.elasticsearch.storage.capacity }}
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "ragflow.fullname" . }}-es
|
name: {{ include "ragflow.fullname" . }}-es
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -43,14 +43,11 @@ stringData:
|
|||||||
ELASTIC_PASSWORD: {{ .Values.env.ELASTIC_PASSWORD | required "ELASTIC_PASSWORD is required" }}
|
ELASTIC_PASSWORD: {{ .Values.env.ELASTIC_PASSWORD | required "ELASTIC_PASSWORD is required" }}
|
||||||
{{- else if eq .Values.env.DOC_ENGINE "infinity" }}
|
{{- else if eq .Values.env.DOC_ENGINE "infinity" }}
|
||||||
INFINITY_HOST: {{ printf "%s-infinity.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }}
|
INFINITY_HOST: {{ printf "%s-infinity.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }}
|
||||||
|
{{- else if eq .Values.env.DOC_ENGINE "opensearch" }}
|
||||||
|
OS_HOST: {{ printf "%s-opensearch.%s.svc" (include "ragflow.fullname" .) .Release.Namespace }}
|
||||||
|
OS_PORT: "9201"
|
||||||
|
OPENSEARCH_PASSWORD: {{ .Values.env.OPENSEARCH_PASSWORD | required "OPENSEARCH_PASSWORD is required" }}
|
||||||
|
OPENSEARCH_INITIAL_ADMIN_PASSWORD: {{ .Values.env.OPENSEARCH_PASSWORD | required "OPENSEARCH_PASSWORD is required" }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{ fail "env.DOC_ENGINE must be either 'elasticsearch' or 'infinity'" }}
|
{{ fail "env.DOC_ENGINE must be either 'elasticsearch', 'opensearch' or 'infinity'" }}
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.oidc.enable }}
|
|
||||||
DISPLAY_NAME: {{ .Values.oidc.display_name }}
|
|
||||||
CLIENT_ID: {{ .Values.oidc.client_id }}
|
|
||||||
CLIENT_SECRETS: {{ .Values.oidc.client_secret }}
|
|
||||||
ISSUER: {{ .Values.oidc.issuer }}
|
|
||||||
SCOPE: {{ .Values.oidc.scope }}
|
|
||||||
REDIRECT_URI: {{ .Values.oidc.redirect_uri }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ spec:
|
|||||||
storage: {{ .Values.infinity.storage.capacity }}
|
storage: {{ .Values.infinity.storage.capacity }}
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "ragflow.fullname" . }}-infinity
|
name: {{ include "ragflow.fullname" . }}-infinity
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -19,9 +19,9 @@ spec:
|
|||||||
storage: {{ .Values.minio.storage.capacity }}
|
storage: {{ .Values.minio.storage.capacity }}
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: ragflow-minio-deployment
|
name: {{ include "ragflow.fullname" . }}-minio
|
||||||
labels:
|
labels:
|
||||||
{{- include "ragflow.labels" . | nindent 4 }}
|
{{- include "ragflow.labels" . | nindent 4 }}
|
||||||
app.kubernetes.io/component: minio
|
app.kubernetes.io/component: minio
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ spec:
|
|||||||
storage: {{ .Values.mysql.storage.capacity }}
|
storage: {{ .Values.mysql.storage.capacity }}
|
||||||
---
|
---
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: StatefulSet
|
||||||
metadata:
|
metadata:
|
||||||
name: {{ include "ragflow.fullname" . }}-mysql
|
name: {{ include "ragflow.fullname" . }}-mysql
|
||||||
labels:
|
labels:
|
||||||
|
|||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{{- if eq .Values.env.DOC_ENGINE "opensearch" -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "ragflow.fullname" . }}-opensearch-config
|
||||||
|
data:
|
||||||
|
node.name: opensearch01
|
||||||
|
bootstrap.memory_lock: "false"
|
||||||
|
discovery.type: single-node
|
||||||
|
plugins.security.disabled: "false"
|
||||||
|
plugins.security.ssl.http.enabled: "false"
|
||||||
|
plugins.security.ssl.transport.enabled: "true"
|
||||||
|
cluster.routing.allocation.disk.watermark.low: 5gb
|
||||||
|
cluster.routing.allocation.disk.watermark.high: 3gb
|
||||||
|
cluster.routing.allocation.disk.watermark.flood_stage: 2gb
|
||||||
|
TZ: {{ .Values.env.TIMEZONE }}
|
||||||
|
http.port: "9201"
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,117 @@
|
|||||||
|
{{- if eq .Values.env.DOC_ENGINE "opensearch" -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: PersistentVolumeClaim
|
||||||
|
metadata:
|
||||||
|
name: {{ include "ragflow.fullname" . }}-opensearch-data
|
||||||
|
annotations:
|
||||||
|
"helm.sh/resource-policy": keep
|
||||||
|
labels:
|
||||||
|
{{- include "ragflow.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: opensearch
|
||||||
|
spec:
|
||||||
|
{{- with .Values.opensearch.storage.className }}
|
||||||
|
storageClassName: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
accessModes:
|
||||||
|
- ReadWriteOnce
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
storage: {{ .Values.opensearch.storage.capacity }}
|
||||||
|
---
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: StatefulSet
|
||||||
|
metadata:
|
||||||
|
name: {{ include "ragflow.fullname" . }}-opensearch
|
||||||
|
labels:
|
||||||
|
{{- include "ragflow.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: opensearch
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "ragflow.selectorLabels" . | nindent 6 }}
|
||||||
|
app.kubernetes.io/component: opensearch
|
||||||
|
{{- with .Values.opensearch.deployment.strategy }}
|
||||||
|
strategy:
|
||||||
|
{{- . | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
labels:
|
||||||
|
{{- include "ragflow.labels" . | nindent 8 }}
|
||||||
|
app.kubernetes.io/component: opensearch
|
||||||
|
annotations:
|
||||||
|
checksum/config-opensearch: {{ include (print $.Template.BasePath "/opensearch-config.yaml") . | sha256sum }}
|
||||||
|
checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }}
|
||||||
|
spec:
|
||||||
|
initContainers:
|
||||||
|
- name: fix-data-volume-permissions
|
||||||
|
image: alpine
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- "chown -R 1000:0 /usr/share/opensearch/data"
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /usr/share/opensearch/data
|
||||||
|
name: opensearch-data
|
||||||
|
- name: sysctl
|
||||||
|
image: busybox
|
||||||
|
securityContext:
|
||||||
|
privileged: true
|
||||||
|
runAsUser: 0
|
||||||
|
command: ["sysctl", "-w", "vm.max_map_count=262144"]
|
||||||
|
containers:
|
||||||
|
- name: opensearch
|
||||||
|
image: {{ .Values.opensearch.image.repository }}:{{ .Values.opensearch.image.tag }}
|
||||||
|
envFrom:
|
||||||
|
- secretRef:
|
||||||
|
name: {{ include "ragflow.fullname" . }}-env-config
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ include "ragflow.fullname" . }}-opensearch-config
|
||||||
|
ports:
|
||||||
|
- containerPort: 9201
|
||||||
|
name: http
|
||||||
|
volumeMounts:
|
||||||
|
- mountPath: /usr/share/opensearch/data
|
||||||
|
name: opensearch-data
|
||||||
|
{{- with .Values.opensearch.deployment.resources }}
|
||||||
|
resources:
|
||||||
|
{{- . | toYaml | nindent 10 }}
|
||||||
|
{{- end }}
|
||||||
|
securityContext:
|
||||||
|
capabilities:
|
||||||
|
add:
|
||||||
|
- "IPC_LOCK"
|
||||||
|
runAsUser: 1000
|
||||||
|
allowPrivilegeEscalation: false
|
||||||
|
livenessProbe:
|
||||||
|
exec:
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- curl -u admin:$OPENSEARCH_PASSWORD localhost:9201
|
||||||
|
initialDelaySeconds: 30
|
||||||
|
periodSeconds: 10
|
||||||
|
failureThreshold: 6
|
||||||
|
volumes:
|
||||||
|
- name: opensearch-data
|
||||||
|
persistentVolumeClaim:
|
||||||
|
claimName: {{ include "ragflow.fullname" . }}-opensearch-data
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ include "ragflow.fullname" . }}-opensearch
|
||||||
|
labels:
|
||||||
|
{{- include "ragflow.labels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: opensearch
|
||||||
|
spec:
|
||||||
|
selector:
|
||||||
|
{{- include "ragflow.selectorLabels" . | nindent 4 }}
|
||||||
|
app.kubernetes.io/component: opensearch
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: 9201
|
||||||
|
targetPort: http
|
||||||
|
type: {{ .Values.opensearch.service.type }}
|
||||||
|
{{- end -}}
|
||||||
@@ -43,10 +43,15 @@ spec:
|
|||||||
- mountPath: /etc/nginx/nginx.conf
|
- mountPath: /etc/nginx/nginx.conf
|
||||||
subPath: nginx.conf
|
subPath: nginx.conf
|
||||||
name: nginx-config-volume
|
name: nginx-config-volume
|
||||||
{{- if .Values.oidc.enable }}
|
{{- with .Values.ragflow.service_conf }}
|
||||||
- mountPath: /ragflow/conf/service_conf.yaml.template
|
- mountPath: /ragflow/conf/local.service_conf.yaml
|
||||||
subPath: service_conf.yaml.template
|
subPath: local.service_conf.yaml
|
||||||
name: nginx-config-volume
|
name: service-conf-volume
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.ragflow.llm_factories }}
|
||||||
|
- mountPath: /ragflow/conf/llm_factories.json
|
||||||
|
subPath: llm_factories.json
|
||||||
|
name: service-conf-volume
|
||||||
{{- end }}
|
{{- end }}
|
||||||
envFrom:
|
envFrom:
|
||||||
- secretRef:
|
- secretRef:
|
||||||
@@ -59,6 +64,9 @@ spec:
|
|||||||
- name: nginx-config-volume
|
- name: nginx-config-volume
|
||||||
configMap:
|
configMap:
|
||||||
name: nginx-config
|
name: nginx-config
|
||||||
|
- name: service-conf-volume
|
||||||
|
configMap:
|
||||||
|
name: ragflow-service-config
|
||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: Service
|
kind: Service
|
||||||
|
|||||||
@@ -1,6 +1,20 @@
|
|||||||
---
|
---
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: ragflow-service-config
|
||||||
|
data:
|
||||||
|
{{- with .Values.ragflow.service_conf }}
|
||||||
|
local.service_conf.yaml: |
|
||||||
|
{{- . | toYaml | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.ragflow.llm_factories }}
|
||||||
|
llm_factories.json: |
|
||||||
|
{{- . | toPrettyJson | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: nginx-config
|
name: nginx-config
|
||||||
data:
|
data:
|
||||||
@@ -73,116 +87,3 @@ data:
|
|||||||
|
|
||||||
include /etc/nginx/conf.d/ragflow.conf;
|
include /etc/nginx/conf.d/ragflow.conf;
|
||||||
}
|
}
|
||||||
{{- if .Values.oidc.enable }}
|
|
||||||
service_conf.yaml.template: |
|
|
||||||
ragflow:
|
|
||||||
host: ${RAGFLOW_HOST:-0.0.0.0}
|
|
||||||
http_port: 9380
|
|
||||||
mysql:
|
|
||||||
name: '${MYSQL_DBNAME:-rag_flow}'
|
|
||||||
user: '${MYSQL_USER:-root}'
|
|
||||||
password: '${MYSQL_PASSWORD:-infini_rag_flow}'
|
|
||||||
host: '${MYSQL_HOST:-mysql}'
|
|
||||||
port: 3306
|
|
||||||
max_connections: 900
|
|
||||||
stale_timeout: 300
|
|
||||||
minio:
|
|
||||||
user: '${MINIO_USER:-rag_flow}'
|
|
||||||
password: '${MINIO_PASSWORD:-infini_rag_flow}'
|
|
||||||
host: '${MINIO_HOST:-minio}:9000'
|
|
||||||
es:
|
|
||||||
hosts: 'http://${ES_HOST:-es01}:9200'
|
|
||||||
username: '${ES_USER:-elastic}'
|
|
||||||
password: '${ELASTIC_PASSWORD:-infini_rag_flow}'
|
|
||||||
os:
|
|
||||||
hosts: 'http://${OS_HOST:-opensearch01}:9201'
|
|
||||||
username: '${OS_USER:-admin}'
|
|
||||||
password: '${OPENSEARCH_PASSWORD:-infini_rag_flow_OS_01}'
|
|
||||||
infinity:
|
|
||||||
uri: '${INFINITY_HOST:-infinity}:23817'
|
|
||||||
db_name: 'default_db'
|
|
||||||
redis:
|
|
||||||
db: 1
|
|
||||||
password: '${REDIS_PASSWORD:-infini_rag_flow}'
|
|
||||||
host: '${REDIS_HOST:-redis}:6379'
|
|
||||||
|
|
||||||
# postgres:
|
|
||||||
# name: '${POSTGRES_DBNAME:-rag_flow}'
|
|
||||||
# user: '${POSTGRES_USER:-rag_flow}'
|
|
||||||
# password: '${POSTGRES_PASSWORD:-infini_rag_flow}'
|
|
||||||
# host: '${POSTGRES_HOST:-postgres}'
|
|
||||||
# port: 5432
|
|
||||||
# max_connections: 100
|
|
||||||
# stale_timeout: 30
|
|
||||||
# s3:
|
|
||||||
# access_key: 'access_key'
|
|
||||||
# secret_key: 'secret_key'
|
|
||||||
# region: 'region'
|
|
||||||
# endpoint_url: 'endpoint_url'
|
|
||||||
# bucket: 'bucket'
|
|
||||||
# prefix_path: 'prefix_path'
|
|
||||||
# signature_version: 'v4'
|
|
||||||
# addressing_style: 'path'
|
|
||||||
# oss:
|
|
||||||
# access_key: '${ACCESS_KEY}'
|
|
||||||
# secret_key: '${SECRET_KEY}'
|
|
||||||
# endpoint_url: '${ENDPOINT}'
|
|
||||||
# region: '${REGION}'
|
|
||||||
# bucket: '${BUCKET}'
|
|
||||||
# prefix_path: '${OSS_PREFIX_PATH}'
|
|
||||||
# azure:
|
|
||||||
# auth_type: 'sas'
|
|
||||||
# container_url: 'container_url'
|
|
||||||
# sas_token: 'sas_token'
|
|
||||||
# azure:
|
|
||||||
# auth_type: 'spn'
|
|
||||||
# account_url: 'account_url'
|
|
||||||
# client_id: 'client_id'
|
|
||||||
# secret: 'secret'
|
|
||||||
# tenant_id: 'tenant_id'
|
|
||||||
# container_name: 'container_name'
|
|
||||||
# user_default_llm:
|
|
||||||
# factory: 'Tongyi-Qianwen'
|
|
||||||
# api_key: 'sk-xxxxxxxxxxxxx'
|
|
||||||
# base_url: ''
|
|
||||||
# default_models:
|
|
||||||
# chat_model: 'qwen-plus'
|
|
||||||
# embedding_model: 'BAAI/bge-large-zh-v1.5@BAAI'
|
|
||||||
# rerank_model: ''
|
|
||||||
# asr_model: ''
|
|
||||||
# image2text_model: ''
|
|
||||||
oauth:
|
|
||||||
# oauth2:
|
|
||||||
# display_name: "OAuth2"
|
|
||||||
# client_id: "your_client_id"
|
|
||||||
# client_secret: "your_client_secret"
|
|
||||||
# authorization_url: "https://your-oauth-provider.com/oauth/authorize"
|
|
||||||
# token_url: "https://your-oauth-provider.com/oauth/token"
|
|
||||||
# userinfo_url: "https://your-oauth-provider.com/oauth/userinfo"
|
|
||||||
# redirect_uri: "https://your-app.com/v1/user/oauth/callback/oauth2"
|
|
||||||
oidc:
|
|
||||||
display_name: '${DISPLAY_NAME}'
|
|
||||||
client_id: '${CLIENT_ID}'
|
|
||||||
client_secret: '${CLIENT_SECRETS}'
|
|
||||||
issuer: '${ISSUER}'
|
|
||||||
scope: '${SCOPE:openid}'
|
|
||||||
redirect_uri: '${REDIRECT_URI}'
|
|
||||||
# github:
|
|
||||||
# type: "github"
|
|
||||||
# icon: "github"
|
|
||||||
# display_name: "Github"
|
|
||||||
# client_id: "your_client_id"
|
|
||||||
# client_secret: "your_client_secret"
|
|
||||||
# redirect_uri: "https://your-app.com/v1/user/oauth/callback/github"
|
|
||||||
# authentication:
|
|
||||||
# client:
|
|
||||||
# switch: false
|
|
||||||
# http_app_key:
|
|
||||||
# http_secret_key:
|
|
||||||
# site:
|
|
||||||
# switch: false
|
|
||||||
# permission:
|
|
||||||
# switch: false
|
|
||||||
# component: false
|
|
||||||
# dataset: false
|
|
||||||
{{- end }}
|
|
||||||
|
|||||||
@@ -64,11 +64,20 @@ spec:
|
|||||||
{{- . | toYaml | nindent 12 }}
|
{{- . | toYaml | nindent 12 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if .Values.redis.persistence.enabled }}
|
{{- if .Values.redis.persistence.enabled }}
|
||||||
|
{{- with .Values.redis.persistence.retentionPolicy }}
|
||||||
|
persistentVolumeClaimRetentionPolicy:
|
||||||
|
{{- with .whenDeleted }}
|
||||||
|
whenDeleted: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .whenScaled }}
|
||||||
|
whenScaled: {{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
volumeClaimTemplates:
|
volumeClaimTemplates:
|
||||||
- metadata:
|
- metadata:
|
||||||
name: redis-data
|
name: redis-data
|
||||||
labels:
|
labels:
|
||||||
{{- include "ragflow.labels" . | nindent 10 }}
|
{{- include "ragflow.selectorLabels" . | nindent 10 }}
|
||||||
app.kubernetes.io/component: redis
|
app.kubernetes.io/component: redis
|
||||||
spec:
|
spec:
|
||||||
accessModes:
|
accessModes:
|
||||||
@@ -109,4 +118,4 @@ spec:
|
|||||||
selector:
|
selector:
|
||||||
matchLabels:
|
matchLabels:
|
||||||
{{- include "ragflow.selectorLabels" . | nindent 6 }}
|
{{- include "ragflow.selectorLabels" . | nindent 6 }}
|
||||||
app.kubernetes.io/component: redis
|
app.kubernetes.io/component: redis
|
||||||
|
|||||||
+62
-14
@@ -4,8 +4,10 @@ env:
|
|||||||
# Available options:
|
# Available options:
|
||||||
# - `elasticsearch` (default)
|
# - `elasticsearch` (default)
|
||||||
# - `infinity` (https://github.com/infiniflow/infinity)
|
# - `infinity` (https://github.com/infiniflow/infinity)
|
||||||
|
# - `opensearch` (https://github.com/opensearch-project/OpenSearch)
|
||||||
# DOC_ENGINE: elasticsearch
|
# DOC_ENGINE: elasticsearch
|
||||||
DOC_ENGINE: infinity
|
DOC_ENGINE: infinity
|
||||||
|
# DOC_ENGINE: opensearch
|
||||||
|
|
||||||
# The version of Elasticsearch.
|
# The version of Elasticsearch.
|
||||||
STACK_VERSION: "8.11.3"
|
STACK_VERSION: "8.11.3"
|
||||||
@@ -13,6 +15,10 @@ env:
|
|||||||
# The password for Elasticsearch
|
# The password for Elasticsearch
|
||||||
ELASTIC_PASSWORD: infini_rag_flow_helm
|
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
|
# The password for MySQL
|
||||||
MYSQL_PASSWORD: infini_rag_flow_helm
|
MYSQL_PASSWORD: infini_rag_flow_helm
|
||||||
# The database of the MySQL service to use
|
# The database of the MySQL service to use
|
||||||
@@ -27,13 +33,13 @@ env:
|
|||||||
REDIS_PASSWORD: infini_rag_flow_helm
|
REDIS_PASSWORD: infini_rag_flow_helm
|
||||||
|
|
||||||
# The RAGFlow Docker image to download.
|
# The RAGFlow Docker image to download.
|
||||||
# Defaults to the v0.19.0-slim edition, which is the RAGFlow Docker image without embedding models.
|
# Defaults to the v0.20.1-slim edition, which is the RAGFlow Docker image without embedding models.
|
||||||
RAGFLOW_IMAGE: infiniflow/ragflow:v0.19.0-slim
|
RAGFLOW_IMAGE: infiniflow/ragflow:v0.20.1-slim
|
||||||
#
|
#
|
||||||
# To download the RAGFlow Docker image with embedding models, uncomment the following line instead:
|
# To download the RAGFlow Docker image with embedding models, uncomment the following line instead:
|
||||||
# RAGFLOW_IMAGE: infiniflow/ragflow:v0.19.0
|
# RAGFLOW_IMAGE: infiniflow/ragflow:v0.20.1
|
||||||
#
|
#
|
||||||
# The Docker image of the v0.19.0 edition includes:
|
# The Docker image of the v0.20.1 edition includes:
|
||||||
# - Built-in embedding models:
|
# - Built-in embedding models:
|
||||||
# - BAAI/bge-large-zh-v1.5
|
# - BAAI/bge-large-zh-v1.5
|
||||||
# - BAAI/bge-reranker-v2-m3
|
# - BAAI/bge-reranker-v2-m3
|
||||||
@@ -62,7 +68,37 @@ env:
|
|||||||
# MAX_CONTENT_LENGTH: "134217728"
|
# MAX_CONTENT_LENGTH: "134217728"
|
||||||
# After making the change, ensure you update `client_max_body_size` in nginx/nginx.conf correspondingly.
|
# 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:
|
ragflow:
|
||||||
|
|
||||||
|
# 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:
|
deployment:
|
||||||
strategy:
|
strategy:
|
||||||
resources:
|
resources:
|
||||||
@@ -77,7 +113,7 @@ ragflow:
|
|||||||
infinity:
|
infinity:
|
||||||
image:
|
image:
|
||||||
repository: infiniflow/infinity
|
repository: infiniflow/infinity
|
||||||
tag: v0.6.0-dev3
|
tag: v0.6.0-dev5
|
||||||
storage:
|
storage:
|
||||||
className:
|
className:
|
||||||
capacity: 5Gi
|
capacity: 5Gi
|
||||||
@@ -100,6 +136,22 @@ elasticsearch:
|
|||||||
service:
|
service:
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
|
||||||
|
opensearch:
|
||||||
|
image:
|
||||||
|
repository: opensearchproject/opensearch
|
||||||
|
tag: 2.19.1
|
||||||
|
storage:
|
||||||
|
className:
|
||||||
|
capacity: 20Gi
|
||||||
|
deployment:
|
||||||
|
strategy:
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: "4"
|
||||||
|
memory: "16Gi"
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
minio:
|
minio:
|
||||||
image:
|
image:
|
||||||
repository: quay.io/minio/minio
|
repository: quay.io/minio/minio
|
||||||
@@ -135,6 +187,11 @@ redis:
|
|||||||
capacity: 5Gi
|
capacity: 5Gi
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
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:
|
deployment:
|
||||||
strategy:
|
strategy:
|
||||||
resources:
|
resources:
|
||||||
@@ -159,12 +216,3 @@ ingress:
|
|||||||
# - secretName: chart-example-tls
|
# - secretName: chart-example-tls
|
||||||
# hosts:
|
# hosts:
|
||||||
# - chart-example.local
|
# - chart-example.local
|
||||||
oidc:
|
|
||||||
enable: false
|
|
||||||
display_name: "OAuth2"
|
|
||||||
client_id: "your_client_id"
|
|
||||||
client_secret: "your_client_secret"
|
|
||||||
authorization_url: "https://your-oauth-provider.com/oauth/authorize"
|
|
||||||
token_url: "https://your-oauth-provider.com/oauth/token"
|
|
||||||
userinfo_url: "https://your-oauth-provider.com/oauth/userinfo"
|
|
||||||
redirect_uri: "https://your-app.com/v1/user/oauth/callback/oauth2"
|
|
||||||
|
|||||||
Reference in New Issue
Block a user