Compare commits

...

65 Commits

Author SHA1 Message Date
James W.
1c9327eb4f Merge pull request #139 from jyje/feat/owui-notes
Add helm notes (Helper Message)
2025-01-14 08:32:15 -08:00
jyje
464f194014 feat(notes): fix ingress and helm uninstall option 2025-01-15 01:18:11 +09:00
jyje
1b47d08288 feat(notes): add pilot
- case-by-case helm notes per service type, per persistence
- note sections
    1. Deployment Information
    2. Access the Application
    3. Useful Commands
    4. Cleanup
2025-01-15 00:14:34 +09:00
James W.
ba068ee8c0 Merge pull request #136 from jyje/fix/skip-forked-release
Fix 'helm-release' CI to disabling chart release for forked repos
2025-01-12 06:23:56 -08:00
jyje
5ae7d88c6d fix(ci): skip release actions for forked repositories
- Add a repository slug check to clarify release origin
- Prevent action failures on forked repositories
2025-01-07 12:29:40 +09:00
James W.
1c186f785c Merge pull request #134 from jyje/fix/helm-test-pipelines
Fix 'Pipelines' CI to verify chart installing on test-namespace
2025-01-06 17:02:31 -07:00
jyje
8d6a4745ca fix(ci): revert changes for test 2025-01-06 16:20:52 +09:00
jyje
2a1dfd7c79 fix(ci): add dummy change on the readme file 2025-01-06 16:17:18 +09:00
jyje
911da24970 fix(ci): verify 'pipeline' chart installing on test-namespace
- with `workflow_dispatch:` (need to be removed)
2025-01-06 16:10:33 +09:00
James W.
aa8f48d65c Merge pull request #132 from open-webui/0.5.4
Upgrade to v0.5.4
2025-01-05 12:27:54 -07:00
0xThresh.eth
299203bc14 Upgrade to v0.5.4 2025-01-05 12:24:10 -07:00
James W.
669a7f4006 Merge pull request #130 from jyje/feat/open-webui-add-probes
Add 3 probes to the main container of workload-manager
2025-01-03 10:11:10 -07:00
jyje
902852e161 Merge branch 'main' into feat/open-webui-add-probes
# Conflicts (resolved):
#	charts/open-webui/Chart.yaml
2025-01-04 01:50:45 +09:00
James W.
35100e8c9b Merge pull request #131 from open-webui/0.5
Updating to 0.5.3
2025-01-02 15:19:16 -07:00
0xThresh.eth
80eecb60b7 Updating to 0.5.3 2025-01-02 15:13:53 -07:00
jyje
78358cdd0c feat: add values with commented example values 2024-12-29 04:19:27 +09:00
jyje
2229cfaef1 feat: add 3 container probes for workload-manager
- add livenessProbe, readinessProbe, startupProbe for main container
- add key rows in table of readme
- bump the chart version from 5.0.0 to 5.1.0
2024-12-29 04:11:48 +09:00
James W.
44c982df2f Merge pull request #129 from open-webui/0.5
Update to latest version
2024-12-27 09:11:35 -07:00
0xThresh.eth
5af2615a30 Update to latest version 2024-12-27 09:07:39 -07:00
James W.
0e6bc2b733 Merge pull request #125 from jyje/feat/open-webui
Fix CI to verify chart installing on test-namespace
2024-12-16 08:50:43 -08:00
jyje
38d7ecfe21 Fix CI to verify chart installing on test-namespace
Remove ambiguity for `default` and `test-namespace`. It comes from `namespaceOverride` after #122. This commit helps to complete `namespaceOverride`.

