mirror of
				https://github.com/open-webui/helm-charts
				synced 2025-06-26 18:16:14 +00:00 
			
		
		
		
	feat - add new chart for Pipelines
This commit is contained in:
		
							parent
							
								
									2c51864489
								
							
						
					
					
						commit
						d6aa262b7f
					
				
							
								
								
									
										20
									
								
								charts/pipelines/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								charts/pipelines/Chart.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,20 @@ | ||||
| apiVersion: v2 | ||||
| name: pipelines | ||||
| version: 0.0.1 | ||||
| appVersion: "alpha" | ||||
| 
 | ||||
| home: https://github.com/open-webui/pipelines | ||||
| icon: https://github.com/open-webui/pipelines/raw/main/header.png | ||||
| 
 | ||||
| description: "Pipelines: UI-Agnostic OpenAI API Plugin Framework" | ||||
| keywords: | ||||
|   - llm | ||||
|   - chat | ||||
|   - web-ui | ||||
| 
 | ||||
| sources: | ||||
|   - https://github.com/open-webui/helm-charts | ||||
|   - https://github.com/open-webui/pipelines/pkgs/container/pipelines | ||||
| 
 | ||||
| annotations: | ||||
|   licenses: MIT | ||||
							
								
								
									
										79
									
								
								charts/pipelines/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										79
									
								
								charts/pipelines/README.md
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,79 @@ | ||||
| # open-webui | ||||
| 
 | ||||
|   | ||||
| 
 | ||||
| Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋 | ||||
| 
 | ||||
| **Homepage:** <https://www.openwebui.com/> | ||||
| 
 | ||||
| ## Source Code | ||||
| 
 | ||||
| * <https://github.com/open-webui/helm-charts> | ||||
| * <https://github.com/open-webui/open-webui/pkgs/container/open-webui> | ||||
| * <https://github.com/otwld/ollama-helm/> | ||||
| * <https://hub.docker.com/r/ollama/ollama> | ||||
| 
 | ||||
| ## Installing | ||||
| 
 | ||||
