feat: 切换应用为1.7.1版本
This commit is contained in:
+2
-2
@@ -3,9 +3,9 @@ name: dify
|
|||||||
description: 用于在 Kubernetes 环境部署 Dify 应用的 Helm chart 文件。官网:https://github.com/langgenius/dify
|
description: 用于在 Kubernetes 环境部署 Dify 应用的 Helm chart 文件。官网:https://github.com/langgenius/dify
|
||||||
type: application
|
type: application
|
||||||
# 当前图表的版本,仅用于标识图表文件变更
|
# 当前图表的版本,仅用于标识图表文件变更
|
||||||
version: 0.1.2
|
version: 0.2.1
|
||||||
# 部署的主应用的版本;建议使用双引号包起来
|
# 部署的主应用的版本;建议使用双引号包起来
|
||||||
appVersion: "1.1.2"
|
appVersion: "1.7.1"
|
||||||
|
|
||||||
# 指定依赖的模板库,存在即生效
|
# 指定依赖的模板库,存在即生效
|
||||||
dependencies:
|
dependencies:
|
||||||
|
|||||||
@@ -21,8 +21,11 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.api.fullname" . }}
|
# app: {{ template "dify.api.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- if .Values.api.updateStrategy }}
|
||||||
|
strategy: {{- toYaml .Values.api.updateStrategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -35,11 +38,14 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.api.fullname" . }}
|
# app: {{ template "dify.api.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
{{ include "dify.ud.labels" . | indent 8 }}
|
{{ include "dify.ud.labels" . | indent 8 }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "dify.api.serviceAccountName" . }}
|
serviceAccountName: {{ include "dify.api.serviceAccountName" . }}
|
||||||
|
{{- if .Values.api.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.api.priorityClassName | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- if eq .Release.Name "dify"}}
|
{{- if eq .Release.Name "dify"}}
|
||||||
{{/*
|
{{/*
|
||||||
Disable service environment variables,
|
Disable service environment variables,
|
||||||
|
|||||||
+107
-31
@@ -2,7 +2,7 @@
|
|||||||
# Startup mode, 'api' starts the API server.
|
# Startup mode, 'api' starts the API server.
|
||||||
MODE: api
|
MODE: api
|
||||||
# The log level for the application. Supported values are `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`
|
# The log level for the application. Supported values are `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`
|
||||||
LOG_LEVEL: {{ .Values.api.logLevel }}
|
LOG_LEVEL: {{ .Values.api.logLevel | quote }}
|
||||||
# A secret key that is used for securely signing the session cookie and encrypting sensitive information on the database. You can generate a strong key using `openssl rand -base64 42`.
|
# A secret key that is used for securely signing the session cookie and encrypting sensitive information on the database. You can generate a strong key using `openssl rand -base64 42`.
|
||||||
# SECRET_KEY: {{ .Values.api.secretKey }}
|
# SECRET_KEY: {{ .Values.api.secretKey }}
|
||||||
# The base URL of console application web frontend, refers to the Console base URL of WEB service if console domain is
|
# The base URL of console application web frontend, refers to the Console base URL of WEB service if console domain is
|
||||||
@@ -104,7 +104,8 @@ LOG_LEVEL: {{ .Values.worker.logLevel | quote }}
|
|||||||
{{ include "dify.redis.config" . }}
|
{{ include "dify.redis.config" . }}
|
||||||
# The configurations of celery broker.
|
# The configurations of celery broker.
|
||||||
{{ include "dify.celery.config" . }}
|
{{ include "dify.celery.config" . }}
|
||||||
|
# The configurations of celery backend
|
||||||
|
CELERY_BACKEND: redis
|
||||||
{{ include "dify.storage.config" . }}
|
{{ include "dify.storage.config" . }}
|
||||||
# The Vector store configurations.
|
# The Vector store configurations.
|
||||||
{{ include "dify.vectordb.config" . }}
|
{{ include "dify.vectordb.config" . }}
|
||||||
@@ -125,19 +126,19 @@ CONSOLE_API_URL: {{ .Values.api.url.consoleApi | quote }}
|
|||||||
# example: http://udify.app
|
# example: http://udify.app
|
||||||
APP_API_URL: {{ .Values.api.url.appApi | quote }}
|
APP_API_URL: {{ .Values.api.url.appApi | quote }}
|
||||||
# The DSN for Sentry
|
# The DSN for Sentry
|
||||||
{{- include "dify.marketplace.config" . }}
|
|
||||||
{{- if and .Values.pluginDaemon.enabled .Values.pluginDaemon.marketplace.enabled .Values.pluginDaemon.marketplace.apiProxyEnabled }}
|
{{- if and .Values.pluginDaemon.enabled .Values.pluginDaemon.marketplace.enabled .Values.pluginDaemon.marketplace.apiProxyEnabled }}
|
||||||
|
MARKETPLACE_ENABLED: "true"
|
||||||
MARKETPLACE_API_URL: "/marketplace"
|
MARKETPLACE_API_URL: "/marketplace"
|
||||||
{{- else }}
|
{{- else }}
|
||||||
MARKETPLACE_API_URL: {{ .Values.api.url.marketplaceApi | quote }}
|
{{- include "dify.marketplace.config" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
MARKETPLACE_URL: {{ .Values.api.url.marketplace | quote }}
|
MARKETPLACE_URL: {{ .Values.api.url.marketplace | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- define "dify.db.config" -}}
|
{{- define "dify.db.config" -}}
|
||||||
{{- if .Values.externalPostgres.enabled }}
|
{{- if .Values.externalPostgres.enabled }}
|
||||||
# DB_USERNAME: {{ .Values.externalPostgres.username }}
|
# DB_USERNAME: {{ .Values.externalPostgres.username | quote }}
|
||||||
# DB_PASSWORD: {{ .Values.externalPostgres.password }}
|
# DB_PASSWORD: {{ .Values.externalPostgres.password | quote }}
|
||||||
DB_HOST: {{ .Values.externalPostgres.address }}
|
DB_HOST: {{ .Values.externalPostgres.address }}
|
||||||
DB_PORT: {{ .Values.externalPostgres.port | toString | quote }}
|
DB_PORT: {{ .Values.externalPostgres.port | toString | quote }}
|
||||||
DB_DATABASE: {{ .Values.externalPostgres.database.api | quote }}
|
DB_DATABASE: {{ .Values.externalPostgres.database.api | quote }}
|
||||||
@@ -145,10 +146,10 @@ DB_DATABASE: {{ .Values.externalPostgres.database.api | quote }}
|
|||||||
{{ with .Values.postgresql.global.postgresql.auth }}
|
{{ with .Values.postgresql.global.postgresql.auth }}
|
||||||
{{- if empty .username }}
|
{{- if empty .username }}
|
||||||
# DB_USERNAME: postgres
|
# DB_USERNAME: postgres
|
||||||
# DB_PASSWORD: {{ .postgresPassword }}
|
# DB_PASSWORD: {{ .postgresPassword | quote }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
# DB_USERNAME: {{ .username }}
|
# DB_USERNAME: {{ .username | quote }}
|
||||||
# DB_PASSWORD: {{ .password }}
|
# DB_PASSWORD: {{ .password | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if eq .Values.postgresql.architecture "replication" }}
|
{{- if eq .Values.postgresql.architecture "replication" }}
|
||||||
@@ -166,11 +167,11 @@ DB_DATABASE: {{ .Values.postgresql.global.postgresql.auth.database }}
|
|||||||
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss` and `google-storage`, Default: `local`
|
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss` and `google-storage`, Default: `local`
|
||||||
STORAGE_TYPE: s3
|
STORAGE_TYPE: s3
|
||||||
# The S3 storage configurations, only available when STORAGE_TYPE is `s3`.
|
# The S3 storage configurations, only available when STORAGE_TYPE is `s3`.
|
||||||
S3_ENDPOINT: {{ .Values.externalS3.endpoint }}
|
S3_ENDPOINT: {{ .Values.externalS3.endpoint | quote }}
|
||||||
S3_BUCKET_NAME: {{ .Values.externalS3.bucketName }}
|
S3_BUCKET_NAME: {{ .Values.externalS3.bucketName.api | quote }}
|
||||||
# S3_ACCESS_KEY: {{ .Values.externalS3.accessKey }}
|
# S3_ACCESS_KEY: {{ .Values.externalS3.accessKey | quote }}
|
||||||
# S3_SECRET_KEY: {{ .Values.externalS3.secretKey }}
|
# S3_SECRET_KEY: {{ .Values.externalS3.secretKey | quote }}
|
||||||
S3_REGION: {{ .Values.externalS3.region }}
|
S3_REGION: {{ .Values.externalS3.region | quote }}
|
||||||
{{- else if .Values.externalAzureBlobStorage.enabled }}
|
{{- else if .Values.externalAzureBlobStorage.enabled }}
|
||||||
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss` and `google-storage`, Default: `local`
|
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss` and `google-storage`, Default: `local`
|
||||||
STORAGE_TYPE: azure-blob
|
STORAGE_TYPE: azure-blob
|
||||||
@@ -184,36 +185,49 @@ AZURE_BLOB_ACCOUNT_URL: {{ .Values.externalAzureBlobStorage.url | quote }}
|
|||||||
STORAGE_TYPE: aliyun-oss
|
STORAGE_TYPE: aliyun-oss
|
||||||
# The OSS storage configurations, only available when STORAGE_TYPE is `aliyun-oss`.
|
# The OSS storage configurations, only available when STORAGE_TYPE is `aliyun-oss`.
|
||||||
ALIYUN_OSS_ENDPOINT: {{ .Values.externalOSS.endpoint | quote }}
|
ALIYUN_OSS_ENDPOINT: {{ .Values.externalOSS.endpoint | quote }}
|
||||||
ALIYUN_OSS_BUCKET_NAME: {{ .Values.externalOSS.bucketName | quote }}
|
ALIYUN_OSS_BUCKET_NAME: {{ .Values.externalOSS.bucketName.api | quote }}
|
||||||
# ALIYUN_OSS_ACCESS_KEY: {{ .Values.externalOSS.accessKey }}
|
# ALIYUN_OSS_ACCESS_KEY: {{ .Values.externalOSS.accessKey | quote }}
|
||||||
# ALIYUN_OSS_SECRET_KEY: {{ .Values.externalOSS.secretKey }}
|
# ALIYUN_OSS_SECRET_KEY: {{ .Values.externalOSS.secretKey | quote }}
|
||||||
ALIYUN_OSS_REGION: {{ .Values.externalOSS.region | quote }}
|
ALIYUN_OSS_REGION: {{ .Values.externalOSS.region | quote }}
|
||||||
ALIYUN_OSS_AUTH_VERSION: {{ .Values.externalOSS.authVersion | quote }}
|
ALIYUN_OSS_AUTH_VERSION: {{ .Values.externalOSS.authVersion | quote }}
|
||||||
ALIYUN_OSS_PATH: {{ .Values.externalOSS.path | quote }}
|
ALIYUN_OSS_PATH: {{ .Values.externalOSS.path | quote }}
|
||||||
{{- else if .Values.externalGCS.enabled }}
|
{{- else if .Values.externalGCS.enabled }}
|
||||||
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss` and `google-storage`, Default: `local`
|
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss` and `google-storage`, Default: `local`
|
||||||
STORAGE_TYPE: google-storage
|
STORAGE_TYPE: google-storage
|
||||||
GOOGLE_STORAGE_BUCKET_NAME: {{ .Values.externalGCS.bucketName }}
|
GOOGLE_STORAGE_BUCKET_NAME: {{ .Values.externalGCS.bucketName.api | quote }}
|
||||||
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: {{ .Values.externalGCS.serviceAccountJsonBase64 }}
|
# GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: {{ .Values.externalGCS.serviceAccountJsonBase64 | quote }}
|
||||||
{{- else if .Values.externalCOS.enabled }}
|
{{- else if .Values.externalCOS.enabled }}
|
||||||
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss`, `google-storage` and `tencent-cos`, Default: `local`
|
# The type of storage to use for storing user files. Supported values are `local`, `s3`, `azure-blob`, `aliyun-oss`, `google-storage` and `tencent-cos`, Default: `local`
|
||||||
STORAGE_TYPE: tencent-cos
|
STORAGE_TYPE: tencent-cos
|
||||||
# The name of the Tencent COS bucket to use for storing files.
|
# The name of the Tencent COS bucket to use for storing files.
|
||||||
TENCENT_COS_BUCKET_NAME: {{ .Values.externalCOS.bucketName }}
|
TENCENT_COS_BUCKET_NAME: {{ .Values.externalCOS.bucketName.api | quote }}
|
||||||
# The secret key to use for authenticating with the Tencent COS service.
|
# The secret key to use for authenticating with the Tencent COS service.
|
||||||
TENCENT_COS_SECRET_KEY: {{ .Values.externalCOS.secretKey }}
|
# TENCENT_COS_SECRET_KEY: {{ .Values.externalCOS.secretKey | quote }}
|
||||||
# The secret id to use for authenticating with the Tencent COS service.
|
# The secret id to use for authenticating with the Tencent COS service.
|
||||||
TENCENT_COS_SECRET_ID: {{ .Values.externalCOS.secretId }}
|
TENCENT_COS_SECRET_ID: {{ .Values.externalCOS.secretId | quote }}
|
||||||
# The region of the Tencent COS service.
|
# The region of the Tencent COS service.
|
||||||
TENCENT_COS_REGION: {{ .Values.externalCOS.region }}
|
TENCENT_COS_REGION: {{ .Values.externalCOS.region | quote }}
|
||||||
# The scheme of the Tencent COS service.
|
# The scheme of the Tencent COS service.
|
||||||
TENCENT_COS_SCHEME: {{ .Values.externalCOS.scheme }}
|
TENCENT_COS_SCHEME: {{ .Values.externalCOS.scheme | quote }}
|
||||||
|
{{- else if .Values.externalOBS.enabled }}
|
||||||
|
STORAGE_TYPE: huawei-obs
|
||||||
|
HUAWEI_OBS_SERVER: {{ .Values.externalOBS.endpoint | quote }}
|
||||||
|
HUAWEI_OBS_BUCKET_NAME: {{ .Values.externalOBS.bucketName.api | quote }}
|
||||||
|
# HUAWEI_OBS_ACCESS_KEY: {{ .Values.externalOBS.accessKey | quote }}
|
||||||
|
# HUAWEI_OBS_SECRET_KEY: {{ .Values.externalOBS.secretKey | quote }}
|
||||||
|
{{- else if .Values.externalTOS.enabled }}
|
||||||
|
STORAGE_TYPE: "volcengine-tos"
|
||||||
|
VOLCENGINE_TOS_ENDPOINT: {{ .Values.externalTOS.endpoint | quote }}
|
||||||
|
VOLCENGINE_TOS_REGION: {{ .Values.externalTOS.region | quote }}
|
||||||
|
VOLCENGINE_TOS_BUCKET_NAME: {{ .Values.externalTOS.bucketName.api | quote }}
|
||||||
|
VOLCENGINE_TOS_ACCESS_KEY: {{ .Values.externalTOS.accessKey | quote }}
|
||||||
|
# VOLCENGINE_TOS_SECRET_KEY: {{ .Values.externalTOS.secretKey | quote }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
# The type of storage to use for storing user files. Supported values are `local` and `s3` and `azure-blob`, Default: `local`
|
# The type of storage to use for storing user files. Supported values are `local` and `s3` and `azure-blob`, Default: `local`
|
||||||
STORAGE_TYPE: local
|
STORAGE_TYPE: local
|
||||||
# The path to the local storage directory, the directory relative the root path of API service codes or absolute path. Default: `storage` or `/home/john/storage`.
|
# The path to the local storage directory, the directory relative the root path of API service codes or absolute path. Default: `storage` or `/home/john/storage`.
|
||||||
# only available when STORAGE_TYPE is `local`.
|
# only available when STORAGE_TYPE is `local`.
|
||||||
STORAGE_LOCAL_PATH: {{ .Values.api.persistence.mountPath }}
|
STORAGE_LOCAL_PATH: {{ .Values.api.persistence.mountPath | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@@ -246,7 +260,11 @@ REDIS_DB: "0"
|
|||||||
# Use redis as the broker, and redis db 1 for celery broker.
|
# Use redis as the broker, and redis db 1 for celery broker.
|
||||||
{{- if .Values.externalRedis.enabled }}
|
{{- if .Values.externalRedis.enabled }}
|
||||||
{{- with .Values.externalRedis }}
|
{{- with .Values.externalRedis }}
|
||||||
# CELERY_BROKER_URL: {{ printf "redis://%s:%s@%s:%v/1" .username .password .host .port }}
|
{{- $scheme := "redis" }}
|
||||||
|
{{- if .useSSL }}
|
||||||
|
{{- $scheme = "rediss" }}
|
||||||
|
{{- end }}
|
||||||
|
# CELERY_BROKER_URL: {{ printf "%s://%s:%s@%s:%v/1" $scheme .username .password .host .port }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- else if .Values.redis.enabled }}
|
{{- else if .Values.redis.enabled }}
|
||||||
{{- $redisHost := printf "%s-redis-master" .Release.Name -}}
|
{{- $redisHost := printf "%s-redis-master" .Release.Name -}}
|
||||||
@@ -267,9 +285,9 @@ WEAVIATE_ENDPOINT: {{ .Values.externalWeaviate.endpoint | quote }}
|
|||||||
{{- else if .Values.externalQdrant.enabled }}
|
{{- else if .Values.externalQdrant.enabled }}
|
||||||
VECTOR_STORE: qdrant
|
VECTOR_STORE: qdrant
|
||||||
# The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`.
|
# The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`.
|
||||||
QDRANT_URL: {{ .Values.externalQdrant.endpoint }}
|
QDRANT_URL: {{ .Values.externalQdrant.endpoint | quote }}
|
||||||
# The Qdrant API key.
|
# The Qdrant API key.
|
||||||
# QDRANT_API_KEY: {{ .Values.externalQdrant.apiKey }}
|
# QDRANT_API_KEY: {{ .Values.externalQdrant.apiKey | quote }}
|
||||||
# The Qdrant clinet timeout setting.
|
# The Qdrant clinet timeout setting.
|
||||||
QDRANT_CLIENT_TIMEOUT: {{ .Values.externalQdrant.timeout | quote }}
|
QDRANT_CLIENT_TIMEOUT: {{ .Values.externalQdrant.timeout | quote }}
|
||||||
# The Qdrant client enable gRPC mode.
|
# The Qdrant client enable gRPC mode.
|
||||||
@@ -290,8 +308,8 @@ VECTOR_STORE: pgvector
|
|||||||
PGVECTOR_HOST: {{ .Values.externalPgvector.address }}
|
PGVECTOR_HOST: {{ .Values.externalPgvector.address }}
|
||||||
PGVECTOR_PORT: {{ .Values.externalPgvector.port | toString | quote }}
|
PGVECTOR_PORT: {{ .Values.externalPgvector.port | toString | quote }}
|
||||||
PGVECTOR_DATABASE: {{ .Values.externalPgvector.dbName }}
|
PGVECTOR_DATABASE: {{ .Values.externalPgvector.dbName }}
|
||||||
# DB_USERNAME: {{ .Values.externalPgvector.username }}
|
# DB_USERNAME: {{ .Values.externalPgvector.username | quote }}
|
||||||
# DB_PASSWORD: {{ .Values.externalPgvector.password }}
|
# DB_PASSWORD: {{ .Values.externalPgvector.password | quote }}
|
||||||
{{- else if .Values.externalTencentVectorDB.enabled }}
|
{{- else if .Values.externalTencentVectorDB.enabled }}
|
||||||
# tencent vector configurations, only available when VECTOR_STORE is `tencent`
|
# tencent vector configurations, only available when VECTOR_STORE is `tencent`
|
||||||
VECTOR_STORE: tencent
|
VECTOR_STORE: tencent
|
||||||
@@ -311,6 +329,13 @@ MYSCALE_PORT: {{ .Values.externalMyScaleDB.port | toString | quote }}
|
|||||||
# MYSCALE_PASSWORD: {{ .Values.externalMyScaleDB.password | quote }}
|
# MYSCALE_PASSWORD: {{ .Values.externalMyScaleDB.password | quote }}
|
||||||
MYSCALE_DATABASE: {{ .Values.externalMyScaleDB.database | quote }}
|
MYSCALE_DATABASE: {{ .Values.externalMyScaleDB.database | quote }}
|
||||||
MYSCALE_FTS_PARAMS: {{ .Values.externalMyScaleDB.ftsParams | quote }}
|
MYSCALE_FTS_PARAMS: {{ .Values.externalMyScaleDB.ftsParams | quote }}
|
||||||
|
{{- else if .Values.externalTableStore.enabled }}
|
||||||
|
# TableStore configurations, only available when VECTOR_STORE is `tablestore`
|
||||||
|
VECTOR_STORE: tablestore
|
||||||
|
TABLESTORE_ENDPOINT: {{ .Values.externalTableStore.endpoint | quote }}
|
||||||
|
TABLESTORE_INSTANCE_NAME: {{ .Values.externalTableStore.instanceName | quote }}
|
||||||
|
# TABLESTORE_ACCESS_KEY_ID: {{ .Values.externalTableStore.accessKeyId | quote }}
|
||||||
|
# TABLESTORE_ACCESS_KEY_SECRET: {{ .Values.externalTableStore.accessKeySecret | quote }}
|
||||||
{{- else if .Values.weaviate.enabled }}
|
{{- else if .Values.weaviate.enabled }}
|
||||||
# The type of vector store to use. Supported values are `weaviate`, `qdrant`, `milvus`.
|
# The type of vector store to use. Supported values are `weaviate`, `qdrant`, `milvus`.
|
||||||
VECTOR_STORE: weaviate
|
VECTOR_STORE: weaviate
|
||||||
@@ -456,6 +481,11 @@ server {
|
|||||||
}
|
}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
location /mcp {
|
||||||
|
proxy_pass http://{{ template "dify.api.fullname" .}}:{{ .Values.api.service.port }};
|
||||||
|
include proxy.conf;
|
||||||
|
}
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://{{ template "dify.web.fullname" .}}:{{ .Values.web.service.port }};
|
proxy_pass http://{{ template "dify.web.fullname" .}}:{{ .Values.web.service.port }};
|
||||||
include proxy.conf;
|
include proxy.conf;
|
||||||
@@ -524,7 +554,7 @@ cache_store_log none
|
|||||||
|
|
||||||
{{- define "dify.pluginDaemon.db.config" -}}
|
{{- define "dify.pluginDaemon.db.config" -}}
|
||||||
{{- if .Values.externalPostgres.enabled }}
|
{{- if .Values.externalPostgres.enabled }}
|
||||||
DB_HOST: {{ .Values.externalPostgres.address }}
|
DB_HOST: {{ .Values.externalPostgres.address | quote }}
|
||||||
DB_PORT: {{ .Values.externalPostgres.port | toString | quote }}
|
DB_PORT: {{ .Values.externalPostgres.port | toString | quote }}
|
||||||
DB_DATABASE: {{ .Values.externalPostgres.database.pluginDaemon | quote }}
|
DB_DATABASE: {{ .Values.externalPostgres.database.pluginDaemon | quote }}
|
||||||
{{- else if .Values.postgresql.enabled }}
|
{{- else if .Values.postgresql.enabled }}
|
||||||
@@ -537,10 +567,12 @@ DB_DATABASE: {{ .Values.externalPostgres.database.pluginDaemon | quote }}
|
|||||||
{{- define "dify.pluginDaemon.config" }}
|
{{- define "dify.pluginDaemon.config" }}
|
||||||
{{- include "dify.redis.config" . }}
|
{{- include "dify.redis.config" . }}
|
||||||
{{- include "dify.pluginDaemon.db.config" .}}
|
{{- include "dify.pluginDaemon.db.config" .}}
|
||||||
|
{{- include "dify.pluginDaemon.storage.config" .}}
|
||||||
SERVER_PORT: "5002"
|
SERVER_PORT: "5002"
|
||||||
PLUGIN_REMOTE_INSTALLING_HOST: "0.0.0.0"
|
PLUGIN_REMOTE_INSTALLING_HOST: "0.0.0.0"
|
||||||
PLUGIN_REMOTE_INSTALLING_PORT: "5003"
|
PLUGIN_REMOTE_INSTALLING_PORT: "5003"
|
||||||
MAX_PLUGIN_PACKAGE_SIZE: "52428800"
|
MAX_PLUGIN_PACKAGE_SIZE: "52428800"
|
||||||
|
PLUGIN_STORAGE_LOCAL_ROOT: {{ .Values.pluginDaemon.persistence.mountPath | quote }}
|
||||||
PLUGIN_WORKING_PATH: {{ printf "%s/cwd" .Values.pluginDaemon.persistence.mountPath | clean | quote }}
|
PLUGIN_WORKING_PATH: {{ printf "%s/cwd" .Values.pluginDaemon.persistence.mountPath | clean | quote }}
|
||||||
DIFY_INNER_API_URL: "http://{{ template "dify.api.fullname" . }}:{{ .Values.api.service.port }}"
|
DIFY_INNER_API_URL: "http://{{ template "dify.api.fullname" . }}:{{ .Values.api.service.port }}"
|
||||||
{{- include "dify.marketplace.config" . }}
|
{{- include "dify.marketplace.config" . }}
|
||||||
@@ -554,3 +586,47 @@ MARKETPLACE_API_URL: {{ .Values.api.url.marketplaceApi | quote }}
|
|||||||
MARKETPLACE_ENABLED: "false"
|
MARKETPLACE_ENABLED: "false"
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- define "dify.pluginDaemon.storage.config" -}}
|
||||||
|
{{- if and .Values.externalS3.enabled .Values.externalS3.bucketName.pluginDaemon }}
|
||||||
|
PLUGIN_STORAGE_TYPE: aws_s3
|
||||||
|
S3_USE_PATH_STYLE: {{ .Values.externalS3.pathStyle | toString | quote }}
|
||||||
|
S3_ENDPOINT: {{ .Values.externalS3.endpoint | quote }}
|
||||||
|
PLUGIN_STORAGE_OSS_BUCKET: {{ .Values.externalS3.bucketName.pluginDaemon | quote }}
|
||||||
|
AWS_REGION: {{ .Values.externalS3.region | quote }}
|
||||||
|
{{- else if and .Values.externalOSS.enabled .Values.externalOSS.bucketName.pluginDaemon }}
|
||||||
|
PLUGIN_STORAGE_TYPE: "aliyun_oss"
|
||||||
|
ALIYUN_OSS_REGION: {{ .Values.externalOSS.region | quote }}
|
||||||
|
ALIYUN_OSS_ENDPOINT: {{ .Values.externalOSS.endpoint | quote }}
|
||||||
|
PLUGIN_STORAGE_OSS_BUCKET: {{ .Values.externalOSS.bucketName.pluginDaemon | quote }}
|
||||||
|
ALIYUN_OSS_ACCESS_KEY_ID: {{ .Values.externalOSS.accessKey | quote }}
|
||||||
|
# ALIYUN_OSS_ACCESS_KEY_SECRET: {{ .Values.externalOSS.secretKey | quote }}
|
||||||
|
ALIYUN_OSS_AUTH_VERSION: {{ .Values.externalOSS.authVersion | quote }}
|
||||||
|
ALIYUN_OSS_PATH: {{ .Values.externalOSS.path | quote }}
|
||||||
|
{{- else if and .Values.externalGCS.enabled .Values.externalGCS.bucketName.pluginDaemon }}
|
||||||
|
PLUGIN_STORAGE_TYPE: "google-storage"
|
||||||
|
PLUGIN_STORAGE_OSS_BUCKET: {{ .Values.externalGCS.bucketName.pluginDaemon | quote }}
|
||||||
|
# GCS_CREDENTIALS: {{ .Values.externalGCS.serviceAccountJsonBase64 | quote }}
|
||||||
|
{{- else if and .Values.externalCOS.enabled .Values.externalCOS.bucketName.pluginDaemon }}
|
||||||
|
PLUGIN_STORAGE_TYPE: "tencent_cos"
|
||||||
|
TENCENT_COS_SECRET_ID: {{ .Values.externalCOS.secretId | quote }}
|
||||||
|
TENCENT_COS_REGION: {{ .Values.externalCOS.region | quote }}
|
||||||
|
PLUGIN_STORAGE_OSS_BUCKET: {{ .Values.externalCOS.bucketName.pluginDaemon | quote }}
|
||||||
|
{{- else if and .Values.externalOBS.enabled .Values.externalOBS.bucketName.pluginDaemon }}
|
||||||
|
PLUGIN_STORAGE_TYPE: "huawei-obs"
|
||||||
|
HUAWEI_OBS_SERVER: {{ .Values.externalOBS.endpoint | quote }}
|
||||||
|
PLUGIN_STORAGE_OSS_BUCKET: {{ .Values.externalOBS.bucketName.pluginDaemon | quote }}
|
||||||
|
HUAWEI_OBS_ACCESS_KEY: {{ .Values.externalOBS.accessKey | quote }}
|
||||||
|
# HUAWEI_OBS_SECRET_KEY: {{ .Values.externalOBS.secretKey | quote }}
|
||||||
|
{{- else if and .Values.externalTOS.enabled .Values.externalTOS.bucketName.pluginDaemon }}
|
||||||
|
PLUGIN_STORAGE_TYPE: "volcengine-tos"
|
||||||
|
PLUGIN_VOLCENGINE_TOS_ENDPOINT: {{ .Values.externalTOS.endpoint | quote }}
|
||||||
|
PLUGIN_VOLCENGINE_TOS_REGION: {{ .Values.externalTOS.region | quote }}
|
||||||
|
PLUGIN_STORAGE_OSS_BUCKET: {{ .Values.externalTOS.bucketName.pluginDaemon | quote }}
|
||||||
|
PLUGIN_VOLCENGINE_TOS_ACCESS_KEY: {{ .Values.externalTOS.accessKey | quote }}
|
||||||
|
# PLUGIN_VOLCENGINE_TOS_SECRET_KEY: {{ .Values.externalTOS.secretKey | quote }}
|
||||||
|
{{- else }}
|
||||||
|
PLUGIN_STORAGE_TYPE: local
|
||||||
|
STORAGE_LOCAL_PATH: {{ .Values.pluginDaemon.persistence.mountPath | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -70,6 +70,15 @@ AZURE_BLOB_ACCOUNT_KEY: {{ .Values.externalAzureBlobStorage.key | b64enc | quote
|
|||||||
{{- else if .Values.externalOSS.enabled }}
|
{{- else if .Values.externalOSS.enabled }}
|
||||||
ALIYUN_OSS_ACCESS_KEY: {{ .Values.externalOSS.accessKey | b64enc | quote }}
|
ALIYUN_OSS_ACCESS_KEY: {{ .Values.externalOSS.accessKey | b64enc | quote }}
|
||||||
ALIYUN_OSS_SECRET_KEY: {{ .Values.externalOSS.secretKey | b64enc | quote }}
|
ALIYUN_OSS_SECRET_KEY: {{ .Values.externalOSS.secretKey | b64enc | quote }}
|
||||||
|
{{- else if .Values.externalGCS.enabled }}
|
||||||
|
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: {{ .Values.externalGCS.serviceAccountJsonBase64 | b64enc | quote }}
|
||||||
|
{{- else if .Values.externalCOS.enabled }}
|
||||||
|
TENCENT_COS_SECRET_KEY: {{ .Values.externalCOS.secretKey| b64enc | quote }}
|
||||||
|
{{- else if .Values.externalOBS.enabled }}
|
||||||
|
HUAWEI_OBS_ACCESS_KEY: {{ .Values.externalOBS.accessKey | b64enc | quote }}
|
||||||
|
HUAWEI_OBS_SECRET_KEY: {{ .Values.externalOBS.secretKey | b64enc | quote }}
|
||||||
|
{{- else if .Values.externalTOS.enabled }}
|
||||||
|
VOLCENGINE_TOS_SECRET_KEY: {{ .Values.externalTOS.secretKey | b64enc | quote }}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
@@ -93,7 +102,11 @@ REDIS_PASSWORD: {{ .auth.password | b64enc | quote }}
|
|||||||
# Use redis as the broker, and redis db 1 for celery broker.
|
# Use redis as the broker, and redis db 1 for celery broker.
|
||||||
{{- if .Values.externalRedis.enabled }}
|
{{- if .Values.externalRedis.enabled }}
|
||||||
{{- with .Values.externalRedis }}
|
{{- with .Values.externalRedis }}
|
||||||
CELERY_BROKER_URL: {{ printf "redis://%s:%s@%s:%v/1" .username .password .host .port | b64enc | quote }}
|
{{- $scheme := "redis" }}
|
||||||
|
{{- if .useSSL }}
|
||||||
|
{{- $scheme = "rediss" }}
|
||||||
|
{{- end }}
|
||||||
|
CELERY_BROKER_URL: {{ printf "%s://%s:%s@%s:%v/1" $scheme .username .password .host .port | b64enc | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- else if .Values.redis.enabled }}
|
{{- else if .Values.redis.enabled }}
|
||||||
{{- $redisHost := printf "%s-redis-master" .Release.Name -}}
|
{{- $redisHost := printf "%s-redis-master" .Release.Name -}}
|
||||||
@@ -125,6 +138,9 @@ TENCENT_VECTOR_DB_API_KEY: {{ .Values.externalTencentVectorDB.apiKey | b64enc |
|
|||||||
{{- else if .Values.externalMyScaleDB.enabled}}
|
{{- else if .Values.externalMyScaleDB.enabled}}
|
||||||
MYSCALE_USER: {{ .Values.externalMyScaleDB.username | b64enc | quote }}
|
MYSCALE_USER: {{ .Values.externalMyScaleDB.username | b64enc | quote }}
|
||||||
MYSCALE_PASSWORD: {{ .Values.externalMyScaleDB.password | b64enc | quote }}
|
MYSCALE_PASSWORD: {{ .Values.externalMyScaleDB.password | b64enc | quote }}
|
||||||
|
{{- else if .Values.externalTableStore.enabled}}
|
||||||
|
TABLESTORE_ACCESS_KEY_ID: {{ .Values.externalTableStore.accessKeyId | b64enc | quote }}
|
||||||
|
TABLESTORE_ACCESS_KEY_SECRET: {{ .Values.externalTableStore.accessKeySecret | b64enc | quote }}
|
||||||
{{- else if .Values.weaviate.enabled }}
|
{{- else if .Values.weaviate.enabled }}
|
||||||
# The Weaviate API key.
|
# The Weaviate API key.
|
||||||
{{- if .Values.weaviate.authentication.apikey }}
|
{{- if .Values.weaviate.authentication.apikey }}
|
||||||
@@ -150,6 +166,24 @@ API_KEY: {{ .Values.sandbox.auth.apiKey | b64enc | quote }}
|
|||||||
{{- define "dify.pluginDaemon.credentials" -}}
|
{{- define "dify.pluginDaemon.credentials" -}}
|
||||||
{{ include "dify.db.credentials" . }}
|
{{ include "dify.db.credentials" . }}
|
||||||
{{ include "dify.redis.credentials" . }}
|
{{ include "dify.redis.credentials" . }}
|
||||||
|
{{ include "dify.pluginDaemon.storage.credentials" . }}
|
||||||
SERVER_KEY: {{ .Values.pluginDaemon.auth.serverKey | b64enc | quote }}
|
SERVER_KEY: {{ .Values.pluginDaemon.auth.serverKey | b64enc | quote }}
|
||||||
DIFY_INNER_API_KEY: {{ .Values.pluginDaemon.auth.difyApiKey | b64enc | quote }}
|
DIFY_INNER_API_KEY: {{ .Values.pluginDaemon.auth.difyApiKey | b64enc | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- define "dify.pluginDaemon.storage.credentials" -}}
|
||||||
|
{{- if and .Values.externalS3.enabled .Values.externalS3.bucketName.pluginDaemon }}
|
||||||
|
AWS_ACCESS_KEY: {{ .Values.externalS3.accessKey | b64enc | quote }}
|
||||||
|
AWS_SECRET_KEY: {{ .Values.externalS3.secretKey | b64enc | quote }}
|
||||||
|
{{- else if and .Values.externalOSS.enabled .Values.externalOSS.bucketName.pluginDaemon }}
|
||||||
|
ALIYUN_OSS_ACCESS_KEY_SECRET: {{ .Values.externalOSS.secretKey | b64enc | quote }}
|
||||||
|
{{- else if and .Values.externalGCS.enabled .Values.externalGCS.bucketName.pluginDaemon }}
|
||||||
|
GCS_CREDENTIALS: {{ .Values.externalGCS.serviceAccountJsonBase64 | b64enc | quote }}
|
||||||
|
{{- else if and .Values.externalCOS.enabled .Values.externalCOS.bucketName.pluginDaemon }}
|
||||||
|
TENCENT_COS_SECRET_KEY: {{ .Values.externalCOS.secretKey | b64enc | quote }}
|
||||||
|
{{- else if and .Values.externalOBS.enabled .Values.externalOBS.bucketName.pluginDaemon }}
|
||||||
|
HUAWEI_OBS_SECRET_KEY: {{ .Values.externalOBS.secretKey | b64enc | quote }}
|
||||||
|
{{- else if and .Values.externalTOS.enabled .Values.externalTOS.bucketName.pluginDaemon }}
|
||||||
|
PLUGIN_VOLCENGINE_TOS_SECRET_KEY: {{ .Values.externalTOS.secretKey | b64enc | quote }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -1,4 +1,13 @@
|
|||||||
{{- if and .Values.pluginDaemon.enabled}}
|
{{- if and .Values.pluginDaemon.enabled}}
|
||||||
|
{{- $usePvc := not (or
|
||||||
|
(and .Values.externalS3.enabled .Values.externalS3.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalOSS.enabled .Values.externalOSS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalGCS.enabled .Values.externalGCS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalCOS.enabled .Values.externalCOS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalOBS.enabled .Values.externalOBS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalTOS.enabled .Values.externalTOS.bucketName.pluginDaemon)
|
||||||
|
)
|
||||||
|
}}
|
||||||
apiVersion: apps/v1
|
apiVersion: apps/v1
|
||||||
kind: Deployment
|
kind: Deployment
|
||||||
metadata:
|
metadata:
|
||||||
@@ -20,8 +29,11 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.pluginDaemon.fullname" . }}
|
# app: {{ template "dify.pluginDaemon.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- if .Values.pluginDaemon.updateStrategy }}
|
||||||
|
strategy: {{- toYaml .Values.pluginDaemon.updateStrategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -34,11 +46,14 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.pluginDaemon.fullname" . }}
|
# app: {{ template "dify.pluginDaemon.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
{{ include "dify.ud.labels" . | indent 8 }}
|
{{ include "dify.ud.labels" . | indent 8 }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "dify.pluginDaemon.serviceAccountName" . }}
|
serviceAccountName: {{ include "dify.pluginDaemon.serviceAccountName" . }}
|
||||||
|
{{- if .Values.pluginDaemon.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.pluginDaemon.priorityClassName | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.image.pluginDaemon.pullSecrets }}
|
{{- if .Values.image.pluginDaemon.pullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.image.pluginDaemon.pullSecrets }}
|
{{- range .Values.image.pluginDaemon.pullSecrets }}
|
||||||
@@ -94,11 +109,11 @@ spec:
|
|||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.pluginDaemon.resources | nindent 12 }}
|
{{- toYaml .Values.pluginDaemon.resources | nindent 12 }}
|
||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: python-config
|
{{- if $usePvc }}
|
||||||
mountPath: /root/.config/pip
|
|
||||||
- name: app-data
|
- name: app-data
|
||||||
mountPath: {{ .Values.pluginDaemon.persistence.mountPath | quote }}
|
mountPath: {{ .Values.pluginDaemon.persistence.mountPath | quote }}
|
||||||
subPath: {{ .Values.pluginDaemon.persistence.persistentVolumeClaim.subPath | default "" }}
|
subPath: {{ .Values.pluginDaemon.persistence.persistentVolumeClaim.subPath | default "" }}
|
||||||
|
{{- end }}
|
||||||
{{- if and (.Values.nodeSelector) (not .Values.pluginDaemon.nodeSelector) }}
|
{{- if and (.Values.nodeSelector) (not .Values.pluginDaemon.nodeSelector) }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml .Values.nodeSelector | indent 8 }}
|
{{ toYaml .Values.nodeSelector | indent 8 }}
|
||||||
@@ -124,9 +139,9 @@ spec:
|
|||||||
{{ toYaml .Values.pluginDaemon.tolerations | indent 8 }}
|
{{ toYaml .Values.pluginDaemon.tolerations | indent 8 }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
volumes:
|
volumes:
|
||||||
- name: python-config
|
{{- if $usePvc }}
|
||||||
emptyDir: {}
|
|
||||||
- name: app-data
|
- name: app-data
|
||||||
persistentVolumeClaim:
|
persistentVolumeClaim:
|
||||||
claimName: {{ .Values.pluginDaemon.persistence.persistentVolumeClaim.existingClaim | default (printf "%s" (include "dify.pluginDaemon.fullname" . | trunc 58)) }}
|
claimName: {{ .Values.pluginDaemon.persistence.persistentVolumeClaim.existingClaim | default (printf "%s" (include "dify.pluginDaemon.fullname" . | trunc 58)) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -20,8 +20,11 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.nginx.fullname" . }}
|
# app: {{ template "dify.nginx.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- if .Values.proxy.updateStrategy }}
|
||||||
|
strategy: {{- toYaml .Values.proxy.updateStrategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -33,11 +36,14 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.nginx.fullname" . }}
|
# app: {{ template "dify.nginx.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
{{ include "dify.ud.labels" . | indent 8 }}
|
{{ include "dify.ud.labels" . | indent 8 }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "dify.proxy.serviceAccountName" . }}
|
serviceAccountName: {{ include "dify.proxy.serviceAccountName" . }}
|
||||||
|
{{- if .Values.proxy.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.proxy.priorityClassName | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.image.proxy.pullSecrets }}
|
{{- if .Values.image.proxy.pullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.image.proxy.pullSecrets }}
|
{{- range .Values.image.proxy.pullSecrets }}
|
||||||
|
|||||||
+19
-2
@@ -1,4 +1,12 @@
|
|||||||
{{- if not (or .Values.externalS3.enabled .Values.externalAzureBlobStorage.enabled .Values.externalOSS.enabled .Values.externalGCS.enabled .Values.externalCOS.enabled .Values.externalOBS.enabled) }}
|
{{- if not (or
|
||||||
|
.Values.externalS3.enabled
|
||||||
|
.Values.externalAzureBlobStorage.enabled
|
||||||
|
.Values.externalOSS.enabled
|
||||||
|
.Values.externalGCS.enabled
|
||||||
|
.Values.externalCOS.enabled
|
||||||
|
.Values.externalOBS.enabled
|
||||||
|
.Values.externalTOS.enabled
|
||||||
|
) }}
|
||||||
{{- $pvc := .Values.api.persistence.persistentVolumeClaim -}}
|
{{- $pvc := .Values.api.persistence.persistentVolumeClaim -}}
|
||||||
{{- if (not $pvc.existingClaim) }}
|
{{- if (not $pvc.existingClaim) }}
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -92,7 +100,15 @@ spec:
|
|||||||
|
|
||||||
{{- $pvc := .Values.pluginDaemon.persistence.persistentVolumeClaim -}}
|
{{- $pvc := .Values.pluginDaemon.persistence.persistentVolumeClaim -}}
|
||||||
{{- if and .Values.pluginDaemon.enabled (not $pvc.existingClaim) }}
|
{{- if and .Values.pluginDaemon.enabled (not $pvc.existingClaim) }}
|
||||||
|
{{- if not (or
|
||||||
|
(and .Values.externalS3.enabled .Values.externalS3.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalOSS.enabled .Values.externalOSS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalGCS.enabled .Values.externalGCS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalCOS.enabled .Values.externalCOS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalOBS.enabled .Values.externalOBS.bucketName.pluginDaemon)
|
||||||
|
(and .Values.externalTOS.enabled .Values.externalTOS.bucketName.pluginDaemon)
|
||||||
|
)
|
||||||
|
}}
|
||||||
---
|
---
|
||||||
|
|
||||||
apiVersion: v1
|
apiVersion: v1
|
||||||
@@ -119,3 +135,4 @@ spec:
|
|||||||
requests:
|
requests:
|
||||||
storage: {{ $pvc.size }}
|
storage: {{ $pvc.size }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|||||||
@@ -20,8 +20,11 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.sandbox.fullname" . }}
|
# app: {{ template "dify.sandbox.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- if .Values.sandbox.updateStrategy }}
|
||||||
|
strategy: {{- toYaml .Values.sandbox.updateStrategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -34,11 +37,14 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.sandbox.fullname" . }}
|
# app: {{ template "dify.sandbox.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
{{ include "dify.ud.labels" . | indent 8 }}
|
{{ include "dify.ud.labels" . | indent 8 }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "dify.sandbox.serviceAccountName" . }}
|
serviceAccountName: {{ include "dify.sandbox.serviceAccountName" . }}
|
||||||
|
{{- if .Values.sandbox.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.sandbox.priorityClassName | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.image.sandbox.pullSecrets }}
|
{{- if .Values.image.sandbox.pullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.image.sandbox.pullSecrets }}
|
{{- range .Values.image.sandbox.pullSecrets }}
|
||||||
@@ -95,8 +101,6 @@ spec:
|
|||||||
protocol: TCP
|
protocol: TCP
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.sandbox.resources | nindent 12 }}
|
{{- toYaml .Values.sandbox.resources | nindent 12 }}
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: {{ .Values.sandbox.privileged }}
|
|
||||||
{{- if and (.Values.nodeSelector) (not .Values.sandbox.nodeSelector) }}
|
{{- if and (.Values.nodeSelector) (not .Values.sandbox.nodeSelector) }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml .Values.nodeSelector | indent 8 }}
|
{{ toYaml .Values.nodeSelector | indent 8 }}
|
||||||
|
|||||||
@@ -20,8 +20,11 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.ssrfProxy.fullname" . }}
|
# app: {{ template "dify.ssrfProxy.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- if .Values.ssrfProxy.updateStrategy }}
|
||||||
|
strategy: {{- toYaml .Values.ssrfProxy.updateStrategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -33,11 +36,14 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.ssrfProxy.fullname" . }}
|
# app: {{ template "dify.ssrfProxy.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
{{ include "dify.ud.labels" . | indent 8 }}
|
{{ include "dify.ud.labels" . | indent 8 }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "dify.ssrfProxy.serviceAccountName" . }}
|
serviceAccountName: {{ include "dify.ssrfProxy.serviceAccountName" . }}
|
||||||
|
{{- if .Values.ssrfProxy.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.ssrfProxy.priorityClassName | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.image.ssrfProxy.pullSecrets }}
|
{{- if .Values.image.ssrfProxy.pullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.image.ssrfProxy.pullSecrets }}
|
{{- range .Values.image.ssrfProxy.pullSecrets }}
|
||||||
@@ -85,8 +91,6 @@ spec:
|
|||||||
{{- end }}
|
{{- end }}
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.ssrfProxy.resources | nindent 12 }}
|
{{- toYaml .Values.ssrfProxy.resources | nindent 12 }}
|
||||||
securityContext:
|
|
||||||
allowPrivilegeEscalation: {{ .Values.ssrfProxy.privileged }}
|
|
||||||
{{- if and (.Values.nodeSelector) (not .Values.ssrfProxy.nodeSelector) }}
|
{{- if and (.Values.nodeSelector) (not .Values.ssrfProxy.nodeSelector) }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml .Values.nodeSelector | indent 8 }}
|
{{ toYaml .Values.nodeSelector | indent 8 }}
|
||||||
|
|||||||
@@ -20,8 +20,11 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.web.fullname" . }}
|
# app: {{ template "dify.web.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- if .Values.web.updateStrategy }}
|
||||||
|
strategy: {{- toYaml .Values.web.updateStrategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -33,11 +36,15 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.web.fullname" . }}
|
# app: {{ template "dify.web.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
{{ include "dify.ud.labels" . | indent 8 }}
|
{{ include "dify.ud.labels" . | indent 8 }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "dify.web.serviceAccountName" . }}
|
serviceAccountName: {{ include "dify.web.serviceAccountName" . }}
|
||||||
|
{{- if .Values.web.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.web.priorityClassName | quote }}
|
||||||
|
{{- end }}
|
||||||
|
enableServiceLinks: {{ .Values.web.enableServiceLinks }}
|
||||||
{{- if .Values.image.web.pullSecrets }}
|
{{- if .Values.image.web.pullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.image.web.pullSecrets }}
|
{{- range .Values.image.web.pullSecrets }}
|
||||||
@@ -98,7 +105,6 @@ spec:
|
|||||||
protocol: TCP
|
protocol: TCP
|
||||||
resources:
|
resources:
|
||||||
{{- toYaml .Values.web.resources | nindent 12 }}
|
{{- toYaml .Values.web.resources | nindent 12 }}
|
||||||
enableServiceLinks: {{ .Values.web.enableServiceLinks }}
|
|
||||||
{{- if and (.Values.nodeSelector) (not .Values.web.nodeSelector) }}
|
{{- if and (.Values.nodeSelector) (not .Values.web.nodeSelector) }}
|
||||||
nodeSelector:
|
nodeSelector:
|
||||||
{{ toYaml .Values.nodeSelector | indent 8 }}
|
{{ toYaml .Values.nodeSelector | indent 8 }}
|
||||||
|
|||||||
@@ -21,8 +21,11 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.worker.fullname" . }}
|
# app: {{ template "dify.worker.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
|
{{- if .Values.worker.updateStrategy }}
|
||||||
|
strategy: {{- toYaml .Values.worker.updateStrategy | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
template:
|
template:
|
||||||
metadata:
|
metadata:
|
||||||
annotations:
|
annotations:
|
||||||
@@ -35,11 +38,14 @@ spec:
|
|||||||
{{/*
|
{{/*
|
||||||
# Required labels for istio
|
# Required labels for istio
|
||||||
# app: {{ template "dify.worker.fullname" . }}
|
# app: {{ template "dify.worker.fullname" . }}
|
||||||
# version: {{ (print "v" .Values.serviceMesh.version) | quote }}
|
# version: {{ .Values.istioServiceMesh.version | quote }}
|
||||||
*/}}
|
*/}}
|
||||||
{{ include "dify.ud.labels" . | indent 8 }}
|
{{ include "dify.ud.labels" . | indent 8 }}
|
||||||
spec:
|
spec:
|
||||||
serviceAccountName: {{ include "dify.worker.serviceAccountName" . }}
|
serviceAccountName: {{ include "dify.worker.serviceAccountName" . }}
|
||||||
|
{{- if .Values.worker.priorityClassName }}
|
||||||
|
priorityClassName: {{ .Values.worker.priorityClassName | quote }}
|
||||||
|
{{- end }}
|
||||||
{{- if .Values.image.api.pullSecrets }}
|
{{- if .Values.image.api.pullSecrets }}
|
||||||
imagePullSecrets:
|
imagePullSecrets:
|
||||||
{{- range .Values.image.api.pullSecrets }}
|
{{- range .Values.image.api.pullSecrets }}
|
||||||
@@ -59,6 +65,23 @@ spec:
|
|||||||
volumeMounts:
|
volumeMounts:
|
||||||
- name: python-config
|
- name: python-config
|
||||||
mountPath: /root/.config/pip
|
mountPath: /root/.config/pip
|
||||||
|
{{- if .Values.api.migration }}
|
||||||
|
- name: check-api
|
||||||
|
image: "{{ .Values.image.api.repository }}:{{ default .Chart.AppVersion .Values.image.api.tag }}"
|
||||||
|
command:
|
||||||
|
- sh
|
||||||
|
- -c
|
||||||
|
- |
|
||||||
|
until curl http://{{ template "dify.api.fullname" . }}:{{ .Values.api.service.port }}/health; do
|
||||||
|
echo "Waiting for API service to be available..."
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
envFrom:
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ template "dify.worker.fullname" . }}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ template "dify.worker.fullname" . }}
|
||||||
|
{{- end }}
|
||||||
containers:
|
containers:
|
||||||
- image: "{{ .Values.image.api.repository }}:{{ default .Chart.AppVersion .Values.image.api.tag }}"
|
- image: "{{ .Values.image.api.repository }}:{{ default .Chart.AppVersion .Values.image.api.tag }}"
|
||||||
imagePullPolicy: "{{ .Values.image.api.pullPolicy }}"
|
imagePullPolicy: "{{ .Values.image.api.pullPolicy }}"
|
||||||
|
|||||||
+103
-14
@@ -5,7 +5,7 @@
|
|||||||
image:
|
image:
|
||||||
api:
|
api:
|
||||||
repository: langgenius/dify-api
|
repository: langgenius/dify-api
|
||||||
tag: "1.1.2"
|
tag: "1.7.1"
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
## Optionally specify an array of imagePullSecrets.
|
## Optionally specify an array of imagePullSecrets.
|
||||||
## Secrets must be manually created in the namespace.
|
## Secrets must be manually created in the namespace.
|
||||||
@@ -13,9 +13,10 @@ image:
|
|||||||
##
|
##
|
||||||
# pullSecrets:
|
# pullSecrets:
|
||||||
# - myRegistryKeySecretName
|
# - myRegistryKeySecretName
|
||||||
|
|
||||||
web:
|
web:
|
||||||
repository: langgenius/dify-web
|
repository: langgenius/dify-web
|
||||||
tag: "1.1.2"
|
tag: "1.7.1"
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
## Optionally specify an array of imagePullSecrets.
|
## Optionally specify an array of imagePullSecrets.
|
||||||
## Secrets must be manually created in the namespace.
|
## Secrets must be manually created in the namespace.
|
||||||
@@ -23,9 +24,10 @@ image:
|
|||||||
##
|
##
|
||||||
# pullSecrets:
|
# pullSecrets:
|
||||||
# - myRegistryKeySecretName
|
# - myRegistryKeySecretName
|
||||||
|
|
||||||
sandbox:
|
sandbox:
|
||||||
repository: langgenius/dify-sandbox
|
repository: langgenius/dify-sandbox
|
||||||
tag: "0.2.10"
|
tag: "0.2.12"
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
## Optionally specify an array of imagePullSecrets.
|
## Optionally specify an array of imagePullSecrets.
|
||||||
## Secrets must be manually created in the namespace.
|
## Secrets must be manually created in the namespace.
|
||||||
@@ -33,6 +35,7 @@ image:
|
|||||||
##
|
##
|
||||||
# pullSecrets:
|
# pullSecrets:
|
||||||
# - myRegistryKeySecretName
|
# - myRegistryKeySecretName
|
||||||
|
|
||||||
proxy:
|
proxy:
|
||||||
repository: nginx
|
repository: nginx
|
||||||
tag: latest
|
tag: latest
|
||||||
@@ -57,7 +60,7 @@ image:
|
|||||||
|
|
||||||
pluginDaemon:
|
pluginDaemon:
|
||||||
repository: langgenius/dify-plugin-daemon
|
repository: langgenius/dify-plugin-daemon
|
||||||
tag: 0.0.6-local
|
tag: 0.2.0-local
|
||||||
pullPolicy: IfNotPresent
|
pullPolicy: IfNotPresent
|
||||||
## Optionally specify an array of imagePullSecrets.
|
## Optionally specify an array of imagePullSecrets.
|
||||||
## Secrets must be manually created in the namespace.
|
## Secrets must be manually created in the namespace.
|
||||||
@@ -65,6 +68,7 @@ image:
|
|||||||
##
|
##
|
||||||
# pullSecrets:
|
# pullSecrets:
|
||||||
# - myRegistryKeySecretName
|
# - myRegistryKeySecretName
|
||||||
|
|
||||||
python:
|
python:
|
||||||
repository: python
|
repository: python
|
||||||
tag: 3.12-slim
|
tag: 3.12-slim
|
||||||
@@ -83,6 +87,7 @@ api:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
affinity: {}
|
affinity: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
autoscaling:
|
autoscaling:
|
||||||
enabled: false
|
enabled: false
|
||||||
minReplicas: 1
|
minReplicas: 1
|
||||||
@@ -115,6 +120,9 @@ api:
|
|||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 5
|
failureThreshold: 5
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
|
## @param api.updateStrategy Update strategy type and configuration parameters
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy: {}
|
||||||
## @param api.customLivenessProbe Custom livenessProbe that overrides the default one
|
## @param api.customLivenessProbe Custom livenessProbe that overrides the default one
|
||||||
customLivenessProbe: {}
|
customLivenessProbe: {}
|
||||||
## @param api.customReadinessProbe Custom readinessProbe that overrides the default one
|
## @param api.customReadinessProbe Custom readinessProbe that overrides the default one
|
||||||
@@ -251,6 +259,7 @@ worker:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
affinity: {}
|
affinity: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
autoscaling:
|
autoscaling:
|
||||||
enabled: false
|
enabled: false
|
||||||
minReplicas: 1
|
minReplicas: 1
|
||||||
@@ -265,6 +274,9 @@ worker:
|
|||||||
customReadinessProbe: {}
|
customReadinessProbe: {}
|
||||||
## @param worker.customStartupProbe Custom startupProbe that overrides the default one
|
## @param worker.customStartupProbe Custom startupProbe that overrides the default one
|
||||||
customStartupProbe: {}
|
customStartupProbe: {}
|
||||||
|
## @param worker.updateStrategy Update strategy type and configuration parameters
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy: {}
|
||||||
# Configure Pods Security Context
|
# Configure Pods Security Context
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
# Configure Container Security Context
|
# Configure Container Security Context
|
||||||
@@ -307,6 +319,7 @@ proxy:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
affinity: {}
|
affinity: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
## Configure extra options for proxy containers' liveness, readiness, and startup probes
|
## Configure extra options for proxy containers' liveness, readiness, and startup probes
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
|
||||||
## @param proxy.customLivenessProbe Custom livenessProbe that overrides the default one
|
## @param proxy.customLivenessProbe Custom livenessProbe that overrides the default one
|
||||||
@@ -317,6 +330,9 @@ proxy:
|
|||||||
customStartupProbe: {}
|
customStartupProbe: {}
|
||||||
## @param proxy.clientMaxBodySize Custom client_max_body_size param nginx default: 15m
|
## @param proxy.clientMaxBodySize Custom client_max_body_size param nginx default: 15m
|
||||||
clientMaxBodySize: ""
|
clientMaxBodySize: ""
|
||||||
|
## @param proxy.updateStrategy Update strategy type and configuration parameters
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy: {}
|
||||||
# Configure Pods Security Context
|
# Configure Pods Security Context
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
# Configure Container Security Context
|
# Configure Container Security Context
|
||||||
@@ -376,6 +392,7 @@ web:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
affinity: {}
|
affinity: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
autoscaling:
|
autoscaling:
|
||||||
enabled: false
|
enabled: false
|
||||||
minReplicas: 1
|
minReplicas: 1
|
||||||
@@ -408,6 +425,9 @@ web:
|
|||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 5
|
failureThreshold: 5
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
|
## @param web.updateStrategy Update strategy type and configuration parameters
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy: {}
|
||||||
## @param web.customLivenessProbe Custom livenessProbe that overrides the default one
|
## @param web.customLivenessProbe Custom livenessProbe that overrides the default one
|
||||||
customLivenessProbe: {}
|
customLivenessProbe: {}
|
||||||
## @param web.customReadinessProbe Custom readinessProbe that overrides the default one
|
## @param web.customReadinessProbe Custom readinessProbe that overrides the default one
|
||||||
@@ -454,6 +474,7 @@ sandbox:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
affinity: {}
|
affinity: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
autoscaling:
|
autoscaling:
|
||||||
enabled: false
|
enabled: false
|
||||||
minReplicas: 1
|
minReplicas: 1
|
||||||
@@ -486,6 +507,9 @@ sandbox:
|
|||||||
timeoutSeconds: 5
|
timeoutSeconds: 5
|
||||||
failureThreshold: 2
|
failureThreshold: 2
|
||||||
successThreshold: 1
|
successThreshold: 1
|
||||||
|
## @param sandbox.updateStrategy Update strategy type and configuration parameters
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy: {}
|
||||||
## @param sandbox.customLivenessProbe Custom livenessProbe that overrides the default one
|
## @param sandbox.customLivenessProbe Custom livenessProbe that overrides the default one
|
||||||
customLivenessProbe: {}
|
customLivenessProbe: {}
|
||||||
## @param sandbox.customReadinessProbe Custom readinessProbe that overrides the default one
|
## @param sandbox.customReadinessProbe Custom readinessProbe that overrides the default one
|
||||||
@@ -509,7 +533,6 @@ sandbox:
|
|||||||
clusterIP: ""
|
clusterIP: ""
|
||||||
auth:
|
auth:
|
||||||
apiKey: "dify-sandbox"
|
apiKey: "dify-sandbox"
|
||||||
privileged: false
|
|
||||||
## Sandbox ServiceAccount configuration
|
## Sandbox ServiceAccount configuration
|
||||||
##
|
##
|
||||||
serviceAccount:
|
serviceAccount:
|
||||||
@@ -534,6 +557,7 @@ ssrfProxy:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
affinity: {}
|
affinity: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
## Configure extra options for ssrf proxy containers' liveness, readiness, and startup probes
|
## Configure extra options for ssrf proxy containers' liveness, readiness, and startup probes
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
|
||||||
## @param ssrfProxy.customLivenessProbe Custom livenessProbe that overrides the default one
|
## @param ssrfProxy.customLivenessProbe Custom livenessProbe that overrides the default one
|
||||||
@@ -542,6 +566,9 @@ ssrfProxy:
|
|||||||
customReadinessProbe: {}
|
customReadinessProbe: {}
|
||||||
## @param ssrfProxy.customStartupProbe Custom startupProbe that overrides the default one
|
## @param ssrfProxy.customStartupProbe Custom startupProbe that overrides the default one
|
||||||
customStartupProbe: {}
|
customStartupProbe: {}
|
||||||
|
## @param ssrfProxy.updateStrategy Update strategy type and configuration parameters
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy: {}
|
||||||
# Configure Pods Security Context
|
# Configure Pods Security Context
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
# Configure Container Security Context
|
# Configure Container Security Context
|
||||||
@@ -601,6 +628,7 @@ pluginDaemon:
|
|||||||
nodeSelector: {}
|
nodeSelector: {}
|
||||||
affinity: {}
|
affinity: {}
|
||||||
tolerations: []
|
tolerations: []
|
||||||
|
priorityClassName: ""
|
||||||
## Configure extra options for plugin daemon containers' liveness, readiness, and startup probes
|
## Configure extra options for plugin daemon containers' liveness, readiness, and startup probes
|
||||||
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
|
## ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure-probes
|
||||||
## @param pluginDaemon.customLivenessProbe Custom livenessProbe that overrides the default one
|
## @param pluginDaemon.customLivenessProbe Custom livenessProbe that overrides the default one
|
||||||
@@ -609,6 +637,9 @@ pluginDaemon:
|
|||||||
customReadinessProbe: {}
|
customReadinessProbe: {}
|
||||||
## @param pluginDaemon.customStartupProbe Custom startupProbe that overrides the default one
|
## @param pluginDaemon.customStartupProbe Custom startupProbe that overrides the default one
|
||||||
customStartupProbe: {}
|
customStartupProbe: {}
|
||||||
|
## @param pluginDaemon.updateStrategy Update strategy type and configuration parameters
|
||||||
|
## ref: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#strategy
|
||||||
|
updateStrategy: {}
|
||||||
# Configure Pods Security Context
|
# Configure Pods Security Context
|
||||||
podSecurityContext: {}
|
podSecurityContext: {}
|
||||||
# Configure Container Security Context
|
# Configure Container Security Context
|
||||||
@@ -630,6 +661,9 @@ pluginDaemon:
|
|||||||
serverKey: "lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi"
|
serverKey: "lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi"
|
||||||
# A separate key for interactions between `api`(`worker`) and `pluginDaemon`
|
# A separate key for interactions between `api`(`worker`) and `pluginDaemon`
|
||||||
difyApiKey: "QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1"
|
difyApiKey: "QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1"
|
||||||
|
## Storage for `pluginDaemon`
|
||||||
|
## Ignored if external object storage were configured via `.Values.externalS3` sections.
|
||||||
|
##
|
||||||
persistence:
|
persistence:
|
||||||
mountPath: "/app/storage"
|
mountPath: "/app/storage"
|
||||||
annotations:
|
annotations:
|
||||||
@@ -2996,13 +3030,16 @@ externalPostgres:
|
|||||||
externalS3:
|
externalS3:
|
||||||
enabled: false
|
enabled: false
|
||||||
endpoint: "https://xxx.r2.cloudflarestorage.com"
|
endpoint: "https://xxx.r2.cloudflarestorage.com"
|
||||||
|
pathStyle: false
|
||||||
accessKey: "ak-difyai"
|
accessKey: "ak-difyai"
|
||||||
secretKey: "sk-difyai"
|
secretKey: "sk-difyai"
|
||||||
useSSL: false
|
useSSL: false
|
||||||
bucketName: "difyai"
|
bucketName:
|
||||||
rootPath: ""
|
# Shared storage for `api` and `worker`
|
||||||
|
api: "difyai"
|
||||||
|
# If specifed, `pluginDaemon` will use this bucket instead of binding `PersistentVolume` for data persistence (only used when `externalS3.enabled` is set to `true`).
|
||||||
|
pluginDaemon:
|
||||||
useIAM: false
|
useIAM: false
|
||||||
iamEndpoint: ""
|
|
||||||
region: "us-east-1"
|
region: "us-east-1"
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
@@ -3026,7 +3063,10 @@ externalOSS:
|
|||||||
accessKey: "ak-difyai"
|
accessKey: "ak-difyai"
|
||||||
secretKey: "sk-difyai"
|
secretKey: "sk-difyai"
|
||||||
region: "ap-southeast-1"
|
region: "ap-southeast-1"
|
||||||
bucketName: "difyai"
|
bucketName:
|
||||||
|
api: "difyai"
|
||||||
|
# If specifed, `pluginDaemon` will use this bucket instead of binding `PersistentVolume` for data persistence (only used when `externalOSS.enabled` is set to `true`).
|
||||||
|
pluginDaemon:
|
||||||
authVersion: v4
|
authVersion: v4
|
||||||
path: "your-path"
|
path: "your-path"
|
||||||
|
|
||||||
@@ -3036,7 +3076,10 @@ externalOSS:
|
|||||||
###################################
|
###################################
|
||||||
externalGCS:
|
externalGCS:
|
||||||
enabled: false
|
enabled: false
|
||||||
bucketName: "difyai"
|
bucketName:
|
||||||
|
api: "difyai"
|
||||||
|
# If specifed, `pluginDaemon` will use this bucket instead of binding `PersistentVolume` for data persistence (only used when `externalGCS.enabled` is set to `true`).
|
||||||
|
pluginDaemon:
|
||||||
serviceAccountJsonBase64: ""
|
serviceAccountJsonBase64: ""
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
@@ -3048,7 +3091,10 @@ externalCOS:
|
|||||||
secretKey: "your-secret-key"
|
secretKey: "your-secret-key"
|
||||||
secretId: "your-secret-id"
|
secretId: "your-secret-id"
|
||||||
region: "your-region"
|
region: "your-region"
|
||||||
bucketName: "your-bucket-name"
|
bucketName:
|
||||||
|
api: "your-bucket-name"
|
||||||
|
# If specifed, `pluginDaemon` will use this bucket instead of binding `PersistentVolume` for data persistence (only used when `externalCOS.enabled` is set to `true`).
|
||||||
|
pluginDaemon:
|
||||||
scheme: "your-scheme"
|
scheme: "your-scheme"
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
@@ -3057,10 +3103,29 @@ externalCOS:
|
|||||||
###################################
|
###################################
|
||||||
externalOBS:
|
externalOBS:
|
||||||
enabled: false
|
enabled: false
|
||||||
|
endpoint: "https://your-endpoint"
|
||||||
|
accessKey: "your-secret-id"
|
||||||
secretKey: "your-secret-key"
|
secretKey: "your-secret-key"
|
||||||
secretId: "your-secret-id"
|
bucketName:
|
||||||
bucketName: "your-bucket-name"
|
api: "your-bucket-name"
|
||||||
server: "your-server"
|
# If specifed, `pluginDaemon` will use this bucket instead of binding `PersistentVolume` for data persistence (only used when `externalOBS.enabled` is set to `true`).
|
||||||
|
pluginDaemon:
|
||||||
|
|
||||||
|
###################################
|
||||||
|
# External Tinder Object Storage (TOS) from volcengine
|
||||||
|
# - these configs are only used when `externalS3.enabled` and `externalAzureBlobStorage.enabled` and `externalOSS.enabled` and `externalGCS.enabled` and `externalCOS.enabled` and `externalOBS.enabled` are false and `externalTOS.enabled` is true
|
||||||
|
###################################
|
||||||
|
externalTOS:
|
||||||
|
enabled: false
|
||||||
|
endpoint: "https://tos-cn-beijing.volces.com"
|
||||||
|
accessKey: "your-access-key"
|
||||||
|
secretKey: "your-secret-key"
|
||||||
|
bucketName:
|
||||||
|
# Shared storage for `api` and `worker`
|
||||||
|
api: "your-bucket-name"
|
||||||
|
# If specifed, `pluginDaemon` will use this bucket instead of binding `PersistentVolume` for data persistence (only used when `externalTOS.enabled` is set to `true`).
|
||||||
|
pluginDaemon:
|
||||||
|
region: "cn-beijing"
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
# External Redis
|
# External Redis
|
||||||
@@ -3133,3 +3198,27 @@ externalTencentVectorDB:
|
|||||||
database: "dify"
|
database: "dify"
|
||||||
shard: 1
|
shard: 1
|
||||||
replicas: 2
|
replicas: 2
|
||||||
|
|
||||||
|
###################################
|
||||||
|
# External MyScaleDB Vector DB
|
||||||
|
# - these configs take effect only if both `externalWeaviate.enabled`, `externalQdrant.enabled` and `externalMilvus.enabled` and `externalPgvector.enabled` and `externalTencentVectorDB.enabled` are set as `false` and `externalMyScaleDB.enabled` is `true`
|
||||||
|
###################################
|
||||||
|
externalMyScaleDB:
|
||||||
|
enabled: false
|
||||||
|
host: "myscale"
|
||||||
|
port: 8123
|
||||||
|
user: "default"
|
||||||
|
password: ""
|
||||||
|
database: "dify"
|
||||||
|
ftsParams: ""
|
||||||
|
|
||||||
|
###################################
|
||||||
|
# External TableStore Vector DB
|
||||||
|
# - these configs take effect only if both `externalWeaviate.enabled`, `externalQdrant.enabled` and `externalMilvus.enabled` and `externalPgvector.enabled` and `externalTencentVectorDB.enabled` and `externalMyScaleDB.enabled` are set as `false` and `externalTableStore.enabled` is `true`
|
||||||
|
###################################
|
||||||
|
externalTableStore:
|
||||||
|
enabled: false
|
||||||
|
endpoint: "endpoint"
|
||||||
|
instanceName: "instance-name"
|
||||||
|
accessKeyId: "your-secret-id"
|
||||||
|
accessKeySecret: "your-secret-key"
|
||||||
|
|||||||
Reference in New Issue
Block a user