- create `test-namespace` namespace
- install app on `test-namespace` namespace instead of `default`
- (Optional) wait until `pod/open-webui-0` is ready
2024-12-13 16:41:50 +09:00
James W.
d826181995 Merge pull request #123 from jyje/feat/open-webui
Add updateStrategy for workload manager
2024-12-12 20:02:57 -08:00
James W.
fe387238e1 Merge branch 'main' into feat/open-webui 2024-12-12 20:01:37 -08:00
James W.
dc60612c27 Merge pull request #122 from CiraciNicolo/fix(openwebui-namespace)
Add namespace explicitly for OpenWebUI Chart
2024-12-12 20:00:29 -08:00
James W.
3764c99690 Merge pull request #120 from mbrouer/main
feat: Support for podLabels
2024-12-12 19:55:15 -08:00
James W.
3adaffd03d Merge pull request #121 from CiraciNicolo/fix(pipelines-namespace)
Add namespace explicitly to pipelines
2024-12-12 19:53:17 -08:00
jyje
7c6aa4fc19 Add updateStrategy for workload manager
To add update strategy, choose 'strategy' for 'Deployment/spec.strategy' and 'StatefulSet/spec.updateStrategy'. Update samver from 4.0.6 to 4.1.0 with minor spec changes
2024-12-06 04:57:41 +09:00
Nicolò Ciraci
fe7d2bb946 fix(namespace): add namespace explicitly
Signed-off-by: Nicolò Ciraci <ciraci.nicolo@gmail.com>
2024-12-05 15:49:51 +01:00
Nicolò Ciraci
aa0c381f01 fix(namespace): add namespace explicitly
Signed-off-by: Nicolò Ciraci <ciraci.nicolo@gmail.com>
2024-12-05 15:47:51 +01:00
Mads Brouer
de66118c42 feat: Support for podLabels 2024-12-05 11:57:31 +01:00
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
27 changed files with 530 additions and 45 deletions

View File

@@ -8,49 +8,50 @@ on:
- "charts/**"
jobs:
semantic-release:
runs-on: ubuntu-latest
steps:
# Checkout repo
- name: Checkout
uses: actions/checkout@v4
# 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: 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: 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: 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'
# - 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
#needs: semantic-release
if: github.repository == 'open-webui/helm-charts'
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

View File

@@ -0,0 +1,54 @@
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 create namespace test-namespace
kubectl apply --namespace test-namespace -f open-webui.yaml
kubectl wait --namespace test-namespace pod/open-webui-0 --for=condition=Ready --timeout=600s

View File

@@ -0,0 +1,55 @@
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 create namespace test-namespace
kubectl apply --namespace test-namespace -f pipelines.yaml
PIPELINE_POD=$(kubectl get --namespace test-namespace pod -L app.kubernetes.io/component=pipelines -o jsonpath='{.items[*].metadata.name}')
kubectl wait --namespace test-namespace pod/${PIPELINE_POD} --for=condition=Ready --timeout=600s

125
.gitignore vendored Normal file
View File

