Compare commits

..

47 Commits

Author SHA1 Message Date
James W.
2ef9234739 Merge pull request #119 from open-webui/0.4.7
Update OWUI version, upgrade Ollama and Pipelines charts
2024-12-01 18:26:36 -07:00
0xThresh.eth
fc3a19b8d9 Update OWUI version, upgrade Ollama and Pipelines charts 2024-12-01 18:25:04 -07:00
James W.
f70f12a720 Merge pull request #114 from 0xmeyer/fix-copy-app-data-value
fix resources for copy-app-data init container
2024-12-01 18:22:07 -07:00
James W.
905073b392 Bump Pipelines chart version to release latest fixes 2024-12-01 17:20:04 -08:00
James W.
e2bb6c5ac4 Merge pull request #117 from alexnederlof/patch-2
Fix Pipelines persistance
2024-12-01 18:19:28 -07:00
James W.
3ac14d7ed7 Merge pull request #118 from alexnederlof/allow-pipieline-sa
Enable service accounts for pipelines chart
2024-12-01 18:19:07 -07:00
Alex Nederlof
f539153797 Enable service accounts for pipelines chart
Follow up from https://github.com/open-webui/helm-charts/pull/110
2024-11-29 07:43:42 +01:00
Alex Nederlof
5a9e030548 Fix Pipelines persistance
I might not fully understand, but currently the pipelines are not persisted between restarts because they are stored in `/app/piplines` which is not the current persistent volume. That one is `/app/backend/data`.