| Before you can install, you need to add the `open-webui` repo to [Helm](https://helm.sh) | ||||
| 
 | ||||
| ```shell | ||||
| helm repo add open-webui https://helm.openwebui.com/ | ||||
| helm repo update | ||||
| ``` | ||||
| 
 | ||||
| Now you can install the chart: | ||||
| 
 | ||||
| ```shell | ||||
| helm upgrade --install open-webui open-webui/open-webui | ||||
| ``` | ||||
| 
 | ||||
| ## Requirements | ||||
| 
 | ||||
| | Repository | Name | Version | | ||||
| |------------|------|---------| | ||||
| | https://otwld.github.io/ollama-helm/ | ollama | >=0.24.0 | | ||||
| 
 | ||||
| ## Values | ||||
| 
 | ||||
| | Key | Type | Default | Description | | ||||
| |-----|------|---------|-------------| | ||||
| | affinity | object | `{}` | Affinity for pod assignment | | ||||
| | annotations | object | `{}` |  | | ||||
| | clusterDomain | string | `"cluster.local"` | Value of cluster domain | | ||||
| | extraEnvVars | list | `[]` | Additional environments variables on the output Deployment definition. | | ||||
| | image.pullPolicy | string | `"Always"` |  | | ||||
| | image.repository | string | `"ghcr.io/open-webui/open-webui"` |  | | ||||
| | image.tag | string | `""` |  | | ||||
| | ingress.annotations | object | `{}` | Use appropriate annotations for your Ingress controller, e.g., for NGINX: nginx.ingress.kubernetes.io/rewrite-target: / | | ||||
| | ingress.class | string | `""` |  | | ||||
| | ingress.enabled | bool | `false` |  | | ||||
| | ingress.existingSecret | string | `""` |  | | ||||
| | ingress.host | string | `""` |  | | ||||
| | ingress.tls | bool | `false` |  | | ||||
| | nameOverride | string | `""` |  | | ||||
| | nodeSelector | object | `{}` | Node labels for pod assignment. | | ||||
| | ollama.enabled | bool | `true` | Automatically install Ollama Helm chart from https://otwld.github.io/ollama-helm/. Use [Helm Values](https://github.com/otwld/ollama-helm/#helm-values) to configure | | ||||
| | ollamaUrls | list | `[]` | A list of Ollama API endpoints. These can be added in lieu of automatically installing the Ollama Helm chart, or in addition to it. | | ||||
| | persistence.accessModes | list | `["ReadWriteOnce"]` | If using multiple replicas, you must update accessModes to ReadWriteMany | | ||||
| | persistence.annotations | object | `{}` |  | | ||||
| | persistence.enabled | bool | `true` |  | | ||||
| | persistence.existingClaim | string | `""` |  | | ||||
| | persistence.selector | object | `{}` |  | | ||||
| | persistence.size | string | `"2Gi"` |  | | ||||
| | persistence.storageClass | string | `""` |  | | ||||
| | podAnnotations | object | `{}` |  | | ||||
| | replicaCount | int | `1` |  | | ||||
| | resources | object | `{}` |  | | ||||
| | service.annotations | object | `{}` |  | | ||||
| | service.containerPort | int | `8080` |  | | ||||
| | service.labels | object | `{}` |  | | ||||
| | service.loadBalancerClass | string | `""` |  | | ||||
| | service.nodePort | string | `""` |  | | ||||
| | service.port | int | `80` |  | | ||||
| | service.type | string | `"ClusterIP"` |  | | ||||
| | tolerations | list | `[]` | Tolerations for pod assignment | | ||||
| 
 | ||||
| ---------------------------------------------- | ||||
| 
 | ||||
| Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs/). | ||||
							
								
								
									
										36
									
								
								charts/pipelines/README.md.gotmpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								charts/pipelines/README.md.gotmpl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,36 @@ | ||||
| {{ template "chart.header" . }} | ||||
| 
 | ||||
| {{ template "chart.deprecationWarning" . }} | ||||
| 
 | ||||
| {{ template "chart.badgesSection" . }} | ||||
| 
 | ||||
| {{ template "chart.description" . }} | ||||
| 
 | ||||
| {{ template "chart.homepageLine" . }} | ||||
| 
 | ||||
| {{ template "chart.maintainersSection" . }} | ||||
| 
 | ||||
| {{ template "chart.sourcesSection" . }} | ||||
| 
 | ||||
| ## Installing | ||||
| 
 | ||||