@@ -0,0 +1,125 @@
# Created by https://www.toptal.com/developers/gitignore/api/macos,intellij+all,helm
# Edit at https://www.toptal.com/developers/gitignore?templates=macos,intellij+all,helm
### Intellij+all ###
# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
# User-specific stuff
.idea/**/workspace.xml
.idea/**/tasks.xml
.idea/**/usage.statistics.xml
.idea/**/dictionaries
.idea/**/shelf
# AWS User-specific
.idea/**/aws.xml
# Generated files
.idea/**/contentModel.xml
# Sensitive or high-churn files
.idea/**/dataSources/
.idea/**/dataSources.ids
.idea/**/dataSources.local.xml
.idea/**/sqlDataSources.xml
.idea/**/dynamic.xml
.idea/**/uiDesigner.xml
.idea/**/dbnavigator.xml
# Gradle
.idea/**/gradle.xml
.idea/**/libraries
# Gradle and Maven with auto-import
# When using Gradle or Maven with auto-import, you should exclude module files,
# since they will be recreated, and may cause churn. Uncomment if using
# auto-import.
# .idea/artifacts
# .idea/compiler.xml
# .idea/jarRepositories.xml
# .idea/modules.xml
# .idea/*.iml
# .idea/modules
# *.iml
# *.ipr
# CMake
cmake-build-*/
# Mongo Explorer plugin
.idea/**/mongoSettings.xml
# File-based project format
*.iws
# IntelliJ
out/
# mpeltonen/sbt-idea plugin
.idea_modules/
# JIRA plugin
atlassian-ide-plugin.xml
# Cursive Clojure plugin
.idea/replstate.xml
# SonarLint plugin
.idea/sonarlint/
# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties
# Editor-based Rest Client
.idea/httpRequests
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
### Intellij+all Patch ###
# Ignore everything but code style settings and run configurations
# that are supposed to be shared within teams.
.idea/*
!.idea/codeStyles
!.idea/runConfigurations
### macOS ###
# General
.DS_Store
.AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### macOS Patch ###
# iCloud generated files
*.icloud
# End of https://www.toptal.com/developers/gitignore/api/macos,intellij+all,helm

View File

@@ -1,12 +1,12 @@
dependencies:
- name: ollama
repository: https://otwld.github.io/ollama-helm/
version: 0.65.0
version: 1.1.2
- name: pipelines
repository: https://helm.openwebui.com
version: 0.0.4
version: 0.0.6
- name: tika
repository: https://apache.jfrog.io/artifactory/tika
version: 2.9.0
digest: sha256:c9405bba567364144f432f81c1c7c77336002eb8d6d07ae4fc5362cf2e3471b6
generated: "2024-11-10T14:18:47.252585-07:00"
digest: sha256:b86b1f385a7f5ecd31f1d938aaa84384bdfc96cb1a173ca510c53aaeea845e3e
generated: "2024-12-27T09:05:35.551706-07:00"

View File

@@ -1,7 +1,7 @@
apiVersion: v2
name: open-webui
version: 1.0.0
appVersion: 0.3.36
version: 5.2.0
appVersion: 0.5.4
home: https://www.openwebui.com/
icon: >-
https://raw.githubusercontent.com/open-webui/open-webui/main/static/favicon.png

View File

@@ -1,6 +1,6 @@
# open-webui
![Version: 3.6.0](https://img.shields.io/badge/Version-3.6.0-informational?style=flat-square) ![AppVersion: 0.3.35](https://img.shields.io/badge/AppVersion-0.3.35-informational?style=flat-square)
![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)
Open WebUI: A User-Friendly Web Interface for Chat Interactions 👋
@@ -44,17 +44,21 @@ 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 |
| 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.class | string | `""` | |
| ingress.enabled | bool | `false` | |
| ingress.existingSecret | string | `""` | |
| ingress.host | string | `""` | |
| 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> |
| 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 |
@@ -71,10 +75,18 @@ helm upgrade --install open-webui open-webui/open-webui
| 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 | `{}` | |
| 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> |
| 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 | `""` | |
| startupProbe | object | `{}` | Probe for startup of the Open WebUI container ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes> |
| strategy | object | `{}` | Strategy for updating the workload manager: deployment or statefulset |
| 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 |

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,77 @@
{{- `
🎉 Welcome to Open WebUI!!
___ __ __ _ _ _ ___
/ _ \ _ __ ___ _ __ \ \ / /__| |__ | | | |_ _|
| | | | '_ \ / _ \ '_ \ \ \ /\ / / _ \ '_ \| | | || |
| |_| | |_) | __/ | | | \ V V / __/ |_) | |_| || |
\___/| .__/ \___|_| |_| \_/\_/ \___|_.__/ \___/|___|
|_|
` }}
v{{ .Chart.AppVersion }} - building the best open-source AI user interface.
- Chart Version: v{{ .Chart.Version }}
- Project URL 1: {{ .Chart.Home }}
- Project URL 2: https://github.com/open-webui/open-webui
- Documentation: https://docs.openwebui.com/
- Chart URL: https://github.com/open-webui/helm-charts
Open WebUI is a web-based user interface that works with Ollama, OpenAI, Claude 3, Gemini and more.
This interface allows you to easily interact with local AI models.
1. Deployment Information:
- Chart Name: {{ .Chart.Name }}
- Release Name: {{ .Release.Name }}
- Namespace: {{ .Release.Namespace }}
2. Access the Application:
{{- if contains "ClusterIP" .Values.service.type }}
Access via ClusterIP service:
export LOCAL_PORT=8080
export POD_NAME=$(kubectl get pods -n {{ .Release.Namespace }} -l "app.kubernetes.io/component={{ include "open-webui.name" . }}" -o jsonpath="{.items[0].metadata.name}")
export CONTAINER_PORT=$(kubectl get pod -n {{ .Release.Namespace }} $POD_NAME -o jsonpath="{.spec.containers[0].ports[0].containerPort}")
kubectl -n {{ .Release.Namespace }} port-forward $POD_NAME $LOCAL_PORT:$CONTAINER_PORT
echo "Visit http://127.0.0.1:$LOCAL_PORT to use your application"
Then, access the application at: http://127.0.0.1:$LOCAL_PORT or http://localhost:8080
{{- else if contains "NodePort" .Values.service.type }}
Access via NodePort service:
export NODE_PORT=$(kubectl get -n {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "open-webui.name" . }})
export NODE_IP=$(kubectl get nodes -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
Access via LoadBalancer service:
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
NOTE: The external address format depends on your cloud provider:
- AWS: Will return a hostname (e.g., xxx.elb.amazonaws.com)
- GCP/Azure: Will return an IP address
You can watch the status by running:
kubectl get -n {{ .Release.Namespace }} svc {{ include "open-webui.name" . }} --watch
export EXTERNAL_IP=$(kubectl get -n {{ .Release.Namespace }} svc {{ include "open-webui.name" . }} -o jsonpath="{.status.loadBalancer.ingress[0].hostname:-.status.loadBalancer.ingress[0].ip}")
echo http://$EXTERNAL_IP:{{ .Values.service.port }}
{{- end }}
{{- if .Values.ingress.enabled }}
Ingress is enabled. Access the application at: http{{ if .Values.ingress.tls }}s{{ end }}://{{ .Values.ingress.host }}
{{- end }}
3. Useful Commands:
- Check deployment status:
helm status {{ .Release.Name }} -n {{ .Release.Namespace }}
- Get detailed information:
helm get all {{ .Release.Name }} -n {{ .Release.Namespace }}
- View logs:
{{- if .Values.persistence.enabled }}
kubectl logs -f statefulset/{{ include "open-webui.name" . }} -n {{ .Release.Namespace }}
{{- else }}
kubectl logs -f deployment/{{ include "open-webui.name" . }} -n {{ .Release.Namespace }}
{{- end }}
4. Cleanup:
- Uninstall the deployment:
helm uninstall {{ .Release.Name }} -n {{ .Release.Namespace }}

View File

@@ -1,3 +1,14 @@
{{/*
Allow the release namespace to be overridden for multi-namespace deployments in combined charts
*/}}
{{- define "open-webui.namespace" -}}
{{- if .Values.namespaceOverride -}}
{{- .Values.namespaceOverride -}}
{{- else -}}
{{- .Release.Namespace -}}
{{- end -}}
{{- end -}}
{{/*
Set the name of the Open WebUI resources
*/}}

