Compare commits

...

56 Commits

Author SHA1 Message Date
James W.
e8838eaec8 Merge pull request #171 from jyje/v0.5.13 2025-02-18 06:15:13 -07:00
jyje
22a20ddd45 chore: update open-webui to v0.5.13 (chart 5.14.0)
- update open-webui
    - app: from v0.5.12 to v0.5.13
    - chart: from 5.13.0 to 5.14.0
- no dependency update (pipelines need to be update)
2025-02-18 15:28:27 +09:00
James W.
d08df9c494 Merge pull request #170 from open-webui/release-pipelines-v0.1.0
chore: Update docs and try to re-trigger v0.1.0 release
2025-02-14 12:09:23 -07:00
0xThresh.eth
aa4995bc86 chore: Update docs and try to re-trigger v0.1.0 release 2025-02-14 12:07:19 -07:00
James W.
2043936012 chore: update Helm Release action to latest version
https://github.com/marketplace/actions/helm-chart-releaser is now on 1.7.0, which resolved an issue with releasing multiple charts from the same repo in a single action run.
2025-02-14 11:05:34 -08:00
James W.
f2e5e4226c Merge pull request #146 from zadjadr/main
Allow to set OPENAI_API_BASE_URL manually
2025-02-14 11:47:21 -07:00
0xThresh.eth
c6d111535c Support single OpenAI API endpoint, multiple endpoints, with or without Pipelines 2025-02-14 11:43:06 -07:00
0xThresh.eth
0e28ac5b4e merge main 2025-02-14 11:07:02 -07:00
James W.
b2a5b3a331 Merge pull request #168 from jyje/0.5.12
Update open-webui to v0.5.12
2025-02-14 10:47:06 -07:00
jyje
51c2bb5937 chore: update open-webui to v0.5.12
- update open-webui
    - app: from v0.5.11 to v0.5.12
    - chart: from 5.11.0 to 5.12.0
- dependency update
    - ollama chart: from 1.4.1 to 1.5.0
2025-02-14 19:11:19 +09:00
James W.
771687760a Merge pull request #165 from jyje/0.5.11 2025-02-13 06:37:05 -07:00
jyje
be4ab2c29d chore: update open-webui to v0.5.11
- update open-webui
    - app: from v0.5.10 to v0.5.11
    - chart: from 5.10.0 to 5.11.0