| Before you can install, you need to add the `open-webui` repo to [Helm](https://helm.sh) | ||||
| 
 | ||||
| ```shell | ||||
| helm repo add open-webui https://helm.openwebui.com/ | ||||
| helm repo update | ||||
| ``` | ||||
| 
 | ||||
| Now you can install the chart: | ||||
| 
 | ||||
| ```shell | ||||
| helm upgrade --install open-webui open-webui/pipelines | ||||
| ``` | ||||
| 
 | ||||
| {{ template "chart.requirementsSection" . }} | ||||
| 
 | ||||
| {{ template "chart.valuesSection" . }} | ||||
| 
 | ||||
| ---------------------------------------------- | ||||
| 
 | ||||
| Autogenerated from chart metadata using [helm-docs](https://github.com/norwoodj/helm-docs/). | ||||
							
								
								
									
										29
									
								
								charts/pipelines/templates/_helpers.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								charts/pipelines/templates/_helpers.tpl
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| {{- define "pipelines.name" -}} | ||||
| {{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }} | ||||
| {{- end -}} | ||||
| 
 | ||||
| {{- define "chart.name" -}} | ||||
| {{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }} | ||||
| {{- end }} | ||||
| 
 | ||||
| {{- define "base.labels" -}} | ||||
| helm.sh/chart: {{ include "chart.name" . }} | ||||
| {{- if .Chart.AppVersion }} | ||||
| app.kubernetes.io/version: {{ .Chart.AppVersion | quote }} | ||||
| {{- end }} | ||||
| app.kubernetes.io/managed-by: {{ .Release.Service }} | ||||
| {{- end }} | ||||
| 
 | ||||
| {{- define "base.selectorLabels" -}} | ||||
| app.kubernetes.io/instance: {{ .Release.Name }} | ||||
| {{- end -}} | ||||
| 
 | ||||
| {{- define "pipelines.selectorLabels" -}} | ||||
| {{ include "base.selectorLabels" . }} | ||||
| app.kubernetes.io/component: {{ .Chart.Name }} | ||||
| {{- end }} | ||||
| 
 | ||||
| {{- define "pipelines.labels" -}} | ||||
| {{ include "base.labels" . }} | ||||
| {{ include "pipelines.selectorLabels" . }} | ||||
| {{- end }} | ||||
							
								
								
									
										108
									
								
								charts/pipelines/templates/deployment.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										108
									
								
								charts/pipelines/templates/deployment.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,108 @@ | ||||
| # Old manual manifest, used for reference  | ||||
| # apiVersion: apps/v1 | ||||
| # kind: Deployment | ||||
| # metadata: | ||||
| #   name: open-webui-pipelines | ||||
| # spec: | ||||
| #   replicas: 1 | ||||
| #   selector: | ||||
| #     matchLabels: | ||||
| #       app: open-webui-pipelines | ||||
| #   template: | ||||
| #     metadata: | ||||
| #       labels: | ||||
| #         app: open-webui-pipelines | ||||
| #     spec: | ||||
| #       containers: | ||||
| #         - name: open-webui-pipelines | ||||
| #           image: ghcr.io/open-webui/pipelines:main | ||||
| #           imagePullPolicy: Always | ||||
| #           env: | ||||
| #             - name: PIPELINES_URLS | ||||
| #               value: https://github.com/open-webui/pipelines/blob/main/examples/langfuse_filter_pipeline.py | ||||
| #             - name: LANGFUSE_HOST | ||||
| #               value: https://us.cloud.langfuse.com | ||||
| #             - name: LANGFUSE_PUBLIC_KEY | ||||
| #               valueFrom: | ||||
| #                 secretKeyRef: | ||||
| #                   name: langfuse-keys | ||||
| #                   key: public-key | ||||
| #             - name: LANGFUSE_SECRET_KEY | ||||
| #               valueFrom: | ||||
| #                 secretKeyRef: | ||||
| #                   name: langfuse-keys | ||||
| #                   key: secret-key | ||||
| #           ports: | ||||
| #             - containerPort: 9099 | ||||
| 
 | ||||
| apiVersion: apps/v1 | ||||
| kind: Deployment | ||||
| metadata: | ||||
|   name: {{ include "pipelines.name" . }} | ||||
|   labels: | ||||
|     {{- include "pipelines.labels" . | nindent 4 }} | ||||
|   {{- with .Values.annotations }} | ||||
|   annotations: | ||||
|     {{- toYaml . | nindent 4 }} | ||||
|   {{- end }} | ||||
| spec: | ||||
|   replicas: {{ .Values.replicaCount }} | ||||
|   selector: | ||||
|     matchLabels: | ||||
|       {{- include "pipelines.selectorLabels" . | nindent 6 }} | ||||
|   template: | ||||
|     metadata: | ||||
|       labels: | ||||
|         {{- include "pipelines.labels" . | nindent 8 }} | ||||
|       {{- with .Values.podAnnotations }} | ||||
|       annotations: | ||||
|         {{- toYaml . | nindent 8 }} | ||||
|       {{- end }} | ||||
|     spec: | ||||
|       enableServiceLinks: false | ||||
|       automountServiceAccountToken: false | ||||
|       containers: | ||||
|       - name: {{ .Chart.Name }} | ||||
|         {{- with .Values.image }} | ||||
|         image: {{ .repository }}:{{ .tag | default $.Chart.AppVersion }} | ||||
|         imagePullPolicy: {{ .pullPolicy }} | ||||
|         {{- end }} | ||||
|         ports: | ||||
|         - name: http | ||||
|           containerPort: {{ .Values.service.containerPort }} | ||||
|         {{- with .Values.resources }} | ||||
|         resources: {{- toYaml . | nindent 10 }} | ||||
|         {{- end }} | ||||
|         volumeMounts: | ||||
|         - name: data | ||||
|           mountPath: /app/backend/data | ||||
|         env: | ||||
|         {{- if .Values.extraEnvVars }} | ||||
|           {{- toYaml .Values.extraEnvVars | nindent 8 }} | ||||
|         {{- end }} | ||||
|         tty: true | ||||
|       {{- with .Values.nodeSelector }} | ||||
|       nodeSelector: | ||||
|         {{- toYaml . | nindent 8 }} | ||||
|       {{- end }} | ||||
|       {{- with .Values.tolerations }} | ||||
|       tolerations: | ||||
|         {{- toYaml . | nindent 8 }} | ||||
|       {{- end }} | ||||
|       {{- with .Values.affinity }} | ||||
|       affinity: | ||||
|         {{- toYaml . | nindent 8 }} | ||||
|       {{- end }} | ||||
|       volumes: | ||||
|       {{- if and .Values.persistence.enabled .Values.persistence.existingClaim }} | ||||
|       - name: data | ||||
|         persistentVolumeClaim: | ||||
|           claimName: {{ .Values.persistence.existingClaim }} | ||||
|       {{- else if not .Values.persistence.enabled }} | ||||
|       - name: data | ||||
|         emptyDir: {} | ||||
|       {{- else if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} | ||||
|       - name: data | ||||
|         persistentVolumeClaim: | ||||
|           claimName: {{ include "pipelines.name" . }} | ||||
|       {{- end }} | ||||
							
								
								
									
										27
									
								
								charts/pipelines/templates/pvc.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								charts/pipelines/templates/pvc.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,27 @@ | ||||
| {{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }} | ||||
| apiVersion: v1 | ||||
| kind: PersistentVolumeClaim | ||||
| metadata: | ||||
|   name: {{ include "pipelines.name" . }} | ||||
|   labels: | ||||
|     {{- include "pipelines.selectorLabels" . | nindent 4 }} | ||||
|   {{- with .Values.persistence.annotations }} | ||||
|   annotations: | ||||
|     {{- toYaml . | nindent 8 }} | ||||
|   {{- end }} | ||||
| spec: | ||||
|   accessModes: | ||||
|     {{- range .Values.persistence.accessModes }} | ||||
|     - {{ . | quote }} | ||||
|     {{- end }} | ||||
|   resources: | ||||
|     requests: | ||||
|       storage: {{ .Values.persistence.size }} | ||||
|   {{- if .Values.persistence.storageClass }} | ||||
|   storageClassName: {{ .Values.persistence.storageClass }} | ||||
|   {{- end }} | ||||
|   {{- with .Values.persistence.selector }} | ||||
|   selector: | ||||
|     {{- toYaml . | nindent 4 }} | ||||
|   {{- end }} | ||||
| {{- end }} | ||||
							
								
								
									
										29
									
								
								charts/pipelines/templates/service.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								charts/pipelines/templates/service.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,29 @@ | ||||
| apiVersion: v1 | ||||
| kind: Service | ||||
| metadata: | ||||
|   name: {{ include "pipelines.name" . }} | ||||
|   labels: | ||||
|     {{- include "pipelines.labels" . | nindent 4 }} | ||||
|     {{- with .Values.service.labels }} | ||||
|     {{- toYaml . | nindent 4 }} | ||||
|     {{- end }} | ||||
|   {{- with .Values.service.annotations }} | ||||
|   annotations: | ||||
|     {{- toYaml . | nindent 4 }} | ||||
|   {{- end }} | ||||
| spec: | ||||
|   selector: | ||||
|     {{- include "pipelines.selectorLabels" . | nindent 4 }} | ||||
|   type: {{ .Values.service.type | default "ClusterIP" }} | ||||
|   ports: | ||||
|   - protocol: TCP | ||||
|     name: http | ||||
|     port: {{ .Values.service.port }} | ||||
|     targetPort: http | ||||
|     {{- if .Values.service.nodePort }} | ||||
|     nodePort: {{ .Values.service.nodePort | int }} | ||||
|     {{- end }} | ||||
|   {{- if .Values.service.loadBalancerClass }} | ||||
|   loadBalancerClass: {{ .Values.service.loadBalancerClass | quote }} | ||||
|   {{- end }} | ||||
|    | ||||
							
								
								
									
										68
									
								
								charts/pipelines/values.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								charts/pipelines/values.yaml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,68 @@ | ||||
| nameOverride: "" | ||||
| 
 | ||||
| # -- Value of cluster domain | ||||
| clusterDomain: cluster.local | ||||
| 
 | ||||
| annotations: {} | ||||
| podAnnotations: {} | ||||
| replicaCount: 1 | ||||
| image: | ||||
|   repository: ghcr.io/open-webui/pipelines | ||||
|   tag: main | ||||
|   pullPolicy: Always | ||||
| resources: {} | ||||
| ingress: | ||||
|   enabled: true | ||||
|   class: "" | ||||
|   # -- Use appropriate annotations for your Ingress controller, e.g., for NGINX: | ||||
|   # nginx.ingress.kubernetes.io/rewrite-target: / | ||||
|   annotations: {} | ||||
|   host: "" | ||||
|   tls: false | ||||
|   existingSecret: "" | ||||
| persistence: | ||||
|   enabled: true | ||||
|   size: 2Gi | ||||
|   existingClaim: "" | ||||
|   # -- If using multiple replicas, you must update accessModes to ReadWriteMany | ||||
|   accessModes: | ||||
|     - ReadWriteOnce | ||||
|   storageClass: "" | ||||
|   selector: {} | ||||
|   annotations: {} | ||||
| 
 | ||||
| # -- Node labels for pod assignment. | ||||
| nodeSelector: {} | ||||
| 
 | ||||
| # -- Tolerations for pod assignment | ||||
| tolerations: [] | ||||
| 
 | ||||
| # -- Affinity for pod assignment | ||||
| affinity: {} | ||||
| 
 | ||||
| service: | ||||
|   type: ClusterIP | ||||
|   annotations: {} | ||||
|   port: 9099 | ||||
|   containerPort: 9099 | ||||
|   nodePort: "" | ||||
|   labels: {} | ||||
|   loadBalancerClass: "" | ||||
| 
 | ||||
| # -- Additional environments variables on the output Deployment definition. These are used to pull initial Pipeline files, and help configure Pipelines with required values (e.g. Langfuse API keys) | ||||
| extraEnvVars: | ||||
|   # -- Example pipeline to pull and load on deployment startup, see current pipelines here: https://github.com/open-webui/pipelines/blob/main/examples | ||||
|   - name: PIPELINES_URLS | ||||
|     value: "https://github.com/open-webui/pipelines/blob/main/examples/langfuse_filter_pipeline.py"   | ||||
|   - name: LANGFUSE_PUBLIC_KEY | ||||
|     valueFrom: | ||||
|       secretKeyRef:  | ||||
|         name: langfuse-keys | ||||
|         key: public-key | ||||
|   - name: LANGFUSE_SECRET_KEY | ||||
|     valueFrom: | ||||
|       secretKeyRef:  | ||||
|         name: langfuse-keys | ||||
|         key: secret-key | ||||
|   - name: LANGFUSE_HOST | ||||
|     value: https://us.cloud.langfuse.com | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user