View File

@@ -3,6 +3,7 @@ apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{ include "open-webui.name" . }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "open-webui.labels" . | nindent 4 }}
{{- with .Values.ingress.annotations }}
@@ -17,6 +18,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 +34,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

@@ -3,6 +3,7 @@ apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "open-webui.name" . }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "open-webui.selectorLabels" . | nindent 4 }}
{{- with .Values.persistence.annotations }}

View File

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

View File

@@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: {{ include "open-webui.name" . }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "open-webui.labels" . | nindent 4 }}
{{- with .Values.service.labels }}

View File

@@ -6,6 +6,7 @@ kind: Deployment
{{- end }}
metadata:
name: {{ include "open-webui.name" . }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "open-webui.labels" . | nindent 4 }}
{{- with .Values.annotations }}
@@ -20,10 +21,22 @@ spec:
selector:
matchLabels:
{{- include "open-webui.selectorLabels" . | nindent 6 }}
{{- if .Values.strategy }}
{{- if .Values.persistence.enabled }}
updateStrategy:
{{- toYaml .Values.strategy | nindent 4 }}
{{- else }}
strategy:
{{- toYaml .Values.strategy | nindent 4 }}
{{- end }}
{{- end }}
template:
metadata:
labels:
{{- include "open-webui.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
@@ -44,6 +57,9 @@ spec:
securityContext:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.copyAppData.resources }}
resources: {{- toYaml . | nindent 10 }}
{{- end }}
volumeMounts:
- name: data
mountPath: /tmp/app-data
@@ -54,7 +70,10 @@ spec:
{{- 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 }}
@@ -68,6 +87,15 @@ spec:
ports:
- name: http
containerPort: {{ .Values.service.containerPort }}
{{- with .Values.livenessProbe }}
livenessProbe: {{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.readinessProbe }}
readinessProbe: {{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.startupProbe }}
startupProbe: {{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.resources }}
resources: {{- toYaml . | nindent 10 }}
{{- end }}

View File