- no dependency update
2025-02-13 22:17:56 +09:00
James W.
4ada4ac05a Merge pull request #162 from vinicinbgs/main 2025-02-12 17:13:39 -07:00
Vinicius Dutra
1e87660292 feat: enable annotations in redis pods 2025-02-10 17:59:20 -03:00
James W.
6ee6c9dc44 Merge pull request #160 from jyje/issue-158/update-ollama-chart
Fix example values for Ollama pull and run
2025-02-10 08:07:44 -07:00
jyje
021e958b5d chore(subchart/ollama): fix example values for pull and run 2025-02-10 20:43:40 +09:00
James W.
97d4e16f51 Merge pull request #157 from ido777/add_certificate
Add managed certificate support and update ingress configuration for GKE
2025-02-09 13:36:40 -07:00
Ido777
d23608a778 Clear ingress annotations in values.yaml for open-webui chart 2025-02-09 22:29:53 +02:00
Ido777
9c5db2ccd2 disabled managed certificate setting in values.yaml 2025-02-09 17:26:38 +02:00
Ido777
3d8db7dc34 Disable ingress in values.yaml for open-webui chart to minimize changes 2025-02-09 17:18:46 +02:00
Ido777
0e865418e8 Add managed certificate support and update ingress configuration for Open WebUI 2025-02-09 17:08:31 +02:00
0xThresh.eth
52f97fcb02 Update chart version, update documentation 2025-02-07 11:57:11 -07:00
0xThresh.eth
aced37379a Merge branch 'main' into zadjadr/main 2025-02-07 11:56:28 -07:00
Zadjad Rezai
7cc125f8cf Allow multiple configurations for OPENAI_API_BASE_URLS 2025-02-07 11:57:29 +00:00
James W.
8acfa719fe Merge pull request #155 from tuxtof/main 2025-02-06 09:32:29 -07:00
Christophe Jauffret
59048fd177 update open-webui to 0.5.10 2025-02-06 16:42:53 +01:00
Zadjad Rezai
eb466a6236 Allow to set OPENAI_API_BASE_URL manually 2025-01-20 09:53:55 +00:00
James W.
921af38848 Merge pull request #144 from open-webui/update-docs
Update docs and trigger release
2025-01-16 14:39:03 -07:00
0xThresh.eth
73268086eb Update docs and trigger release 2025-01-16 14:38:49 -07:00
James W.
2e13b26b94 Merge pull request #143 from open-webui/fix-chart-lock
Add Bitnami chart repo to GH Actions steps
2025-01-16 14:35:10 -07:00
0xThresh.eth
32797850cd Add Bitnami chart repo to GH Actions steps 2025-01-16 14:34:56 -07:00
James W.
30750a96ae Merge pull request #142 from open-webui/fix-chart-lock
Add Bitnami source for Redis
2025-01-16 14:33:17 -07:00
0xThresh.eth
f187ecd6fc Add Bitnami source for Redis 2025-01-16 14:28:50 -07:00
James W.
46068602fc Merge pull request #141 from open-webui/fix-chart-lock
Fix chart lock
2025-01-16 14:27:15 -07:00
0xThresh.eth
e49bd4d041 Fix chart lock 2025-01-16 14:24:41 -07:00
James W.
b3c486f5e6 Merge pull request #137 from jyje/feat/websocket-with-redis
Add redis for websocket
2025-01-16 10:05:08 -08:00
jyje
4421135184 chore(ci): bump a target chart version of open-webui to 5.4.0 2025-01-15 02:48:34 +09:00
jyje
9c9aae9660 Merge branch 'main' into feat/websocket-with-redis 2025-01-15 02:44:56 +09:00
James W.
15b9ccbf84 Merge pull request #138 from jyje/feat/add-extra-resources 2025-01-14 09:36:33 -08:00
jyje
961d895fe4 Merge branch 'main' into feat/add-extra-resources 2025-01-15 02:35:19 +09:00
jyje
972a24510c Merge branch 'main' into feat/websocket-with-redis 2025-01-15 02:34:05 +09:00
jyje
60864a365b chore(redis): bump a target chart version to 5.3.0 2025-01-15 02:30:31 +09:00
jyje
64160c1750 chore(websocket): bump a target chart version to 5.3.0 2025-01-15 02:29:16 +09:00
jyje
b894afc239 chore(websocket): fix full redis url 2025-01-12 02:49:06 +09:00
jyje
1e17c5651d chore(websocket): fix chart dependency 2025-01-12 02:20:14 +09:00
jyje
0ccce3cf5f feat(websocket): add redis-cluster from bitnami chart
- add values and corresponding readme
- add subchart **redis-20.6.2**
2025-01-12 01:34:50 +09:00
jyje
3b1bfc20d3 chore(websocket): fix enabled flag 2025-01-11 23:17:40 +09:00
jyje
51aab38029 chore(websocket): revert test lines for release workflows and refactor readme and values 2025-01-11 16:47:12 +09:00
jyje
535985967d feat(websocket): fix labels and annotations 2025-01-07 23:57:42 +09:00
jyje
f06ddd9f2f feat(websocket): change redis name and set container resources 2025-01-07 23:33:49 +09:00
jyje
9b13a7e2af feat(websocket): fix labels and port and remove security contexts 2025-01-07 22:27:29 +09:00
jyje
added76a4c feat(websocket): fix type of '_helpers.tpl' 2025-01-07 21:07:49 +09:00
jyje
1c072ce5bf feat(websocket): add envs and pilot of redis 2025-01-07 21:00:05 +09:00
jyje
72a324248a ci(test): enable chart release for test 2025-01-07 19:58:23 +09:00
jyje
069909c5f3 feat: add extra-resources for all owui and owui pipelines
- list of ConfigMaps, SealedSecrets, other CRDs
- no Secrets for secure GitOps
2025-01-07 17:00:20 +09:00
jyje
8ceb4ed675 Merge branch 'fix/skip-forked-release' 2025-01-07 12:30:06 +09:00
18 changed files with 604 additions and 23 deletions

View File

@@ -44,7 +44,6 @@ jobs:
release:
#needs: semantic-release
if: github.repository == 'open-webui/helm-charts'
permissions:
contents: write
packages: write
@@ -65,9 +64,10 @@ jobs:
helm repo add ollama https://otwld.github.io/ollama-helm/
helm repo add open-webui https://helm.openwebui.com/
helm repo add tika https://apache.jfrog.io/artifactory/tika/
helm repo add redis https://charts.bitnami.com/bitnami
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0
uses: helm/chart-releaser-action@v1.7.0
with:
skip_existing: false
packages_with_index: true

View File

@@ -30,6 +30,8 @@
- **Issues**: If you find any issues or have suggestions for improvements, please create a new issue in the repository before working on a Pull Request.
- **Actions Updates**: If your Pull Request includes adding a new chart dependency, ensure to make the necessary updates to Github Actions to add the chart repo dependency, or else the release run will fail.
## Getting Help
If you need any help or have questions about contributing, feel free to reach out to the maintainers of the repository.

View File

@@ -1,12 +1,15 @@
dependencies:
- name: ollama
repository: https://otwld.github.io/ollama-helm/
version: 1.1.2
version: 1.5.0
- name: pipelines
repository: https://helm.openwebui.com
version: 0.0.6
- name: tika
repository: https://apache.jfrog.io/artifactory/tika
version: 2.9.0
digest: sha256:b86b1f385a7f5ecd31f1d938aaa84384bdfc96cb1a173ca510c53aaeea845e3e
generated: "2024-12-27T09:05:35.551706-07:00"
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 20.7.0
digest: sha256:ecd7af79d60153ff14ef2a49dd1b95c40a93bf9a986a9ddc796f8cba2b6775dc
generated: "2025-02-14T19:09:29.33676+09:00"