`/app/backend/data` is mentioned in [the Openweb-ui readme](0a26c41c7b/README.md (L90)) but I see no mention of it in the pipelines repo.
2024-11-28 20:45:52 +01:00
James W.
357d167f76 trigger release for recent fixes 2024-11-27 16:32:10 -07:00
James W.
3269b62733 Merge pull request #113 from zadjadr/fix/ci
Fix broken ServiceAccount & introduce automated testing via CI
2024-11-27 16:16:48 -07:00
Oliver Meyer
373b4c8042 fix resources for copy-app-data init container
Upgrading charts fail w/ 'Error: UPGRADE FAILED: template: open-webui/templates/workload-manager.yaml:47:24: executing open-webui/templates/workload-manager.yaml at <.Values.copyAppData.resources>: nil pointer evaluating interface {}.resources'
2024-11-26 07:45:46 +01:00
Zadjad Rezai
154753931e ci: Add checks for helm charts 2024-11-25 09:40:51 +00:00
Zadjad Rezai
b9cc6a30cc fix: serviceaccount token automount 2024-11-25 09:07:42 +00:00
0xThresh.eth
db99d5cafe feat: Release Open WebUI v4.0.4 2024-11-24 13:15:26 -07:00
0xThresh.eth
400512fc0e feat: Release Open WebUI v4.0.3 2024-11-24 13:14:08 -07:00
James W.
cf12b1d078 Merge pull request #110 from alexnederlof/allow-service-accounts
Allow service accounts
2024-11-24 13:11:01 -07:00
0xThresh.eth
746fe34aa1 Merge in main, change create to enable for consistency 2024-11-24 13:09:07 -07:00
0xThresh.eth
d0cf4abd11 Merge branch 'main' into alexnederlof-allow-service-accounts 2024-11-24 13:03:11 -07:00
James W.
2b83759321 Merge pull request #109 from maxupp/patch-1
fix: make copy-app-data resource quotas configurable
2024-11-24 12:58:48 -07:00
James W.
67adcc38e6 Merge branch 'main' into patch-1 2024-11-24 12:58:33 -07:00
James W.
831cc94d8d Merge pull request #112 from open-webui/v0.4.2
feat: Release OWUI v0.4.2
2024-11-24 12:55:25 -07:00
0xThresh.eth
83c5a02a28 Remove semantic release job for now 2024-11-24 12:54:21 -07:00
0xThresh.eth
145a5f5933 feat!: Release Open WebUI v0.4.2 2024-11-24 12:53:38 -07:00
0xThresh.eth
1931f3ea06 feat!: Release Open WebUI v0.4.1 2024-11-24 12:52:01 -07:00
James W.
45d5c2a26e Merge pull request #111 from open-webui/v4.0.0
feat!: Release v0.4.0 and upgrade Ollama
2024-11-24 12:48:56 -07:00
0xThresh.eth
b1e7ce6cea Upgrade Ollama 2024-11-24 12:42:58 -07:00
0xThresh.eth
f71d21d5e4 feat!: Release v4.0.0 the right way 2024-11-24 12:30:28 -07:00
0xThresh
30707d473d chore(release) bump version to 3.8.0 2024-11-24 19:27:56 +00:00
James W.
01fd07172c Merge pull request #106 from zadjadr/zadjadr/ingress
feat: allow additionalHosts for ingress
2024-11-24 12:27:23 -07:00
Alex Nederlof
afcd804aaf Allow service account to be set 2024-11-24 16:37:46 +01:00
maxupp
afe30f15cb Update Chart.yaml version 2024-11-21 17:01:51 +01:00
maxupp
abc23d2ad4 fix: make copy-app-data resource quotas configurable 2024-11-21 16:51:29 +01:00
Zadjad Rezai
5cf03b48a0 feat: allow additionalHosts for ingress 2024-11-20 08:01:31 +00:00
James W.
48ab03c9d6 Release v0.4.0 2024-11-19 17:05:55 -07:00
0xThresh
1cdb232649 chore(release) bump version to 3.7.0 2024-11-10 21:22:59 +00:00
James W.
242bfa2827 Merge pull request #105 from open-webui/update-ollama-chart
feat: Update Ollama chart version
2024-11-10 14:22:23 -07:00
0xThresh.eth
7514e5a5d7 feat: Update Ollama chart version 2024-11-10 14:21:55 -07:00
0xThresh
cba16a4f3f chore(release) bump version to 1.0.0 2024-11-09 05:31:12 +00:00
James W.
bc32f167f2 Enable Automatic Updates of Chart Versions (#104) 2024-11-08 21:30:36 -08:00
James W.
c70affc35c Merge pull request #101 from okamototk/tika-support
feat: add Apache Tika dependency
2024-11-07 15:14:05 -07:00
0xThresh.eth
6a61802dab Bundle in Tika chart, update docs, update Ollama chart to latest 2024-11-07 15:13:14 -07:00
0xThresh.eth
54961fc38b Updated Chart version and docs 2024-11-07 14:11:43 -07:00
Takashi Okamoto
7fb97e6a35 feat: add Apache Tika dependency 2024-11-07 09:11:56 +00:00
James W.
008268d3fd Merge pull request #102 from windsource/main
Update ollama chart to 0.63.1
2024-11-05 14:47:43 -07:00
windsource
4637db000e Update ollama chart to 0.63.1 2024-11-04 18:06:50 +01:00
James W.
b0debd2d81 Merge pull request #100 from windsource/main
Support subPath for persistent volumes
2024-11-03 11:10:02 -07:00
windsource
5ebf1e3593 Support subPath for persistent volumes 2024-11-02 16:37:07 +01:00
21 changed files with 280 additions and 22 deletions

View File

@@ -5,17 +5,52 @@ on:
branches:
- main
paths:
- "charts/*/Chart.yaml"
- "charts/**"
jobs:
# semantic-release:
# runs-on: ubuntu-latest
# steps:
# # Checkout repo
# - name: Checkout
# uses: actions/checkout@v4
# - name: Setup Node.js
# uses: actions/setup-node@v3
# with:
# node-version: 'lts/*'
# - name: Install dependencies
# run: npm install
# - name: Release
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: npx semantic-release
# - name: Install yq
# run: |
# wget https://github.com/mikefarah/yq/releases/latest/download/yq_linux_amd64 -O yq &&\
# chmod +x yq
# - name: Get version
# id: get_version
# run: |
# echo "VERSION=$(cat charts/open-webui/Chart.yaml | ./yq -r '.version')" >> $GITHUB_OUTPUT
# - name: Commit Chart.yaml
# uses: stefanzweifel/git-auto-commit-action@v4
# with:
# commit_message: 'chore(release) bump version to ${{ steps.get_version.outputs.VERSION }}'
# file_pattern: 'charts/open-webui/Chart.yaml'
release:
#needs: semantic-release
permissions:
contents: write
packages: write
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
@@ -28,6 +63,7 @@ jobs:
run: |
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/
- name: Run chart-releaser
uses: helm/chart-releaser-action@v1.6.0

View File

@@ -0,0 +1,52 @@
name: Check Open WebUI Helm Charts (open-webui)
on:
pull_request:
paths:
- "charts/open-webui/**"
push:
paths:
- "charts/open-webui/**"
jobs:
lint-chart:
name: Lint Helm Chart
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Helm
uses: azure/setup-helm@v4
- name: Lint open-webui Helm Chart
run: |
helm lint ./charts/open-webui
test-deploy:
name: Test Chart Deployment
runs-on: ubuntu-latest
needs: lint-chart
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up kubectl
uses: azure/setup-kubectl@v4
- name: Set up Helm
uses: azure/setup-helm@v4
- name: Set up KinD Cluster
uses: helm/kind-action@v1
- name: Template open-webui Helm Chart
run: |
helm template open-webui ./charts/open-webui \
--namespace test-namespace --create-namespace > open-webui.yaml
- name: Verify open-webui
run: |
kubectl apply -f open-webui.yaml

View File

@@ -0,0 +1,53 @@
name: Check Open WebUI Helm Charts (pipelines)
on:
pull_request:
paths:
- "charts/pipelines/**"
push:
paths:
- "charts/pipelines/**"
jobs:
lint-chart:
name: Lint Helm Chart
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up Helm
uses: azure/setup-helm@v4
- name: Lint pipelines Helm Chart
run: |
helm lint ./charts/pipelines
test-deploy:
name: Test Chart Deployment
runs-on: ubuntu-latest
needs: lint-chart
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Set up kubectl
uses: azure/setup-kubectl@v4
- name: Set up Helm
uses: azure/setup-helm@v4
- name: Set up KinD Cluster
uses: helm/kind-action@v1
- name: Template open-webui Helm Chart
run: |
helm template pipelines ./charts/pipelines \
--namespace test-namespace --create-namespace > pipelines.yaml
- name: Verify pipelines
run: |
kubectl apply -f pipelines.yaml

14
.releaserc Normal file
View File

@@ -0,0 +1,14 @@
{
"name": "helm-charts",
"branches": ["main"],
"plugins": [
[
"semantic-release-helm",
{
chartPath: './charts/open-webui',
crPublish: false,
onlyUpdateVersion: true
}
]
]
}

View File

@@ -1,9 +1,12 @@
dependencies:
- name: ollama
repository: https://otwld.github.io/ollama-helm/
version: 0.63.0
version: 0.69.0
- name: pipelines
repository: https://helm.openwebui.com
version: 0.0.4
digest: sha256:98f3cc893c38dc842b6a7a127a440741154097c387e03728a1acda2da393c322
generated: "2024-10-21T05:46:40.986589501-04:00"
version: 0.0.5
- name: tika
repository: https://apache.jfrog.io/artifactory/tika
version: 2.9.0
digest: sha256:de7b97552b2fcc3d0920fa21547fe38ff87e5f00e2074959e4d56ed13ca7e382
generated: "2024-12-01T18:23:57.494992-07:00"

View File

@@ -1,38 +1,38 @@
apiVersion: v2
name: open-webui
version: 3.4.3
appVersion: "0.3.35"
version: 4.0.6
appVersion: 0.4.7
home: https://www.openwebui.com/
icon: https://raw.githubusercontent.com/open-webui/open-webui/main/static/favicon.png
description: "Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋"
icon: >-
https://raw.githubusercontent.com/open-webui/open-webui/main/static/favicon.png
description: 'Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋'
keywords:
- llm
- chat
- web-ui
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
annotations:
licenses: MIT
dependencies:
- name: ollama
repository: https://otwld.github.io/ollama-helm/
version: ">=0.24.0"
version: '>=0.24.0'
import-values:
- child: service
parent: ollama.service
condition: ollama.enabled
- name: pipelines
repository: https://helm.openwebui.com
version: ">=0.0.1"
version: '>=0.0.1'
import-values:
- child: service
parent: pipelines.service
condition: pipelines.enabled
- name: tika
repository: https://apache.jfrog.io/artifactory/tika
version: '>=2.9.0'
condition: tika.enabled

View File

@@ -1,6 +1,6 @@
# open-webui
![Version: 3.4.0](https://img.shields.io/badge/Version-3.4.0-informational?style=flat-square) ![AppVersion: 0.3.32](https://img.shields.io/badge/AppVersion-0.3.32-informational?style=flat-square)
![Version: 4.0.6](https://img.shields.io/badge/Version-4.0.6-informational?style=flat-square) ![AppVersion: 0.4.7](https://img.shields.io/badge/AppVersion-0.4.7-informational?style=flat-square)
Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋
@@ -32,6 +32,7 @@ helm upgrade --install open-webui open-webui/open-webui
| Repository | Name | Version |
|------------|------|---------|
| https://apache.jfrog.io/artifactory/tika | tika | >=2.9.0 |
| https://helm.openwebui.com | pipelines | >=0.0.1 |
| https://otwld.github.io/ollama-helm/ | ollama | >=0.24.0 |
@@ -43,10 +44,12 @@ helm upgrade --install open-webui open-webui/open-webui
| annotations | object | `{}` | |
| clusterDomain | string | `"cluster.local"` | Value of cluster domain |
| containerSecurityContext | object | `{}` | Configure container security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> |
| 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 |
| 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/pkgs/container/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.class | string | `""` | |
| ingress.enabled | bool | `false` | |
@@ -66,6 +69,7 @@ helm upgrade --install open-webui open-webui/open-webui
| persistence.selector | object | `{}` | |
| persistence.size | string | `"2Gi"` | |
| persistence.storageClass | string | `""` | |
| persistence.subPath | string | `""` | Subdirectory of Open WebUI PVC to mount. Useful if root directory is not empty. |
| pipelines.enabled | bool | `true` | Automatically install Pipelines chart to extend Open WebUI functionality using Pipelines: https://github.com/open-webui/pipelines |
| pipelines.extraEnvVars | list | `[]` | This section can be used to pass required environment variables to your pipelines (e.g. Langfuse hostname) |
| podAnnotations | object | `{}` | |
@@ -73,6 +77,11 @@ helm upgrade --install open-webui open-webui/open-webui
| 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 |
| serviceAccount.annotations | object | `{}` | |
| serviceAccount.automountServiceAccountToken | bool | `false` | |
| serviceAccount.enable | bool | `true` | |
| serviceAccount.name | string | `""` | |
| tika.enabled | bool | `false` | Automatically install Apache Tika to extend Open WebUI |
| tolerations | list | `[]` | Tolerations for pod assignment |
| 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/> |

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -17,6 +17,9 @@ spec:
tls:
- hosts:
- {{ .Values.ingress.host | quote }}
{{- range .Values.ingress.additionalHosts }}
- {{ . | quote }}
{{- end }}
secretName: {{ default (printf "%s-tls" .Release.Name) .Values.ingress.existingSecret }}
{{- end }}
rules:
@@ -30,4 +33,16 @@ spec:
name: {{ include "open-webui.name" . }}
port:
name: http
{{- range .Values.ingress.additionalHosts }}
- host: {{ . | quote }}
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: {{ include "open-webui.name" $ }}
port:
name: http
{{- end }}
{{- end }}

View File

@@ -0,0 +1,13 @@
{{- if .Values.serviceAccount.enable }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.name | default (include "open-webui.name" .) }}
labels:
{{- include "open-webui.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
{{- end }}

View File

@@ -44,14 +44,23 @@ spec:
securityContext:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.copyAppData.resources }}
resources: {{- toYaml . | nindent 10 }}
{{- end }}
volumeMounts:
- name: data
mountPath: /tmp/app-data
{{- if .Values.persistence.subPath }}
subPath: {{ .Values.persistence.subPath }}
{{- end }}
{{- with .Values.volumeMounts.initContainer }}
{{- toYaml . | nindent 8 }}
{{- end }}
enableServiceLinks: false
automountServiceAccountToken: false
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
{{- if .Values.serviceAccount.enable }}
serviceAccountName: {{ .Values.serviceAccount.name | default (include "open-webui.name" .) }}
{{- end }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
@@ -75,6 +84,9 @@ spec:
volumeMounts:
- name: data
mountPath: /app/backend/data
{{- if .Values.persistence.subPath }}
subPath: {{ .Values.persistence.subPath }}
{{- end }}
{{- with .Values.volumeMounts.container }}
{{- toYaml . | nindent 8 }}
{{- end }}
@@ -95,6 +107,12 @@ spec:
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}
{{- end }}
{{- if .Values.tika.enabled }}
- name: "CONTENT_EXTRACTION_ENGINE"
value: "Tika"
- name: "TIKA_SERVER_URL"
value: http://{{ .Chart.Name }}-tika:9998
{{- end }}
tty: true
{{- with .Values.nodeSelector }}
nodeSelector:

View File

@@ -24,6 +24,10 @@ pipelines:
# -- 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: []
@@ -39,6 +43,12 @@ image:
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: []
@@ -46,6 +56,10 @@ imagePullSecrets: []
# - name: myRegistryKeySecretName
resources: {}
copyAppData:
resources: {}
ingress:
enabled: false
class: ""
@@ -53,6 +67,7 @@ ingress:
# nginx.ingress.kubernetes.io/rewrite-target: /
annotations: {}
host: ""
additionalHosts: []
tls: false
existingSecret: ""
persistence:
@@ -60,6 +75,8 @@ persistence:
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
@@ -137,6 +154,7 @@ podSecurityContext:
# 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:

View File

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

View File

@@ -27,7 +27,11 @@ spec:
{{- toYaml . | nindent 8 }}
{{- end }}
enableServiceLinks: false
automountServiceAccountToken: false
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken | default false }}
{{- if .Values.serviceAccount.enable }}
serviceAccountName: {{ .Values.serviceAccount.name | default (include "pipelines.name" .) }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
{{- with .Values.image }}
@@ -42,7 +46,7 @@ spec:
{{- end }}
volumeMounts:
- name: data
mountPath: /app/backend/data
mountPath: /app/pipelines
env:
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}

View File

@@ -0,0 +1,12 @@
{{- if .Values.serviceAccount.enable }}
apiVersion: v1
kind: ServiceAccount
metadata:
name: {{ .Values.serviceAccount.name | default (include "pipelines.name" .) }}
labels:
{{- include "pipelines.labels" . | nindent 4 }}
{{- with .Values.serviceAccount.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
{{- end }}
{{- end }}

View File

@@ -38,6 +38,10 @@ persistence:
selector: {}
annotations: {}
serviceAccount:
enable: true
automountServiceAccountToken: false
# -- Node labels for pod assignment.
nodeSelector: {}

7
package.json Normal file
View File

@@ -0,0 +1,7 @@
{
"devDependencies": {
"@semantic-release/github": "^9.0.3",
"semantic-release": "^21.0.5",
"semantic-release-helm": "^2.2.0"
}
}