@@ -1,4 +1,5 @@
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
@@ -36,20 +37,64 @@ clusterDomain: cluster.local
annotations: {}
podAnnotations: {}
podLabels: {}
replicaCount: 1
# -- Open WebUI image tags can be found here: https://github.com/open-webui/open-webui/pkgs/container/open-webui
# -- 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: {}
ingress:
enabled: false
class: ""
@@ -57,6 +102,7 @@ ingress:
# nginx.ingress.kubernetes.io/rewrite-target: /
annotations: {}
host: ""
additionalHosts: []
tls: false
existingSecret: ""
persistence:
@@ -143,6 +189,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.6
appVersion: "alpha"
home: https://github.com/open-webui/pipelines

View File

@@ -1,6 +1,6 @@
# pipelines
![Version: 0.0.4](https://img.shields.io/badge/Version-0.0.4-informational?style=flat-square) ![AppVersion: alpha](https://img.shields.io/badge/AppVersion-alpha-informational?style=flat-square)
![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)
Pipelines: UI-Agnostic OpenAI API Plugin Framework
@@ -46,6 +46,7 @@ helm upgrade --install open-webui open-webui/pipelines
| ingress.host | string | `""` | |
| ingress.tls | bool | `false` | |
| nameOverride | string | `""` | |
| namespaceOverride | string | `""` | |
| nodeSelector | object | `{}` | Node labels for pod assignment. |
| persistence.accessModes | list | `["ReadWriteOnce"]` | If using multiple replicas, you must update accessModes to ReadWriteMany |
| persistence.annotations | object | `{}` | |
@@ -55,6 +56,7 @@ helm upgrade --install open-webui open-webui/pipelines
| persistence.size | string | `"2Gi"` | |
| persistence.storageClass | string | `""` | |
| podAnnotations | object | `{}` | |
| podLabels | object | `{}` | |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| service.annotations | object | `{}` | |
@@ -64,6 +66,8 @@ helm upgrade --install open-webui open-webui/pipelines
| service.nodePort | string | `""` | |
| service.port | int | `9099` | |
| service.type | string | `"ClusterIP"` | |
| serviceAccount.automountServiceAccountToken | bool | `false` | |
| serviceAccount.enable | bool | `true` | |
| tolerations | list | `[]` | Tolerations for pod assignment |
----------------------------------------------

View File

@@ -1,3 +1,14 @@
{{/*
Allow the release namespace to be overridden for multi-namespace deployments in combined charts
*/}}
{{- define "pipelines.namespace" -}}
{{- if .Values.namespaceOverride -}}
{{- .Values.namespaceOverride -}}
{{- else -}}
{{- .Release.Namespace -}}
{{- end -}}
{{- end -}}
{{/*
Set the name of the Pipelines resources
*/}}

View File

@@ -2,6 +2,7 @@ apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "pipelines.name" . }}
namespace: {{ include "pipelines.namespace" . }}
labels:
{{- include "pipelines.labels" . | nindent 4 }}
{{- with .Values.annotations }}
@@ -17,6 +18,9 @@ spec:
metadata:
labels:
{{- include "pipelines.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
@@ -27,7 +31,10 @@ 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 +49,7 @@ spec:
{{- end }}
volumeMounts:
- name: data
mountPath: /app/backend/data
mountPath: /app/pipelines
env:
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}

View File

@@ -3,6 +3,7 @@ apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "pipelines.name" . }}
namespace: {{ include "pipelines.namespace" . }}
labels:
{{- include "pipelines.selectorLabels" . | nindent 4 }}
{{- with .Values.persistence.annotations }}

View File

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

View File

@@ -2,6 +2,7 @@ apiVersion: v1
kind: Service
metadata:
name: {{ include "pipelines.name" . }}
namespace: {{ include "pipelines.namespace" . }}
labels:
{{- include "pipelines.labels" . | nindent 4 }}
{{- with .Values.service.labels }}

View File

@@ -1,10 +1,12 @@
nameOverride: ""
namespaceOverride: ""
# -- Value of cluster domain
clusterDomain: cluster.local
annotations: {}
podAnnotations: {}
podLabels: {}
replicaCount: 1
image:
repository: ghcr.io/open-webui/pipelines
@@ -38,6 +40,10 @@ persistence:
selector: {}
annotations: {}
serviceAccount:
enable: true
automountServiceAccountToken: false
# -- Node labels for pod assignment.
nodeSelector: {}