View File

@@ -1,7 +1,7 @@
apiVersion: v2
name: open-webui
version: 5.2.0
appVersion: 0.5.4
version: 5.14.0
appVersion: 0.5.13
home: https://www.openwebui.com/
icon: >-
https://raw.githubusercontent.com/open-webui/open-webui/main/static/favicon.png
@@ -10,11 +10,13 @@ keywords:
- llm
- chat
- web-ui
- open-webui
sources:
- 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
- https://charts.bitnami.com/bitnami
annotations:
licenses: MIT
dependencies:
@@ -36,3 +38,8 @@ dependencies:
repository: https://apache.jfrog.io/artifactory/tika
version: '>=2.9.0'
condition: tika.enabled
- name: redis
repository: https://charts.bitnami.com/bitnami
version: '>=20.6.2'
alias: redis-cluster
condition: redis-cluster.enabled

View File

@@ -1,6 +1,6 @@
# open-webui
![Version: 5.1.1](https://img.shields.io/badge/Version-5.1.1-informational?style=flat-square) ![AppVersion: 0.5.4](https://img.shields.io/badge/AppVersion-0.5.4-informational?style=flat-square)
![Version: 5.14.0](https://img.shields.io/badge/Version-5.14.0-informational?style=flat-square) ![AppVersion: 0.5.13](https://img.shields.io/badge/AppVersion-0.5.13-informational?style=flat-square)
Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋
@@ -12,6 +12,7 @@ Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋
* <https://github.com/open-webui/open-webui/pkgs/container/open-webui>
* <https://github.com/otwld/ollama-helm/>
* <https://hub.docker.com/r/ollama/ollama>
* <https://charts.bitnami.com/bitnami>
## Installing
@@ -33,6 +34,7 @@ helm upgrade --install open-webui open-webui/open-webui
| Repository | Name | Version |
|------------|------|---------|
| https://apache.jfrog.io/artifactory/tika | tika | >=2.9.0 |
| https://charts.bitnami.com/bitnami | redis-cluster(redis) | >=20.6.2 |
| https://helm.openwebui.com | pipelines | >=0.0.1 |
| https://otwld.github.io/ollama-helm/ | ollama | >=0.24.0 |
@@ -47,23 +49,29 @@ helm upgrade --install open-webui open-webui/open-webui
| copyAppData.resources | object | `{}` | |
| extraEnvVars | list | `[{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}]` | Env vars added to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ |
| extraEnvVars[0] | object | `{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}` | Default API key value for Pipelines. Should be updated in a production deployment, or be changed to the required API key if not using Pipelines |
| extraResources | list | `[]` | Extra resources to deploy with Open WebUI |
| image | object | `{"pullPolicy":"IfNotPresent","repository":"ghcr.io/open-webui/open-webui","tag":""}` | Open WebUI image tags can be found here: https://github.com/open-webui/open-webui |
| imagePullSecrets | list | `[]` | Configure imagePullSecrets to use private registry ref: <https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry> |
| ingress.additionalHosts | list | `[]` | |
| ingress.annotations | object | `{}` | Use appropriate annotations for your Ingress controller, e.g., for NGINX: nginx.ingress.kubernetes.io/rewrite-target: / |
| ingress.annotations | object | `{}` | Use appropriate annotations for your Ingress controller, e.g., for NGINX: |
| ingress.class | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.existingSecret | string | `""` | |
| ingress.host | string | `""` | |
| ingress.host | string | `"chat.example.com"` | |
| ingress.tls | bool | `false` | |
| livenessProbe | object | `{}` | Probe for liveness of the Open WebUI container ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes> |
| managedCertificate.domains[0] | string | `"chat.example.com"` | |
| managedCertificate.enabled | bool | `false` | |
| managedCertificate.name | string | `"mydomain-chat-cert"` | |
| nameOverride | string | `""` | |
| namespaceOverride | 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 |
| ollama.fullnameOverride | string | `"open-webui-ollama"` | If enabling embedded Ollama, update fullnameOverride to your desired Ollama name value, or else it will use the default ollama.name value from the Ollama chart |
| 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. |
| openaiBaseApiUrl | string | `""` | OpenAI base API URL to use. Defaults to the Pipelines service endpoint when Pipelines are enabled, and "https://api.openai.com/v1" if Pipelines are not enabled and this value is blank |
| ollamaUrlsFromExtraEnv | bool | `false` | Disables taking Ollama Urls from `ollamaUrls` list |
| openaiBaseApiUrl | string | `"https://api.openai.com/v1"` | OpenAI base API URL to use. Defaults to the Pipelines service endpoint when Pipelines are enabled, and "https://api.openai.com/v1" if Pipelines are not enabled and this value is blank |
| openaiBaseApiUrls | list | `[]` | OpenAI base API URLs to use. Overwrites the value in openaiBaseApiUrl if set |
| persistence.accessModes | list | `["ReadWriteOnce"]` | If using multiple replicas, you must update accessModes to ReadWriteMany |
| persistence.annotations | object | `{}` | |
| persistence.enabled | bool | `true` | |
@@ -78,6 +86,13 @@ helm upgrade --install open-webui open-webui/open-webui
| podLabels | object | `{}` | |
| podSecurityContext | object | `{}` | Configure pod security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> |
| readinessProbe | object | `{}` | Probe for readiness of the Open WebUI container ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes> |
| redis-cluster | object | `{"auth":{"enabled":false},"enabled":false,"fullnameOverride":"open-webui-redis","replica":{"replicaCount":3}}` | Deploys a Redis cluster with subchart 'redis' from bitnami |
| redis-cluster.auth | object | `{"enabled":false}` | Redis Authentication |
| redis-cluster.auth.enabled | bool | `false` | Enable Redis authentication (disabled by default). For your security, we strongly suggest that you switch to 'auth.enabled=true' |
| redis-cluster.enabled | bool | `false` | Enable Redis installation |
| redis-cluster.fullnameOverride | string | `"open-webui-redis"` | Redis cluster name (recommended to be 'open-webui-redis') - In this case, redis url will be 'redis://open-webui-redis-master:6379/0' or 'redis://[:<password>@]open-webui-redis-master:6379/0' |
| redis-cluster.replica | object | `{"replicaCount":3}` | Replica configuration for the Redis cluster |
| redis-cluster.replica.replicaCount | int | `3` | Number of Redis replica instances |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| service | object | `{"annotations":{},"containerPort":8080,"labels":{},"loadBalancerClass":"","nodePort":"","port":80,"type":"ClusterIP"}` | Service values to expose Open WebUI pods to cluster |
@@ -92,6 +107,27 @@ helm upgrade --install open-webui open-webui/open-webui
| topologySpreadConstraints | list | `[]` | Topology Spread Constraints for pod assignment |
| volumeMounts | object | `{"container":[],"initContainer":[]}` | Configure container volume mounts ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/> |
| volumes | list | `[]` | Configure pod volumes ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/> |
| websocket.enabled | bool | `false` | Enables websocket support in Open WebUI with env `ENABLE_WEBSOCKET_SUPPORT` |
| websocket.manager | string | `"redis"` | Specifies the websocket manager to use with env `WEBSOCKET_MANAGER`: redis (default) |
| websocket.redis | object | `{"annotations":{},"args":[],"command":[],"enabled":true,"image":{"pullPolicy":"IfNotPresent","repository":"redis","tag":"7.4.2-alpine3.21"},"labels":{},"name":"open-webui-redis","pods":{"annotations":{}},"resources":{},"service":{"annotations":{},"containerPort":6379,"labels":{},"nodePort":"","port":6379,"type":"ClusterIP"}}` | Deploys a redis |
| websocket.redis.annotations | object | `{}` | Redis annotations |
| websocket.redis.args | list | `[]` | Redis arguments (overrides default) |
| websocket.redis.command | list | `[]` | Redis command (overrides default) |
| websocket.redis.enabled | bool | `true` | Enable redis installation |
| websocket.redis.image | object | `{"pullPolicy":"IfNotPresent","repository":"redis","tag":"7.4.2-alpine3.21"}` | Redis image |
| websocket.redis.labels | object | `{}` | Redis labels |
| websocket.redis.name | string | `"open-webui-redis"` | Redis name |
| websocket.redis.pods | object | `{"annotations":{}}` | Redis pod |
| websocket.redis.pods.annotations | object | `{}` | Redis pod annotations |
| websocket.redis.resources | object | `{}` | Redis resources |
| websocket.redis.service | object | `{"annotations":{},"containerPort":6379,"labels":{},"nodePort":"","port":6379,"type":"ClusterIP"}` | Redis service |
| websocket.redis.service.annotations | object | `{}` | Redis service annotations |
| websocket.redis.service.containerPort | int | `6379` | Redis container/target port |
| websocket.redis.service.labels | object | `{}` | Redis service labels |
| websocket.redis.service.nodePort | string | `""` | Redis service node port. Valid only when type is `NodePort` |
| websocket.redis.service.port | int | `6379` | Redis service port |
| websocket.redis.service.type | string | `"ClusterIP"` | Redis service type |
| websocket.url | string | `"redis://open-webui-redis:6379/0"` | Specifies the URL of the Redis instance for websocket communication. Template with `redis://[:<password>@]<hostname>:<port>/<db>` |
----------------------------------------------

Binary file not shown.

View File

@@ -152,4 +152,20 @@ Create the service endpoint to use for Pipelines if the subchart is used
{{- $pipelinesServicePort := .Values.pipelines.service.port | toString }}
{{- printf "http://%s.%s.svc.%s:%s" (include "pipelines.name" .) (.Release.Namespace) $clusterDomain $pipelinesServicePort }}
{{- end }}
{{- end }}
{{- end }}
{{/*
Create selector labels to include on chart all websocket resources
*/}}
{{- define "websocket.redis.selectorLabels" -}}
{{ include "base.selectorLabels" . }}
app.kubernetes.io/component: {{ .Values.websocket.redis.name }}
{{- end }}
{{/*
Create labels to include on chart all websocket resources
*/}}
{{- define "websocket.redis.labels" -}}
{{ include "base.labels" . }}
{{ include "websocket.redis.selectorLabels" . }}
{{- end }}

View File

@@ -0,0 +1,6 @@
{{- if .Values.extraResources }}
{{- range .Values.extraResources }}
---
{{ toYaml . | nindent 0 }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,11 @@
{{- if .Values.managedCertificate.enabled }}
apiVersion: networking.gke.io/v1
kind: ManagedCertificate
metadata:
name: {{ .Values.managedCertificate.name | default "mydomain-cert" }}
spec:
domains:
{{- range .Values.managedCertificate.domains }}
- {{ . | quote }}
{{- end }}
{{- end }}

View File

@@ -0,0 +1,75 @@
{{- if and .Values.websocket.enabled .Values.websocket.redis.enabled }}
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ .Values.websocket.redis.name }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "websocket.redis.labels" . | nindent 4 }}
{{- with .Values.websocket.redis.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
annotations:
{{- with .Values.websocket.redis.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
matchLabels:
{{- include "websocket.redis.selectorLabels" . | nindent 6 }}
template:
metadata:
labels:
{{- include "websocket.redis.labels" . | nindent 8 }}
annotations:
{{- with .Values.websocket.redis.pods.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
containers:
- name: {{ .Values.websocket.redis.name }}
image: "{{ .Values.websocket.redis.image.repository }}:{{ .Values.websocket.redis.image.tag }}"
imagePullPolicy: {{ .Values.websocket.redis.image.pullPolicy }}
{{- with .Values.websocket.redis.command }}
command:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.websocket.redis.args }}
args:
{{- toYaml . | nindent 10 }}
{{- end }}
ports:
- name: http
containerPort: {{ .Values.websocket.redis.service.containerPort }}
{{- with .Values.websocket.redis.resources }}
resources:
{{- toYaml . | nindent 10 }}
{{- end }}
---
apiVersion: v1
kind: Service
metadata:
name: {{ .Values.websocket.redis.name }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "websocket.redis.labels" . | nindent 4 }}
{{- with .Values.websocket.redis.labels }}
{{- toYaml . | nindent 4 }}
{{- end }}
annotations:
{{- with .Values.websocket.redis.service.annotations }}
{{- toYaml . | nindent 4 }}
{{- end }}
spec:
selector:
{{- include "websocket.redis.selectorLabels" . | nindent 4 }}
type: {{ .Values.websocket.redis.service.type | default "ClusterIP" }}
ports:
- protocol: TCP
name: http
port: {{ .Values.websocket.redis.service.port }}
targetPort: http
{{- if .Values.websocket.redis.service.nodePort }}
nodePort: {{ .Values.websocket.redis.service.nodePort | int }}
{{- end }}
{{- end }}

View File

@@ -113,18 +113,30 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
env:
{{- if or .Values.ollamaUrls .Values.ollama.enabled }}
{{- if .Values.ollamaUrlsFromExtraEnv}}
{{- else if or .Values.ollamaUrls .Values.ollama.enabled }}
- name: "OLLAMA_BASE_URLS"
value: {{ include "ollamaBaseUrls" . | quote }}
{{- else }}
- name: "ENABLE_OLLAMA_API"
value: "False"
{{- end }}
{{- if and .Values.openaiBaseApiUrl (not .Values.openaiBaseApiUrls) (not .Values.pipelines.enabled) }}
# If only an OpenAI API value is set, set it to OPENAI_API_BASE_URL
- name: "OPENAI_API_BASE_URL"
{{- if .Values.pipelines.enabled }}
value: {{ include "pipelines.serviceEndpoint" . }}
{{- else if .Values.openaiBaseApiUrl }}
value: {{ .Values.openaiBaseApiUrl | quote }}
{{- else if and .Values.openaiBaseApiUrl .Values.pipelines.enabled (not .Values.openaiBaseApiUrls) }}
# If Pipelines is enabled and OpenAI API value is set, use OPENAI_API_BASE_URLS with combined values
- name: "OPENAI_API_BASE_URLS"
value: "{{ include "pipelines.serviceEndpoint" . }};{{ .Values.openaiBaseApiUrl }}"
{{- else if and .Values.pipelines.enabled (not .Values.openaiBaseApiUrl) (not .Values.openaiBaseApiUrls) }}
# If Pipelines is enabled and no OpenAI API values are set, set OPENAI_API_BASE_URL to the Pipelines server endpoint
- name: "OPENAI_API_BASE_URL"
value: {{ include "pipelines.serviceEndpoint" . | quote }}
{{- else if and .Values.openaiBaseApiUrls .Values.pipelines.enabled }}
# If OpenAI API value(s) set and Pipelines is enabled, use OPENAI_API_BASE_URLS to support all the endpoints in the chart
- name: "OPENAI_API_BASE_URLS"
value: "{{ include "pipelines.serviceEndpoint" . }};{{ join ";" .Values.openaiBaseApiUrls }}"
{{- end }}
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}
@@ -135,6 +147,14 @@ spec:
- name: "TIKA_SERVER_URL"
value: http://{{ .Chart.Name }}-tika:9998
{{- end }}
{{- if .Values.websocket.enabled }}
- name: "ENABLE_WEBSOCKET_SUPPORT"
value: "True"
- name: "WEBSOCKET_MANAGER"
value: {{ .Values.websocket.manager | default "redis" | quote }}
- name: "WEBSOCKET_REDIS_URL"
value: {{ .Values.websocket.url | quote }}
{{- end }}
tty: true
{{- with .Values.nodeSelector }}
nodeSelector:

View File

@@ -0,0 +1,290 @@
nameOverride: ""
namespaceOverride: ""
ollama:
# -- 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
enabled: false
# -- If enabling embedded Ollama, update fullnameOverride to your desired Ollama name value, or else it will use the default ollama.name value from the Ollama chart
fullnameOverride: "open-webui-ollama"
# -- Example Ollama configuration with nvidia GPU enabled, automatically downloading a model, and deploying a PVC for model persistence
# ollama:
# gpu:
# enabled: true
# type: 'nvidia'
# number: 1
# models:
# - llama3
# runtimeClassName: nvidia
# persistentVolume:
# enabled: true
# volumeName: "example-pre-existing-pv-created-by-smb-csi"
pipelines:
# -- Automatically install Pipelines chart to extend Open WebUI functionality using Pipelines: https://github.com/open-webui/pipelines
enabled: false
# -- This section can be used to pass required environment variables to your pipelines (e.g. Langfuse hostname)
extraEnvVars: []
tika:
# -- Automatically install Apache Tika to extend Open WebUI
enabled: false
# -- A list of Ollama API endpoints. These can be added in lieu of automatically installing the Ollama Helm chart, or in addition to it.
ollamaUrls: []
websocket:
# -- Enables websocket support in Open WebUI with env `ENABLE_WEBSOCKET_SUPPORT`
enabled: false
# -- Specifies the websocket manager to use with env `WEBSOCKET_MANAGER`: redis (default)
manager: redis
# -- Specifies the URL of the Redis instance for websocket communication. Template with `redis://[:<password>@]<hostname>:<port>/<db>`
url: redis://open-webui-redis:6379/0
# -- Deploys a redis
redis:
# -- Enable redis installation
enabled: true
# -- Redis name
name: open-webui-redis
# -- Redis labels
labels: {}
# -- Redis annotations
annotations: {}
# -- Redis image
image:
repository: redis
tag: 7.4.2-alpine3.21
pullPolicy: IfNotPresent
# -- Redis command (overrides default)
command: []
# -- Redis arguments (overrides default)
args: []
# -- Redis resources
resources: {}
# -- Redis service
service:
# -- Redis container/target port
containerPort: 6379
# -- Redis service type
type: ClusterIP
# -- Redis service labels
labels: {}
# -- Redis service annotations
annotations: {}
# -- Redis service port
port: 6379
# -- Redis service node port. Valid only when type is `NodePort`
nodePort: ""
# -- Deploys a Redis cluster with subchart 'redis' from bitnami
redis-cluster:
# -- Enable Redis installation
enabled: false
# -- Redis cluster name (recommended to be 'open-webui-redis')
# - In this case, redis url will be 'redis://open-webui-redis-master:6379/0' or 'redis://[:<password>@]open-webui-redis-master:6379/0'
fullnameOverride: open-webui-redis
# -- Redis Authentication
auth:
# -- Enable Redis authentication (disabled by default). For your security, we strongly suggest that you switch to 'auth.enabled=true'
enabled: false
# -- Replica configuration for the Redis cluster
replica:
# -- Number of Redis replica instances
replicaCount: 3
# -- Value of cluster domain
clusterDomain: cluster.local
annotations: {}
podAnnotations: {}
podLabels: {}
replicaCount: 1
# -- Strategy for updating the workload manager: deployment or statefulset
strategy: {}
# -- Open WebUI image tags can be found here: https://github.com/open-webui/open-webui
image:
repository: ghcr.io/open-webui/open-webui
tag: ""
pullPolicy: "IfNotPresent"
serviceAccount:
enable: true
name: ""
annotations: {}
automountServiceAccountToken: false
# -- Configure imagePullSecrets to use private registry
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry>
imagePullSecrets: []
# imagePullSecrets:
# - name: myRegistryKeySecretName
# -- Probe for liveness of the Open WebUI container
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes>
livenessProbe: {}
# livenessProbe:
# httpGet:
# path: /health
# port: http
# failureThreshold: 1
# periodSeconds: 10
# -- Probe for readiness of the Open WebUI container
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes>
readinessProbe: {}
# readinessProbe:
# httpGet:
# path: /health/db
# port: http
# failureThreshold: 1
# periodSeconds: 10
# -- Probe for startup of the Open WebUI container
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes>
startupProbe: {}
# startupProbe:
# httpGet:
# path: /health
# port: http
# initialDelaySeconds: 30
# periodSeconds: 5
# failureThreshold: 20
resources: {}
copyAppData:
resources: {}
managedCertificate:
enabled: true
name: "mydomain-chat-cert" # You can override this name if needed
domains:
- chat.example.com # update to your real domain
ingress:
enabled: true
class: ""
# -- Use appropriate annotations for your Ingress controller, e.g., for NGINX:
annotations:
# Example for GKE Ingress
kubernetes.io/ingress.class: "gce"
kubernetes.io/ingress.global-static-ip-name: "open-webui-external-ip" # you need to create this address in GCP console
# Force HTTP to redirect to HTTPS
nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
nginx.ingress.kubernetes.io/ssl-redirect: "true"
nginx.ingress.kubernetes.io/permanent-redirect: "https://chat.example.com"
networking.gke.io/managed-certificates: "mydomain-chat-cert"
# nginx.ingress.kubernetes.io/rewrite-target: /
host: "chat.example.com" # update to your real domain
additionalHosts: []
tls: false
existingSecret: ""
persistence:
enabled: true
size: 2Gi
# -- Use existingClaim if you want to re-use an existing Open WebUI PVC instead of creating a new one
existingClaim: ""
# -- Subdirectory of Open WebUI PVC to mount. Useful if root directory is not empty.
subPath: ""
# -- 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: {}
# -- Topology Spread Constraints for pod assignment
topologySpreadConstraints: []
# -- Service values to expose Open WebUI pods to cluster
service:
type: LoadBalancer # changed from ClusterIP to LoadBalancer for external access on GKE
annotations: {}
port: 80
containerPort: 8080
nodePort: ""
labels: {}
loadBalancerClass: ""
# -- OpenAI base API URL to use. Defaults to the Pipelines service endpoint when Pipelines are enabled, and "https://api.openai.com/v1" if Pipelines are not enabled and this value is blank
openaiBaseApiUrl: ""
# -- Env vars added to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/
extraEnvVars:
# -- Default API key value for Pipelines. Should be updated in a production deployment, or be changed to the required API key if not using Pipelines
- name: OPENAI_API_KEY
value: "0p3n-w3bu!"
# valueFrom:
# secretKeyRef:
# name: pipelines-api-key
# key: api-key
# - name: OPENAI_API_KEY
# valueFrom:
# secretKeyRef:
# name: openai-api-key
# key: api-key
# - name: OLLAMA_DEBUG
# value: "1"
# -- Configure container volume mounts
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/>
volumeMounts:
initContainer: []
# - name: ""
# mountPath: ""
container: []
# - name: ""
# mountPath: ""
# -- Configure pod volumes
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/>
volumes: []
# - name: ""
# configMap:
# name: ""
# - name: ""
# emptyDir: {}
# -- Configure pod security context
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe>
podSecurityContext:
{}
# fsGroupChangePolicy: Always
# sysctls: []
# supplementalGroups: []
# fsGroup: 1001
# -- Configure container security context
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe>
containerSecurityContext:
{}
# runAsUser: 1001
# runAsGroup: 1001
# runAsNonRoot: true
# privileged: false
# allowPrivilegeEscalation: false
# readOnlyRootFilesystem: false
# capabilities:
# drop:
# - ALL
# seccompProfile:
# type: "RuntimeDefault"
# -- Extra resources to deploy with Open WebUI
extraResources:
[]
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: example-configmap
# data:
# example-key: example-value

View File

@@ -13,7 +13,10 @@ ollama:
# type: 'nvidia'
# number: 1
# models:
# - llama3
# pull:
# - llama3
# run:
# - llama3
# runtimeClassName: nvidia
# persistentVolume:
# enabled: true
@@ -32,6 +35,72 @@ tika:
# -- A list of Ollama API endpoints. These can be added in lieu of automatically installing the Ollama Helm chart, or in addition to it.
ollamaUrls: []
# -- Disables taking Ollama Urls from `ollamaUrls` list
ollamaUrlsFromExtraEnv: false
websocket:
# -- Enables websocket support in Open WebUI with env `ENABLE_WEBSOCKET_SUPPORT`
enabled: false
# -- Specifies the websocket manager to use with env `WEBSOCKET_MANAGER`: redis (default)
manager: redis
# -- Specifies the URL of the Redis instance for websocket communication. Template with `redis://[:<password>@]<hostname>:<port>/<db>`
url: redis://open-webui-redis:6379/0
# -- Deploys a redis
redis:
# -- Enable redis installation
enabled: true
# -- Redis name
name: open-webui-redis
# -- Redis labels
labels: {}
# -- Redis annotations
annotations: {}
# -- Redis pod
pods:
# -- Redis pod annotations
annotations: {}
# -- Redis image
image:
repository: redis
tag: 7.4.2-alpine3.21
pullPolicy: IfNotPresent
# -- Redis command (overrides default)
command: []
# -- Redis arguments (overrides default)
args: []
# -- Redis resources
resources: {}
# -- Redis service
service:
# -- Redis container/target port
containerPort: 6379
# -- Redis service type
type: ClusterIP
# -- Redis service labels
labels: {}
# -- Redis service annotations
annotations: {}
# -- Redis service port
port: 6379
# -- Redis service node port. Valid only when type is `NodePort`
nodePort: ""
# -- Deploys a Redis cluster with subchart 'redis' from bitnami
redis-cluster:
# -- Enable Redis installation
enabled: false
# -- Redis cluster name (recommended to be 'open-webui-redis')
# - In this case, redis url will be 'redis://open-webui-redis-master:6379/0' or 'redis://[:<password>@]open-webui-redis-master:6379/0'
fullnameOverride: open-webui-redis
# -- Redis Authentication
auth:
# -- Enable Redis authentication (disabled by default). For your security, we strongly suggest that you switch to 'auth.enabled=true'
enabled: false
# -- Replica configuration for the Redis cluster
replica:
# -- Number of Redis replica instances
replicaCount: 3
# -- Value of cluster domain
clusterDomain: cluster.local
@@ -95,13 +164,27 @@ resources: {}
copyAppData:
resources: {}
managedCertificate:
enabled: false
name: "mydomain-chat-cert" # You can override this name if needed
domains:
- chat.example.com # update to your real domain
ingress:
enabled: false
class: ""
# -- Use appropriate annotations for your Ingress controller, e.g., for NGINX:
# nginx.ingress.kubernetes.io/rewrite-target: /
# -- Use appropriate annotations for your Ingress controller, e.g., for NGINX:
annotations: {}
host: ""
# # Example for GKE Ingress
# kubernetes.io/ingress.class: "gce"
# kubernetes.io/ingress.global-static-ip-name: "open-webui-external-ip" # you need to create this address in GCP console
# # Force HTTP to redirect to HTTPS
# nginx.ingress.kubernetes.io/force-ssl-redirect: "true"
# nginx.ingress.kubernetes.io/ssl-redirect: "true"
# nginx.ingress.kubernetes.io/permanent-redirect: "https://chat.example.com"
# networking.gke.io/managed-certificates: "mydomain-chat-cert"
# # nginx.ingress.kubernetes.io/rewrite-target: /
host: "chat.example.com" # update to your real domain
additionalHosts: []
tls: false
existingSecret: ""
@@ -142,7 +225,12 @@ service:
loadBalancerClass: ""
# -- OpenAI base API URL to use. Defaults to the Pipelines service endpoint when Pipelines are enabled, and "https://api.openai.com/v1" if Pipelines are not enabled and this value is blank
openaiBaseApiUrl: ""
openaiBaseApiUrl: "https://api.openai.com/v1"
# -- OpenAI base API URLs to use. Overwrites the value in openaiBaseApiUrl if set
openaiBaseApiUrls: []
# - "https://api.openai.com/v1"
# - "https://api.company.openai.com/v1"
# -- Env vars added to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/
extraEnvVars:
@@ -205,3 +293,13 @@ containerSecurityContext:
# - ALL
# seccompProfile:
# type: "RuntimeDefault"
# -- Extra resources to deploy with Open WebUI
extraResources:
[]
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: example-configmap
# data:
# example-key: example-value

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: pipelines
version: 0.0.6
version: 0.1.0
appVersion: "alpha"
home: https://github.com/open-webui/pipelines

View File

@@ -1,6 +1,6 @@
# pipelines
![Version: 0.0.6](https://img.shields.io/badge/Version-0.0.6-informational?style=flat-square) ![AppVersion: alpha](https://img.shields.io/badge/AppVersion-alpha-informational?style=flat-square)
![Version: 0.1.0](https://img.shields.io/badge/Version-0.1.0-informational?style=flat-square) ![AppVersion: alpha](https://img.shields.io/badge/AppVersion-alpha-informational?style=flat-square)
Pipelines: UI-Agnostic OpenAI API Plugin Framework
@@ -35,6 +35,7 @@ helm upgrade --install open-webui open-webui/pipelines
| clusterDomain | string | `"cluster.local"` | Value of cluster domain |
| extraEnvVars | list | `[{"name":"PIPELINES_URLS","value":"https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py"}]` | 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[0] | object | `{"name":"PIPELINES_URLS","value":"https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py"}` | Example pipeline to pull and load on deployment startup, see current pipelines here: https://github.com/open-webui/pipelines/blob/main/examples |
| extraResources | list | `[]` | Extra resources to deploy with Open WebUI Pipelines |
| image.pullPolicy | string | `"Always"` | |
| image.repository | string | `"ghcr.io/open-webui/pipelines"` | |
| image.tag | string | `"main"` | |

View File

@@ -0,0 +1,6 @@
{{- if .Values.extraResources }}
{{- range .Values.extraResources }}
---
{{ toYaml . | nindent 0 }}
{{- end }}
{{- end }}

View File

@@ -87,3 +87,13 @@ extraEnvVars:
# key: secret-key
# - name: LANGFUSE_HOST
# value: https://us.cloud.langfuse.com
# -- Extra resources to deploy with Open WebUI Pipelines
extraResources:
[]
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: example-configmap
# data:
# example-key: example-value