- Unified configuration format: All services now use the same image configuration structure for consistency. - Private registry support: Added imagePullSecrets to enable pulling images from private registries. - Per-service flexibility: Each service can override image-related parameters independently. ### What problem does this PR solve? _Briefly describe what this PR aims to solve. Include background context that will help reviewers understand the purpose of the PR._ ### Type of change - [ ] Bug Fix (non-breaking change which fixes an issue) - [ ] New Feature (non-breaking change which adds functionality) - [ ] Documentation Update - [ ] Refactoring - [ ] Performance Improvement - [ ] Other (please describe):tags/v0.20.2
| checksum/config-es: {{ include (print $.Template.BasePath "/elasticsearch-config.yaml") . | sha256sum }} | checksum/config-es: {{ include (print $.Template.BasePath "/elasticsearch-config.yaml") . | sha256sum }} | ||||
| checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | ||||
| spec: | spec: | ||||
| {{- if or .Values.imagePullSecrets .Values.elasticsearch.image.pullSecrets }} | |||||
| imagePullSecrets: | |||||
| {{- with .Values.imagePullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- with .Values.elasticsearch.image.pullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- end }} | |||||
| initContainers: | initContainers: | ||||
| - name: fix-data-volume-permissions | - name: fix-data-volume-permissions | ||||
| image: alpine | |||||
| image: {{ .Values.elasticsearch.initContainers.alpine.repository }}:{{ .Values.elasticsearch.initContainers.alpine.tag }} | |||||
| {{- with .Values.elasticsearch.initContainers.alpine.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| command: | command: | ||||
| - sh | - sh | ||||
| - -c | - -c | ||||
| - mountPath: /usr/share/elasticsearch/data | - mountPath: /usr/share/elasticsearch/data | ||||
| name: es-data | name: es-data | ||||
| - name: sysctl | - name: sysctl | ||||
| image: busybox | |||||
| image: {{ .Values.elasticsearch.initContainers.busybox.repository }}:{{ .Values.elasticsearch.initContainers.busybox.tag }} | |||||
| {{- with .Values.elasticsearch.initContainers.busybox.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| securityContext: | securityContext: | ||||
| privileged: true | privileged: true | ||||
| runAsUser: 0 | runAsUser: 0 | ||||
| command: ["sysctl", "-w", "vm.max_map_count=262144"] | command: ["sysctl", "-w", "vm.max_map_count=262144"] | ||||
| containers: | containers: | ||||
| - name: elasticsearch | - name: elasticsearch | ||||
| image: elasticsearch:{{ .Values.env.STACK_VERSION }} | |||||
| image: {{ .Values.elasticsearch.image.repository }}:{{ .Values.elasticsearch.image.tag }} | |||||
| {{- with .Values.elasticsearch.image.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| envFrom: | envFrom: | ||||
| - secretRef: | - secretRef: | ||||
| name: {{ include "ragflow.fullname" . }}-env-config | name: {{ include "ragflow.fullname" . }}-env-config |
| annotations: | annotations: | ||||
| checksum/config: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | checksum/config: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | ||||
| spec: | spec: | ||||
| {{- if or .Values.imagePullSecrets .Values.infinity.image.pullSecrets }} | |||||
| imagePullSecrets: | |||||
| {{- with .Values.imagePullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- with .Values.infinity.image.pullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- end }} | |||||
| containers: | containers: | ||||
| - name: infinity | - name: infinity | ||||
| image: {{ .Values.infinity.image.repository }}:{{ .Values.infinity.image.tag }} | image: {{ .Values.infinity.image.repository }}:{{ .Values.infinity.image.tag }} | ||||
| {{- with .Values.infinity.image.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| envFrom: | envFrom: | ||||
| - secretRef: | - secretRef: | ||||
| name: {{ include "ragflow.fullname" . }}-env-config | name: {{ include "ragflow.fullname" . }}-env-config |
| {{- include "ragflow.labels" . | nindent 8 }} | {{- include "ragflow.labels" . | nindent 8 }} | ||||
| app.kubernetes.io/component: minio | app.kubernetes.io/component: minio | ||||
| spec: | spec: | ||||
| {{- if or .Values.imagePullSecrets .Values.minio.image.pullSecrets }} | |||||
| imagePullSecrets: | |||||
| {{- with .Values.imagePullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- with .Values.minio.image.pullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- end }} | |||||
| containers: | containers: | ||||
| - name: minio | - name: minio | ||||
| image: {{ .Values.minio.image.repository }}:{{ .Values.minio.image.tag }} | image: {{ .Values.minio.image.repository }}:{{ .Values.minio.image.tag }} | ||||
| {{- with .Values.minio.image.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| envFrom: | envFrom: | ||||
| - secretRef: | - secretRef: | ||||
| name: {{ include "ragflow.fullname" . }}-env-config | name: {{ include "ragflow.fullname" . }}-env-config |
| checksum/config-mysql: {{ include (print $.Template.BasePath "/mysql-config.yaml") . | sha256sum }} | checksum/config-mysql: {{ include (print $.Template.BasePath "/mysql-config.yaml") . | sha256sum }} | ||||
| checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | ||||
| spec: | spec: | ||||
| {{- if or .Values.imagePullSecrets .Values.mysql.image.pullSecrets }} | |||||
| imagePullSecrets: | |||||
| {{- with .Values.imagePullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- with .Values.mysql.image.pullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- end }} | |||||
| containers: | containers: | ||||
| - name: mysql | - name: mysql | ||||
| image: {{ .Values.mysql.image.repository }}:{{ .Values.mysql.image.tag }} | image: {{ .Values.mysql.image.repository }}:{{ .Values.mysql.image.tag }} | ||||
| {{- with .Values.mysql.image.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| envFrom: | envFrom: | ||||
| - secretRef: | - secretRef: | ||||
| name: {{ include "ragflow.fullname" . }}-env-config | name: {{ include "ragflow.fullname" . }}-env-config |
| checksum/config-opensearch: {{ include (print $.Template.BasePath "/opensearch-config.yaml") . | sha256sum }} | checksum/config-opensearch: {{ include (print $.Template.BasePath "/opensearch-config.yaml") . | sha256sum }} | ||||
| checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | ||||
| spec: | spec: | ||||
| {{- if or .Values.imagePullSecrets .Values.opensearch.image.pullSecrets }} | |||||
| imagePullSecrets: | |||||
| {{- with .Values.imagePullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- with .Values.opensearch.image.pullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- end }} | |||||
| initContainers: | initContainers: | ||||
| - name: fix-data-volume-permissions | - name: fix-data-volume-permissions | ||||
| image: alpine | |||||
| image: {{ .Values.opensearch.initContainers.alpine.repository }}:{{ .Values.opensearch.initContainers.alpine.tag }} | |||||
| {{- with .Values.opensearch.initContainers.alpine.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| command: | command: | ||||
| - sh | - sh | ||||
| - -c | - -c | ||||
| - mountPath: /usr/share/opensearch/data | - mountPath: /usr/share/opensearch/data | ||||
| name: opensearch-data | name: opensearch-data | ||||
| - name: sysctl | - name: sysctl | ||||
| image: busybox | |||||
| image: {{ .Values.opensearch.initContainers.busybox.repository }}:{{ .Values.opensearch.initContainers.busybox.tag }} | |||||
| {{- with .Values.opensearch.initContainers.busybox.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| securityContext: | securityContext: | ||||
| privileged: true | privileged: true | ||||
| runAsUser: 0 | runAsUser: 0 | ||||
| containers: | containers: | ||||
| - name: opensearch | - name: opensearch | ||||
| image: {{ .Values.opensearch.image.repository }}:{{ .Values.opensearch.image.tag }} | image: {{ .Values.opensearch.image.repository }}:{{ .Values.opensearch.image.tag }} | ||||
| {{- with .Values.opensearch.image.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| envFrom: | envFrom: | ||||
| - secretRef: | - secretRef: | ||||
| name: {{ include "ragflow.fullname" . }}-env-config | name: {{ include "ragflow.fullname" . }}-env-config |
| checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | ||||
| checksum/config-ragflow: {{ include (print $.Template.BasePath "/ragflow_config.yaml") . | sha256sum }} | checksum/config-ragflow: {{ include (print $.Template.BasePath "/ragflow_config.yaml") . | sha256sum }} | ||||
| spec: | spec: | ||||
| {{- if or .Values.imagePullSecrets .Values.ragflow.image.pullSecrets }} | |||||
| imagePullSecrets: | |||||
| {{- with .Values.imagePullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- with .Values.ragflow.image.pullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- end }} | |||||
| containers: | containers: | ||||
| - name: ragflow | - name: ragflow | ||||
| image: {{ .Values.env.RAGFLOW_IMAGE }} | |||||
| image: {{ .Values.ragflow.image.repository }}:{{ .Values.ragflow.image.tag }} | |||||
| {{- with .Values.ragflow.image.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| ports: | ports: | ||||
| - containerPort: 80 | - containerPort: 80 | ||||
| name: http | name: http |
| annotations: | annotations: | ||||
| checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | checksum/config-env: {{ include (print $.Template.BasePath "/env.yaml") . | sha256sum }} | ||||
| spec: | spec: | ||||
| {{- if or .Values.imagePullSecrets .Values.redis.image.pullSecrets }} | |||||
| imagePullSecrets: | |||||
| {{- with .Values.imagePullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- with .Values.redis.image.pullSecrets }} | |||||
| {{- toYaml . | nindent 8 }} | |||||
| {{- end }} | |||||
| {{- end }} | |||||
| terminationGracePeriodSeconds: 60 | terminationGracePeriodSeconds: 60 | ||||
| containers: | containers: | ||||
| - name: redis | - name: redis | ||||
| image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }} | image: {{ .Values.redis.image.repository }}:{{ .Values.redis.image.tag }} | ||||
| {{- with .Values.redis.image.pullPolicy }} | |||||
| imagePullPolicy: {{ . }} | |||||
| {{- end }} | |||||
| command: | command: | ||||
| - "sh" | - "sh" | ||||
| - "-c" | - "-c" |
| # Based on docker compose .env file | # Based on docker compose .env file | ||||
| # Global image pull secrets configuration | |||||
| imagePullSecrets: [] | |||||
| env: | env: | ||||
| # The type of doc engine to use. | # The type of doc engine to use. | ||||
| # Available options: | # Available options: | ||||
| # The password for Redis | # The password for Redis | ||||
| REDIS_PASSWORD: infini_rag_flow_helm | REDIS_PASSWORD: infini_rag_flow_helm | ||||
| # The RAGFlow Docker image to download. | |||||
| # Defaults to the v0.20.1-slim edition, which is the RAGFlow Docker image without embedding models. | |||||
| RAGFLOW_IMAGE: infiniflow/ragflow:v0.20.1-slim | |||||
| # | |||||
| # To download the RAGFlow Docker image with embedding models, uncomment the following line instead: | |||||
| # RAGFLOW_IMAGE: infiniflow/ragflow:v0.20.1 | |||||
| # | |||||
| # The Docker image of the v0.20.1 edition includes: | |||||
| # - Built-in embedding models: | |||||
| # - BAAI/bge-large-zh-v1.5 | |||||
| # - BAAI/bge-reranker-v2-m3 | |||||
| # - maidalun1020/bce-embedding-base_v1 | |||||
| # - maidalun1020/bce-reranker-base_v1 | |||||
| # - Embedding models that will be downloaded once you select them in the RAGFlow UI: | |||||
| # - BAAI/bge-base-en-v1.5 | |||||
| # - BAAI/bge-large-en-v1.5 | |||||
| # - BAAI/bge-small-en-v1.5 | |||||
| # - BAAI/bge-small-zh-v1.5 | |||||
| # - jinaai/jina-embeddings-v2-base-en | |||||
| # - jinaai/jina-embeddings-v2-small-en | |||||
| # - nomic-ai/nomic-embed-text-v1.5 | |||||
| # - sentence-transformers/all-MiniLM-L6-v2 | |||||
| # | |||||
| # | |||||
| # The local time zone. | # The local time zone. | ||||
| TIMEZONE: "Asia/Shanghai" | TIMEZONE: "Asia/Shanghai" | ||||
| EMBEDDING_BATCH_SIZE: 16 | EMBEDDING_BATCH_SIZE: 16 | ||||
| ragflow: | ragflow: | ||||
| image: | |||||
| repository: infiniflow/ragflow | |||||
| tag: v0.20.1-slim | |||||
| pullPolicy: IfNotPresent | |||||
| pullSecrets: [] | |||||
| # Optional service configuration overrides | # Optional service configuration overrides | ||||
| # to be written to local.service_conf.yaml | # to be written to local.service_conf.yaml | ||||
| # inside the RAGFlow container | # inside the RAGFlow container | ||||
| image: | image: | ||||
| repository: infiniflow/infinity | repository: infiniflow/infinity | ||||
| tag: v0.6.0-dev5 | tag: v0.6.0-dev5 | ||||
| pullPolicy: IfNotPresent | |||||
| pullSecrets: [] | |||||
| storage: | storage: | ||||
| className: | className: | ||||
| capacity: 5Gi | capacity: 5Gi | ||||
| type: ClusterIP | type: ClusterIP | ||||
| elasticsearch: | elasticsearch: | ||||
| image: | |||||
| repository: elasticsearch | |||||
| tag: "8.11.3" | |||||
| pullPolicy: IfNotPresent | |||||
| pullSecrets: [] | |||||
| initContainers: | |||||
| alpine: | |||||
| repository: alpine | |||||
| tag: latest | |||||
| pullPolicy: IfNotPresent | |||||
| busybox: | |||||
| repository: busybox | |||||
| tag: latest | |||||
| pullPolicy: IfNotPresent | |||||
| storage: | storage: | ||||
| className: | className: | ||||
| capacity: 20Gi | capacity: 20Gi | ||||
| image: | image: | ||||
| repository: opensearchproject/opensearch | repository: opensearchproject/opensearch | ||||
| tag: 2.19.1 | tag: 2.19.1 | ||||
| pullPolicy: IfNotPresent | |||||
| pullSecrets: [] | |||||
| initContainers: | |||||
| alpine: | |||||
| repository: alpine | |||||
| tag: latest | |||||
| pullPolicy: IfNotPresent | |||||
| busybox: | |||||
| repository: busybox | |||||
| tag: latest | |||||
| pullPolicy: IfNotPresent | |||||
| storage: | storage: | ||||
| className: | className: | ||||
| capacity: 20Gi | capacity: 20Gi | ||||
| image: | image: | ||||
| repository: quay.io/minio/minio | repository: quay.io/minio/minio | ||||
| tag: RELEASE.2023-12-20T01-00-02Z | tag: RELEASE.2023-12-20T01-00-02Z | ||||
| pullPolicy: IfNotPresent | |||||
| pullSecrets: [] | |||||
| storage: | storage: | ||||
| className: | className: | ||||
| capacity: 5Gi | capacity: 5Gi | ||||
| image: | image: | ||||
| repository: mysql | repository: mysql | ||||
| tag: 8.0.39 | tag: 8.0.39 | ||||
| pullPolicy: IfNotPresent | |||||
| pullSecrets: [] | |||||
| storage: | storage: | ||||
| className: | className: | ||||
| capacity: 5Gi | capacity: 5Gi | ||||
| image: | image: | ||||
| repository: valkey/valkey | repository: valkey/valkey | ||||
| tag: 8 | tag: 8 | ||||
| pullPolicy: IfNotPresent | |||||
| pullSecrets: [] | |||||
| storage: | storage: | ||||
| className: | className: | ||||
| capacity: 5Gi | capacity: 5Gi |