Compare commits

...

304 Commits

Author SHA1 Message Date
James W.
80232f8a26 Merge pull request #255 from bdriggersTorch/openwebui-command-override
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-06-18 22:55:48 -06:00
Blake Driggers
5dc11a8179 Merge remote-tracking branch 'upstream/main' into openwebui-command-override 2025-06-18 17:34:23 -05:00
James W.
df7e805e73 Merge pull request #256 from this-is-tobi/chore/upgrade-open-webui 2025-06-17 08:16:41 -06:00
this-is-tobi
79d106aa33 chore(open-webui): upgrade open-webui to v0.6.15 (chart v6.21.0)
upgrade subcharts (redis v21.2.4 - postgresql v16.7.12)
2025-06-17 10:59:49 +02:00
Blake Driggers
fab19a9666 feat(open-webui): add optional command args overrides for open-webui copyAppData init container 2025-06-12 10:46:36 -05:00
Blake Driggers
ce05f9ee38 feat(open-webui): add optional command and args overrides for open-webui container 2025-06-11 14:25:18 -05:00
James W.
b33c1bda00 Merge pull request #252 from this-is-tobi/chore/upgrade-open-webui
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-06-10 18:16:07 -06:00
this-is-tobi
0d10e07045 chore(open-webui): upgrade open-webui to v0.6.14 (chart v6.20.0)
upgrade subcharts (redis v21.2.2 - postgresql v16.7.10)
2025-06-11 02:06:34 +02:00
James W.
9ea553bb62 Merge pull request #251 from zadjadr/patch-1 2025-06-10 18:06:06 -06:00
Zadjad Rezai
e0fb781535 Allow setting WEBUI_URL manually
We use a redirect in our setup, which means the ingress host is different then the WEBUI_URL.

This change allows to set the WEBUI_URL either manually via extraenv or via ingress.host
2025-06-03 12:02:19 +00:00
James W.
5fb77716b7 Merge pull request #248 from open-webui/v0.6.13
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
chore: update subcharts, upgrade to v0.6.13
2025-05-30 11:03:19 -07:00
0xThresh.eth
dad4af5dfe chore: update subcharts, upgrade to v0.6.13 2025-05-30 11:59:42 -06:00
0xThresh.eth
b0f84e533c chore: upgrade to 0.6.12 2025-05-30 11:58:08 -06:00
James W.
85a85c5d8d Merge pull request #247 from ffais/webui-url-ingress
fix(open-webui): add WEBUI_URL env var when ingress is enabled
2025-05-30 10:56:31 -07:00
ffais
28bda01652 fix(open-webui): add WEBUI_URL env var when ingress is enabled
Signed-off-by: ffais <ffais@fbk.eu>
2025-05-30 09:50:58 +02:00
James W.
59b8824246 Merge pull request #246 from this-is-tobi/chore/upgrade-open-webui
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-05-27 17:18:36 -07:00
this-is-tobi
7a3678cd53 chore(open-webui): upgrade open-webui to v0.6.11 (chart v6.17.0)
upgrade subcharts (ollama v1.18.0 - pipelines v0.7.0 - redis v21.1.8 - postgresql v16.7.5)
2025-05-28 02:05:05 +02:00
James W.
4601246f1b Merge pull request #244 from jackhauGR/feat/pipelines-commonEnvVars
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (pipelines) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (pipelines) / Test Chart Deployment (push) Has been cancelled
2025-05-22 13:20:02 -07:00
jackhauGR
61ad8836b7 Merge branch 'main' into feat/pipelines-commonEnvVars 2025-05-19 19:26:21 +01:00
James W.
d417dc1ea3 Merge pull request #245 from this-is-tobi/chore/upgrade-open-webui
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-05-19 11:10:13 -07:00
this-is-tobi
f38ccab08e chore(open-webui): upgrade open-webui to v0.6.10 (chart v6.16.0)
upgrade subcharts (ollama v1.17.0)
2025-05-19 19:00:48 +02:00
jackhauGR
623d36db3f feat(pipelines): add support for commonEnvVars for shared environment variables across environments 2025-05-19 17:43:49 +01:00
James W.
ac8bf7a7e6 Merge pull request #243 from this-is-tobi/chore/upgrade-open-webui
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-05-16 12:44:31 -07:00
this-is-tobi
85e3544b08 chore(open-webui): upgrade open-webui to v0.6.9 (chart v6.15.0)
upgrade subcharts (redis v21.1.3 - postgresql v16.7.4)
2025-05-16 21:01:56 +02:00
James W.
e03a80610b Merge pull request #242 from jackhauGR/feat-websocket-redis-podlabels
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-05-15 09:46:00 -07:00
jackhauGR
73b5127c50 feat(open-webui): add pod labels to websocket-redis 2025-05-14 17:10:24 +01:00
James W.
51a151fc4c Merge pull request #238 from jackhauGR/chore
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-05-09 07:17:22 -07:00
jackhauGR
d723530b13 chore: update Chart.lock 2025-05-09 14:57:12 +01:00
James W.
545738a200 Merge pull request #236 from jackhauGR/feat 2025-05-09 06:44:11 -07:00
James W.
7f59bbbb39 Merge pull request #237 from jackhauGR/feat2 2025-05-09 06:43:59 -07:00
jackhauGR
5fcc219066 feat(open-webui): add support for commonEnvVars to inject shared environment variables 2025-05-09 14:34:46 +01:00
jackhauGR
caab2a349c Merge branch 'main' into feat 2025-05-09 13:54:52 +01:00
jackhauGR
27c984c2bc update version from 6.11.0 to 6.12.0 2025-05-09 11:27:24 +01:00
jackhauGR
a06544036b added docs 2025-05-08 17:35:59 +01:00
jackhauGR
7c31452932 added docs 2025-05-08 17:35:23 +01:00
jackhauGR
9f439a1629 feat(open-webui): support extraLabels for custom metadata in Ingress 2025-05-08 17:31:58 +01:00
James W.
78ba8db769 Merge pull request #235 from hdt12a1/main
Some checks are pending
Release Open WebUI Helm Charts / release (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Blocked by required conditions
2025-05-08 08:59:06 -07:00
Duck
82a1bb0270 Add nodeSelector support to websocket configuration 2025-05-08 22:23:39 +07:00
0xThresh.eth
30918f40a0 chore: update Open WebUI to latest app version
Some checks are pending
Release Open WebUI Helm Charts / release (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Blocked by required conditions
2025-05-07 17:23:45 -06:00
James W.
9a67c0b46f Merge pull request #234 from mjtrangoni/feat-configure-logging
feat(open-webui): Add application logging configuration
2025-05-07 16:22:08 -07:00
Mario Trangoni
1c091cbd03 feat(open-webui): Add application logging configuration
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2025-05-07 14:22:25 +02:00
James W.
22b300940a Merge pull request #233 from jackhauGR/main
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (pipelines) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
Check Open WebUI Helm Charts (pipelines) / Test Chart Deployment (push) Has been cancelled
2025-05-06 09:06:42 -07:00
jackhauGR
ac86a1bc75 updated version 2025-05-06 17:02:32 +01:00
Jack Hau
b6c8264928 Merge branch 'open-webui:main' into main 2025-05-06 16:58:36 +01:00
jackhauGR
e3ab5addb5 update 2025-05-06 16:12:44 +01:00
James W.
7a93256102 Merge pull request #227 from mjtrangoni/feature-azure-storage-key
feat(open-webui): Make it possible to configure Storage credentials via k8s secrets
2025-05-06 07:26:28 -07:00
Mario Trangoni
a5073d40f2 feat(open-webui): Make it possible to configure Amazon S3 Storage secret key via k8s secrets
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2025-05-06 16:21:45 +02:00
Mario Trangoni
86e42681ca feat(open-webui): Make it possible to configure Google Cloud Storage Application Credentials JSON file via k8s secrets
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2025-05-06 16:18:48 +02:00
Mario Trangoni
e6c33ca07c feat(open-webui): Make it possible to configure Azure Storage credentials via k8s secrets
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2025-05-06 16:18:48 +02:00
James W.
01b61f5f64 Merge pull request #232 from open-webui/fix-remove-milvus
fix: Remove Milvus dependency due to size issues
2025-05-06 07:17:40 -07:00
0xThresh.eth
d7e40d7c9a fix: Remove RAG section 2025-05-06 08:13:36 -06:00
0xThresh.eth
66173b69b8 chore: helm-docs 2025-05-06 08:11:17 -06:00
0xThresh.eth
e9c86cd6fc chore: update chart appVersion 2025-05-06 08:11:00 -06:00
0xThresh.eth
9a0a156353 fix: Remove Milvus due to size issues 2025-05-06 08:10:28 -06:00
James W.
ea67916135 Merge pull request #226 from mjtrangoni/feature-secrets-oauth
Some checks are pending
Release Open WebUI Helm Charts / release (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Blocked by required conditions
feat(open-webui): Make it possible to define SSO OAuth secrets from Kubernetes Secrets
2025-05-06 06:20:30 -07:00
Mario Trangoni
f8ae1e036e feat(open-webui): Make it possible to define SSO OAuth secrets from k8s secrets
Signed-off-by: Mario Trangoni <mjtrangoni@gmail.com>
2025-05-06 11:45:18 +02:00
James W.
bfca2d950b Merge pull request #230 from jyje/bump/open-webui-v0.6.6
Some checks are pending
Release Open WebUI Helm Charts / release (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Blocked by required conditions
2025-05-05 09:52:33 -06:00
jyje
ebef0fe568 chore: Update open-webui to v0.6.6 (chart 6.6.0)
- update open-webui
    - app: from v0.6.5 to v0.6.6
    - chart: from 6.5.0 to 6.6.0
- updated subchart
    - ollama (from 1.14.0 to 1.15.0): upgrade app version from v0.6.5 to v0.6.6 (see https://github.com/otwld/ollama-helm/compare/ollama-1.14.0...ollama-1.15.0)
    - redis (from 20.12.1 to 20.13.4): app minor update, chart edit (main arguments, sidecar arguments)
    - postgresql (from 16.6.3 to 16.6.6): app minor update, chart edit (backup, update-password)
    - milvus (from 4.2.45 to 4.2.48): upgrade app version from v2.5.9 to v2.5.11 (see https://github.com/zilliztech/milvus-helm/compare/milvus-4.2.45...milvus-4.2.48)
2025-05-06 00:32:55 +09:00
James W.
c2ad4c072d Merge pull request #229 from jyje/fix/add-milvus-dependency
Some checks are pending
Release Open WebUI Helm Charts / release (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Blocked by required conditions
2025-05-04 19:55:35 -06:00
jyje
4449c53971 feat: add an example values for rag and milvus 2025-05-05 10:06:59 +09:00
James W.
bf84642781 Merge pull request #228 from jyje/fix/add-milvus-dependency 2025-05-04 18:13:33 -06:00
jyje
e4aaf6ed9c fix(ci): add milvus repo on helm-release 2025-05-05 09:02:17 +09:00
James W.
d7a8188b30 Merge pull request #223 from this-is-tobi/feat/add-milvus-dependency
Some checks are pending
Release Open WebUI Helm Charts / release (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Waiting to run
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Blocked by required conditions
2025-05-04 08:30:01 -06:00
this-is-tobi
94aeb86dce feat: re-enable milvus support in open-webui chart 2025-04-17 15:12:09 +02:00
James W.
8e19d0e938 Merge pull request #222 from this-is-tobi/chore/upgrade-open-webui
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
2025-04-15 18:21:09 -06:00
this-is-tobi
b0234bc9a9 chore: update open-webui to v0.6.5 (chart 6.4.0) 2025-04-16 02:02:21 +02:00
this-is-tobi
a79f362f7c feat: handle envFrom in open-webui chart values 2025-04-16 02:00:33 +02:00
James W.
fa01ccd3c4 Merge pull request #221 from this-is-tobi/feat/improve-open-webui-whart
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
Feat/improve open webui chart
2025-04-13 14:00:57 -06:00
this-is-tobi
f1c4efb94f refactor: add charts dependencies tgz to gitignore 2025-04-13 19:05:56 +02:00
this-is-tobi
4c789ac788 fix: handle env vars override in open-webui chart 2025-04-13 18:38:04 +02:00
this-is-tobi
34969f304e feat: add storage provider support in open-webui chart 2025-04-13 18:37:07 +02:00
this-is-tobi
bb57d8c928 feat: add postgresql dependency support in open-webui chart 2025-04-13 18:35:22 +02:00
James W.
f8dfeaaa3f Merge pull request #220 from jyje/v0.6.4
Update chart version and chart lock of open-webui to 6.2.0
2025-04-13 09:23:05 -06:00
jyje
73728f7f7b chore: Update open-webui to v0.6.4 (chart 6.2.0)
- update open-webui
    - app: from v0.6.1 to v0.6.4
    - chart: from 6.1.0 to 6.2.0
- updated subchart
    - ollama (from 1.9.0 to 1.14.0): see https://github.com/otwld/ollama-helm/compare/ollama-1.9.0...ollama-1.14.0
    - redis (from 20.11.3 to 20.11.5): update image tags
2025-04-13 22:01:56 +09:00
James W.
e7b4f8b9b9 Merge pull request #217 from francovp/chore-update-openweb-ui-0.6.1
Some checks failed
Release Open WebUI Helm Charts / release (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Lint Helm Chart (push) Has been cancelled
Check Open WebUI Helm Charts (open-webui) / Test Chart Deployment (push) Has been cancelled
chore: update openweb-ui to v0.6.1 (chart 6.1.0)
2025-04-05 21:13:34 -06:00
Franco Valerio
599f908d0b chore: update openweb-ui to v0.6.1 (chart 6.1.0) 2025-04-05 23:09:37 -04:00
James W.
dd622e3c58 Merge pull request #214 from open-webui/v6.0.0
feat: Update to v0.6.0
2025-03-31 21:29:29 -06:00
0xThresh.eth
e5ed86fb0a feat: Update to v0.6.0 2025-03-31 21:17:42 -06:00
James W.
b9686a849e Merge pull request #209 from Xeroxxx/runtimeClassName
feat: Added runtimeClassName to open-webui deployment.
2025-03-31 21:15:37 -06:00
James W.
736f71d5c0 Merge branch 'main' into runtimeClassName 2025-03-31 21:10:50 -06:00
James W.
1647c29b02 Merge pull request #208 from blib/main
Add support for SSO/OIDC
2025-03-31 21:09:20 -06:00
James W.
5969b767ab Merge pull request #212 from okamototk/ollama-1.12.0
Update ollama chart to 1.12.0(ollama 0.6.3)
2025-03-31 18:39:42 -06:00
Takashi Okamoto
83a613694b Update ollama chart to 1.12.0(ollama 0.6.3) 2025-03-30 15:27:50 +00:00
James W.
adfd8e81fd Merge pull request #211 from okamototk/ollama-0.6.2
Update ollama chart to 1.11.0(ollama 0.6.2)
2025-03-28 10:44:37 -06:00
Takashi Okamoto
8ba420dab7 Update ollama chart to 1.11.0(ollama 0.6.2) 2025-03-28 09:39:37 +00:00
173680e8e4 feat: Added runtimeClassName to open-webui deployment. 2025-03-22 16:25:21 +01:00
Boris Bliznioukov
57fd1bd513 feat: add SSO and OAuth configuration options to README and values.yaml
Signed-off-by: Boris Bliznioukov <blib@mail.com>
2025-03-20 14:41:36 +01:00
Boris Bliznioukov
8916b426ec feat: add SSO configuration options in values.yaml and workload-manager.yaml
Signed-off-by: Boris Bliznioukov <blib@mail.com>
2025-03-20 14:14:53 +01:00
James W.
da259c7471 Merge pull request #207 from vinicinbgs/main 2025-03-19 07:41:11 -06:00
Vinicius Dutra
69be5561db fix: redis pod annotation nindent 4 to 8 2025-03-19 08:31:32 -03:00
James W.
7ea5d902f8 Merge pull request #206 from yushao2/main 2025-03-18 21:29:11 -06:00
yushao2
7b349d2f08 update docs / chart 2025-03-18 23:54:58 +08:00
yushao2
c64a6d983c add ability to customize redis container security context 2025-03-18 19:06:45 +08:00
James W.
9751a36aef Merge pull request #204 from jyje/v0.5.20 2025-03-13 07:41:37 -06:00
jyje
2af1c1243a chore: Update open-webui to v0.5.20 (chart 5.24.0)
- update open-webui
    - app: from v0.5.16 to v0.5.20
    - chart: from 5.23.0 to 5.24.0
- updated subchart
    - ollama (from 1.8.0 to 1.9.0): upgrade app version from v0.5.13 to v0.6.0
2025-03-13 21:45:17 +09:00
jyje
b897d0a764 chore: Remove an unused example values 2025-03-13 21:38:36 +09:00
James W.
c42b2b658d Merge pull request #203 from open-webui/revert-milvus
Revert Milvus
2025-03-12 19:34:01 -06:00
0xThresh.eth
a36cc91584 Update dependencies 2025-03-12 19:30:05 -06:00
0xThresh.eth
3ccf0425aa Update docs 2025-03-12 19:28:18 -06:00
0xThresh.eth
9d2e8a03d2 Revert Milvus PR due to size issues 2025-03-12 19:27:45 -06:00
James W.
949e81c1ae Merge pull request #202 from open-webui/revert-196-issue-184/add-milvus
Revert "fix(ci/release): Fix helm dependency for milvus"
2025-03-12 19:07:16 -06:00
James W.
e344883342 Revert "fix(ci/release): Fix helm dependency for milvus" 2025-03-12 18:07:03 -07:00
James W.
6862dc5b2e Merge pull request #197 from saraangelmurphy/feature/add-extra-init-containers
feat: [open-webui/pipelines] add support for adding extra init containers
2025-03-11 21:20:37 -06:00
James W.
5b8410adbb Merge pull request #199 from phlmn/patch-1
docs: Fix typo in URL
2025-03-11 21:15:34 -06:00
Philipp Mandler
dbf7604c85 docs: Fix typo in URL 2025-03-11 17:04:05 +01:00
saraangelmurphy
ab693efe76 Merge branch 'main' into feature/add-extra-init-containers 2025-03-11 10:45:36 -04:00
James W.
4730e963cd Merge pull request #198 from jyje/issue-184/add-milvus 2025-03-11 08:07:05 -06:00
jyje
64a2f77a68 fix(ci/release): Update the signature of open-webui chart (to trigger release 5.21.0)
- The new signature is from open-webui image
2025-03-11 19:19:32 +09:00
Sara Angel-Murphy
df3d4a48ce feat: add support for extra init containers to pipelines chart 2025-03-10 16:22:03 -04:00
Sara Angel-Murphy
7f23390df4 fix: set description for enableOpenaiApi correctly 2025-03-10 16:18:42 -04:00
Sara Angel-Murphy
934c4ff600 feat: add support for extra init containers 2025-03-10 16:12:56 -04:00
James W.
9acc6aa73c Merge pull request #196 from jyje/issue-184/add-milvus 2025-03-10 11:08:00 -06:00
jyje
72d5981836 fix(ci/release): Fix helm dependency for milvus 2025-03-10 19:15:17 +09:00
James W.
b2d58a724e Merge pull request #190 from jyje/issue-184/add-milvus
feat(charts/open-webui): add the Milvus chart for RAG
2025-03-09 20:06:43 -06:00
James W.
4c0d7562a1 Merge pull request #187 from cnblogs-dudu/add-option-to-disable-openai-api
feat: add  option to disable openai api
2025-03-09 20:04:30 -06:00
James W.
ab46f62cf6 Merge pull request #194 from coneillpj/main
image pull secrets for websocket-redis.yml template
2025-03-09 19:55:39 -06:00
jyje
a343ea7c78 docs(charts/open-webui): refresh readme via helm-docs 2025-03-09 11:52:58 +09:00
jyje
5d8c4c0e28 feat(charts/open-webui): Fix probes 2025-03-09 11:47:28 +09:00
jyje
1eb9023699 feat(charts/open-webui): Add values-rag-milvus.yaml 2025-03-09 10:58:05 +09:00
jyje
1c7500372a refactor(charts/open-webui): Fix values format for rag and milvus 2025-03-09 10:57:24 +09:00
Chris O'Neill
26eb71d2e2 update open-webui helm chart websocket-redis.yml template - add option adding image pull secrets for redis image 2025-03-07 12:51:05 -07:00
jyje
3dc4eb8219 fix(charts/open-webui): Fix warning of the value .Value.rag.vectorDB 2025-03-06 23:03:13 +09:00
jyje
cbc2cd5172 fix(ci/open-webui): add repo of the milvus chart 2025-02-28 22:57:22 +09:00
jyje
eab043eeb1 chore: update chart lock of open-webui to 5.21.0
- no bump chart
- updated subchart
    - redis: values changed (compatible) - set `auth.usePasswordFiles=true`
2025-02-28 22:51:29 +09:00
jyje
57da11ee6d feat(charts/open-webui): add the milvus chart for RAG
- bump the version of open-webui from 5.20.0 to 5.21.0
- add the value `rag` and add its core values (vectorDB, embeddingEngine, embeddingModel)
- add milvus chart and add its core values (uri, db, token)
2025-02-28 22:15:13 +09:00
James W.
08783e7cd0 Merge pull request #188 from jyje/update-chart-lock 2025-02-25 15:48:54 -07:00
jyje
1de55f7599 docs(open-webui): refresh readme via helm-docs 2025-02-26 07:04:12 +09:00
jyje
0da3f4e930 chore: update chart lock of open-webui to 5.20.0
- bump chart from 5.19.0 to 5.20.0
- updated subcharts
    - ollama: values changed (compatible) - add `service.labels`
    - redis: values changed (compatible) - set `auth.acl.sentinel=false`
2025-02-26 06:42:48 +09:00
James W.
5ebedb44c6 Merge pull request #186 from rbnis/chore/open-webui/update-lock-file-2
feat(open-webui): Update Chart.lock and add check in pipeline
2025-02-24 19:00:32 -07:00
dudu
bc910cc2d3 feat: add option to disable openai api 2025-02-22 23:11:36 +08:00
rbnis
9312d4f79d feat(open-webui): Build helm dependencies to test if Chart.lock is in sync 2025-02-22 03:31:15 +01:00
rbnis
e011fc9fe7 chore(open-webui): Update pipelines dependency in Chart.lock to 0.4.0 2025-02-22 03:20:34 +01:00
James W.
6ba37844ec Merge pull request #185 from rbnis/chore/open-webui/update-lock-file-1
fix(open-webui): Update Chart.lock to fix failing pipeline run
2025-02-21 14:28:34 -07:00
rbnis
82d626337c fix(open-webui): Update Chart.lock to fix failing pipeline run 2025-02-21 19:42:15 +01:00
James W.
273b2b103a Merge pull request #183 from rbnis/feature/add-hostalias-support
feat: Add support for hostAliases
2025-02-21 11:20:03 -07:00
rbnis
e8dbf957b1 feat: add support for hostAliases 2025-02-21 17:58:26 +01:00
James W.
a609ae613b Merge pull request #182 from open-webui/v0.5.16
release: Update OWUI chart to v0.5.16
2025-02-21 09:53:07 -07:00
0xThresh.eth
800614e308 release: Update OWUI chart to v0.5.16 2025-02-20 19:05:44 -07:00
James W.
95040f7735 Merge pull request #180 from jyje/v0.5.15 2025-02-20 07:23:07 -07:00
James W.
a7b9fd5600 Merge pull request #181 from jyje/issue-179/pipelines-update-strategy 2025-02-20 07:22:46 -07:00
jyje
7f2b641569 feat(pipelines): add strategy for updating deployment
- bump the pipelines chart from 0.2.0 to 0.3.0
2025-02-20 22:38:57 +09:00
jyje
cbdca59247 chore: update open-webui to v0.5.15 (chart 5.17.0) 2025-02-20 21:46:58 +09:00
James W.
a368503b58 Merge pull request #178 from msabramo/patch-1 2025-02-19 10:13:06 -07:00
Marc Abramowitz
b3f84d0dbf CONTRIBUTING.md: Add link to helm-docs
Add link to helm-docs: https://github.com/norwoodj/helm-docs
2025-02-19 08:32:18 -08:00
James W.
fa81927fe2 Merge pull request #176 from mknet3/helm-add-missing-fields 2025-02-19 09:03:00 -07:00
Manuel Cañete
2a4faf6a96 feat(open-webui): enhance redis deployment with additional configurable properties 2025-02-19 16:52:34 +01:00
James W.
6829878574 Merge pull request #175 from jyje/update-chart-lock
Update chart lock of open-webui
2025-02-18 18:13:31 -07:00
jyje
ef8d0a19be chore: update chart lock of open-webui to 5.16.0
- bump chart from 5.15.0 to 5.16.0
- updated subcharts
    - ollama: no values changed - bump `appVersion`
    - pipelines: values changed (compatible) - see https://github.com/open-webui/helm-charts/compare/pipelines-0.0.6...pipelines-0.2.0
    - redis: no values changed - minor update for `renderSecurityContext`
2025-02-19 09:42:42 +09:00
James W.
f7642b5df4 Merge pull request #172 from jyje/issue-150/pipelines-extra-volumes
feat: [pipelines] add volumeMounts and volumes
2025-02-18 14:03:23 -07:00
James W.
77a502a9f7 Merge pull request #174 from jyje/v0.5.14 2025-02-18 10:47:53 -07:00
jyje
2dd1e147c3 chore: update open-webui to v0.5.14 (chart 5.15.0) 2025-02-19 02:39:01 +09:00
jyje
2a015f01e1 chore(pipelines): bump chart version from 0.1.0 to 0.2.0 2025-02-19 01:47:43 +09:00
jyje
6d1192b320 Merge remote-tracking branch 'upstream/main' into issue-150/pipelines-extra-volumes 2025-02-19 01:44:00 +09:00
James W.
e8838eaec8 Merge pull request #171 from jyje/v0.5.13 2025-02-18 06:15:13 -07:00
jyje
3e16c22e08 feat(pipelines): add volumeMounts and volumes
- need to bump chart version
2025-02-18 16:28:58 +09: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
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
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
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
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
James W.
125f67ec5c Merge pull request #97 from bergutman/main
Update to v0.3.35
2024-10-26 20:54:27 -07:00
Ber Gutman
d919ea1b42 Update to v0.3.35 2024-10-26 19:06:52 -07:00
Ber Gutman
c30ab597bb Update to v0.3.34 2024-10-26 08:19:51 -07:00
Ber Gutman
941176514c Update to v0.3.33 2024-10-24 19:49:53 -07:00
James W.
7c753cf117 Merge pull request #96 from hongbo-miao/patch-1 2024-10-22 09:00:23 -07:00
Hongbo Miao
7605066b8e docs: add how to set custom api key 2024-10-22 03:19:08 -07:00
James W.
dfe63ed352 Merge pull request #94 from ssc-dsai/feat-extra-volumes 2024-10-21 07:41:31 -07:00
Justin Bertrand
22d99dd349 chore: update version, docs, and dependencies. 2024-10-21 05:47:46 -04:00
Justin Bertrand
b07888478a fix: indentation. 2024-10-16 12:41:51 -04:00
Justin Bertrand
f93c4949c9 feat(volumes): add the ability to specify volumes and mounts. 2024-10-16 10:21:10 -04:00
James W.
645edec699 Merge pull request #93 from bergutman/main 2024-10-08 06:11:10 -07:00
Ber Gutman
5cc0d44aba Update to v0.3.32 2024-10-07 14:53:29 +02:00
James W.
8672c78ac5 Merge pull request #92 from bergutman/main
Update to v0.3.30
2024-10-05 11:07:07 -07:00
Ber Gutman
5e3237a972 Update to v0.3.30 2024-10-05 13:36:06 +02:00
James W.
4f1fa4718e Merge pull request #88 from saip92/saip92/move-env-vars-to-stateful-set
Move extraEnvVars to Workload from ConfigMap
2024-10-01 19:38:22 -07:00
Pramod Valavala
119fdd2f2d Update chart version 2024-10-01 22:26:55 -04:00
Pramod Valavala
a16cdd4477 Move extraEnvVars to Workload from ConfigMap 2024-09-27 21:13:33 -04:00
34 changed files with 2156 additions and 75 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,9 +63,11 @@ 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/
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

@@ -0,0 +1,76 @@
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: Add Dependency Repos
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/
helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Build open-webui Helm dependencies
run: |
helm dependency build ./charts/open-webui
- 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: Add Dependency Repos
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/
helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Build open-webui Helm dependencies
run: |
helm dependency build ./charts/open-webui
- 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

129
.gitignore vendored Normal file
View File

@@ -0,0 +1,129 @@
# 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
### Helm ###
# Chart dependencies
**/charts/*.tgz
# End of https://www.toptal.com/developers/gitignore/api/macos,intellij+all,helm

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

@@ -2,13 +2,10 @@
## How to Contribute
> [!WARNING]
> There is currently a bug in the Helm Chart Releaser Github Action that prevents you from deploying more than one chart on a single run. The best workaround for now is to ensure that pushes to `main` only include changes to a single chart. If you're contributing to more than one chart, please do it in separate PRs until the upstream issue is fixed, or until we can fork and fix the action ourselves.
1. **Fork the repository** and create your branch from `main`.
2. **Make your changes** and ensure they follow the guidelines below.
3. **Test your changes** locally to ensure everything works as expected. This should include deploying your updates to a live Kubernetes cluster (whether local or remote).
4. **Run helm-docs** to ensure that the README is updated with the latest changes.
4. **Run [helm-docs]** to ensure that the README is updated with the latest changes.
5. **Commit your changes** using a descriptive commit message that follows the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.
6. **Push your changes** to your forked repository.
7. **Create a Pull Request** and provide a detailed description of your changes. Please consider dropping us your redacted `values.yaml` file used during your testing in the PR so we can make sure we see consistent results.
@@ -30,8 +27,12 @@
- **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.
Thank you for your contributions!
[helm-docs]: https://github.com/norwoodj/helm-docs

View File

@@ -1,9 +1,18 @@
dependencies:
- name: ollama
repository: https://otwld.github.io/ollama-helm/
version: 0.59.0
version: 1.19.0
- name: pipelines
repository: https://helm.openwebui.com
version: 0.0.4
digest: sha256:bfba828139ce6280e2fc9020cb933b8760e89ff1bbc66bee443d292af7ac1db1
generated: "2024-09-22T12:16:31.226566428-06:00"
version: 0.7.0
- name: tika
repository: https://apache.jfrog.io/artifactory/tika
version: 2.9.0
- name: redis
repository: https://charts.bitnami.com/bitnami
version: 21.2.4
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 16.7.12
digest: sha256:c321c315a3d0be92cb0de7e676564b3f1f550a0ab58436149dfb02e6afb6d2f1
generated: "2025-06-17T10:58:01.903769+02:00"

View File

@@ -1,38 +1,50 @@
apiVersion: v2
name: open-webui
version: 3.2.0
appVersion: "0.3.24"
version: 6.22.0
appVersion: 0.6.15
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
- 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:
- 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
- name: redis
repository: https://charts.bitnami.com/bitnami
version: '>=20.6.2'
alias: redis-cluster
condition: redis-cluster.enabled
- name: postgresql
repository: https://charts.bitnami.com/bitnami
version: '>=15.5.38'
alias: postgresql
condition: postgresql.enabled

View File

@@ -1,6 +1,6 @@
# open-webui
![Version: 3.2.0](https://img.shields.io/badge/Version-3.2.0-informational?style=flat-square) ![AppVersion: 0.3.24](https://img.shields.io/badge/AppVersion-0.3.24-informational?style=flat-square)
![Version: 6.22.0](https://img.shields.io/badge/Version-6.22.0-informational?style=flat-square) ![AppVersion: 0.6.15](https://img.shields.io/badge/AppVersion-0.6.15-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
@@ -32,49 +33,243 @@ 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 | postgresql(postgresql) | >=15.5.38 |
| 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 |
## Values
### Logging configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| logging.components.audio | string | `""` | Set the log level for the Audio processing component |
| logging.components.comfyui | string | `""` | Set the log level for the ComfyUI Integration component |
| logging.components.config | string | `""` | Set the log level for the Configuration Management component |
| logging.components.db | string | `""` | Set the log level for the Database Operations (Peewee) component |
| logging.components.images | string | `""` | Set the log level for the Image Generation component |
| logging.components.main | string | `""` | Set the log level for the Main Application Execution component |
| logging.components.models | string | `""` | Set the log level for the Model Management component |
| logging.components.ollama | string | `""` | Set the log level for the Ollama Backend Integration component |
| logging.components.openai | string | `""` | Set the log level for the OpenAI API Integration component |
| logging.components.rag | string | `""` | Set the log level for the Retrieval-Augmented Generation (RAG) component |
| logging.components.webhook | string | `""` | Set the log level for the Authentication Webhook component |
| logging.level | string | `""` | Set the global log level ["notset", "debug", "info" (default), "warning", "error", "critical"] |
### Azure Storage configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| persistence.azure.container | string | `""` | Sets the container name for Azure Storage |
| persistence.azure.endpointUrl | string | `""` | Sets the endpoint URL for Azure Storage |
| persistence.azure.key | string | `""` | Set the access key for Azure Storage (ignored if keyExistingSecret is set). Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Managed Identity if run in Azure services |
| persistence.azure.keyExistingSecret | string | `""` | Set the access key for Azure Storage from existing secret |
| persistence.azure.keyExistingSecretKey | string | `""` | Set the access key for Azure Storage from existing secret key |
### Google Cloud Storage configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| persistence.gcs.appCredentialsJson | string | `""` | Contents of Google Application Credentials JSON file (ignored if appCredentialsJsonExistingSecret is set). Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Google Metadata server if run on a Google Compute Engine. File can be generated for a service account following this guide: https://developers.google.com/workspace/guides/create-credentials#service-account |
| persistence.gcs.appCredentialsJsonExistingSecret | string | `""` | Set the Google Application Credentials JSON file for Google Cloud Storage from existing secret |
| persistence.gcs.appCredentialsJsonExistingSecretKey | string | `""` | Set the Google Application Credentials JSON file for Google Cloud Storage from existing secret key |
| persistence.gcs.bucket | string | `""` | Sets the bucket name for Google Cloud Storage. Bucket must already exist |
### Amazon S3 Storage configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| persistence.s3.accessKey | string | `""` | Sets the access key ID for S3 storage |
| persistence.s3.bucket | string | `""` | Sets the bucket name for S3 storage |
| persistence.s3.endpointUrl | string | `""` | Sets the endpoint url for S3 storage |
| persistence.s3.keyPrefix | string | `""` | Sets the key prefix for a S3 object |
| persistence.s3.region | string | `""` | Sets the region name for S3 storage |
| persistence.s3.secretKey | string | `""` | Sets the secret access key for S3 storage (ignored if secretKeyExistingSecret is set) |
| persistence.s3.secretKeyExistingSecret | string | `""` | Set the secret access key for S3 storage from existing k8s secret |
| persistence.s3.secretKeyExistingSecretKey | string | `""` | Set the secret access key for S3 storage from existing k8s secret key |
### SSO Configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| sso.enableGroupManagement | bool | `false` | Enable OAuth group management through access token groups claim |
| sso.enableRoleManagement | bool | `false` | Enable OAuth role management through access token roles claim |
| sso.enableSignup | bool | `false` | Enable account creation when logging in with OAuth (distinct from regular signup) |
| sso.enabled | bool | `false` | **Enable SSO authentication globally** must enable to use SSO authentication |
| sso.groupManagement.groupsClaim | string | `"groups"` | The claim that contains the groups (can be nested, e.g., user.memberOf) |
| sso.mergeAccountsByEmail | bool | `false` | Allow logging into accounts that match email from OAuth provider (considered insecure) |
### GitHub OAuth configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| sso.github.clientExistingSecret | string | `""` | GitHub OAuth client secret from existing secret |
| sso.github.clientExistingSecretKey | string | `""` | GitHub OAuth client secret key from existing secret |
| sso.github.clientId | string | `""` | GitHub OAuth client ID |
| sso.github.clientSecret | string | `""` | GitHub OAuth client secret (ignored if clientExistingSecret is set) |
| sso.github.enabled | bool | `false` | Enable GitHub OAuth |
### Google OAuth configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| sso.google.clientExistingSecret | string | `""` | Google OAuth client secret from existing secret |
| sso.google.clientExistingSecretKey | string | `""` | Google OAuth client secret key from existing secret |
| sso.google.clientId | string | `""` | Google OAuth client ID |
| sso.google.clientSecret | string | `""` | Google OAuth client secret (ignored if clientExistingSecret is set) |
| sso.google.enabled | bool | `false` | Enable Google OAuth |
### Microsoft OAuth configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| sso.microsoft.clientExistingSecret | string | `""` | Microsoft OAuth client secret from existing secret |
| sso.microsoft.clientExistingSecretKey | string | `""` | Microsoft OAuth client secret key from existing secret |
| sso.microsoft.clientId | string | `""` | Microsoft OAuth client ID |
| sso.microsoft.clientSecret | string | `""` | Microsoft OAuth client secret (ignored if clientExistingSecret is set) |
| sso.microsoft.enabled | bool | `false` | Enable Microsoft OAuth |
| sso.microsoft.tenantId | string | `""` | Microsoft tenant ID - use 9188040d-6c67-4c5b-b112-36a304b66dad for personal accounts |
### OIDC configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| sso.oidc.clientExistingSecret | string | `""` | OICD client secret from existing secret |
| sso.oidc.clientExistingSecretKey | string | `""` | OIDC client secret key from existing secret |
| sso.oidc.clientId | string | `""` | OIDC client ID |
| sso.oidc.clientSecret | string | `""` | OIDC client secret (ignored if clientExistingSecret is set) |
| sso.oidc.enabled | bool | `false` | Enable OIDC authentication |
| sso.oidc.providerName | string | `"SSO"` | Name of the provider to show on the UI |
| sso.oidc.providerUrl | string | `""` | OIDC provider well known URL |
| sso.oidc.scopes | string | `"openid email profile"` | Scopes to request (space-separated). |
### Role management configuration
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| sso.roleManagement.adminRoles | string | `""` | Comma-separated list of roles allowed to log in as admin (receive open webui role admin) |
| sso.roleManagement.allowedRoles | string | `""` | Comma-separated list of roles allowed to log in (receive open webui role user) |
| sso.roleManagement.rolesClaim | string | `"roles"` | The claim that contains the roles (can be nested, e.g., user.roles) |
### SSO trusted header authentication
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| sso.trustedHeader.emailHeader | string | `""` | Header containing the user's email address |
| sso.trustedHeader.enabled | bool | `false` | Enable trusted header authentication |
| sso.trustedHeader.nameHeader | string | `""` | Header containing the user's name (optional, used for new user creation) |
### Other Values
| Key | Type | Default | Description |
|-----|------|---------|-------------|
| affinity | object | `{}` | Affinity for pod assignment |
| annotations | object | `{}` | |
| args | list | `[]` | Open WebUI container arguments (overrides default) |
| clusterDomain | string | `"cluster.local"` | Value of cluster domain |
| command | list | `[]` | Open WebUI container command (overrides default entrypoint) |
| commonEnvVars | list | `[]` | Env vars added to the Open WebUI deployment, common across environments. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ (caution: environment variables defined in both `extraEnvVars` and `commonEnvVars` will result in a conflict. Avoid duplicates) |
| containerSecurityContext | object | `{}` | Configure container security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> |
| extraEnvVars | list | `[{"name":"OPENAI_API_KEY","value":"0p3n-w3bu!"}]` | Env vars added to the configmap and mounted to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ |
| copyAppData.args | list | `[]` | Open WebUI copy-app-data init container arguments (overrides default) |
| copyAppData.command | list | `[]` | Open WebUI copy-app-data init container command (overrides default) |
| copyAppData.resources | object | `{}` | |
| databaseUrl | string | `""` | Configure database URL, needed to work with Postgres (example: `postgresql://<user>:<password>@<service>:<port>/<database>`), leave empty to use the default sqlite database |
| enableOpenaiApi | bool | `true` | Enables the use of OpenAI APIs |
| extraEnvFrom | list | `[]` | Env vars added from configmap or secret to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ (caution: `extraEnvVars` will take precedence over the value from `extraEnvFrom`) |
| 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 |
| extraInitContainers | list | `[]` | Additional init containers to add to the deployment/statefulset ref: <https://kubernetes.io/docs/concepts/workloads/pods/init-containers/> |
| extraResources | list | `[]` | Extra resources to deploy with Open WebUI |
| hostAliases | list | `[]` | HostAliases to be added to hosts-file of each container |
| 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.annotations | object | `{}` | Use appropriate annotations for your Ingress controller, e.g., for NGINX: nginx.ingress.kubernetes.io/rewrite-target: / |
| ingress.additionalHosts | list | `[]` | |
| 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.extraLabels | object | `{}` | Additional custom labels to add to the Ingress metadata Useful for tagging, selecting, or applying policies to the Ingress via labels. |
| 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` | |
| persistence.existingClaim | string | `""` | Use existingClaim if you want to re-use an existing Open WebUI PVC instead of creating a new one |
| persistence.provider | string | `"local"` | Sets the storage provider, availables values are `local`, `s3`, `gcs` or `azure` |
| 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 | `{}` | |
| podSecurityContext | object | `{}` | Configure pod security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> |
| 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-container> |
| postgresql | object | `{"architecture":"standalone","auth":{"database":"open-webui","password":"0p3n-w3bu!","postgresPassword":"0p3n-w3bu!","username":"open-webui"},"enabled":false,"fullnameOverride":"open-webui-postgres","primary":{"persistence":{"size":"1Gi"},"resources":{"limits":{"cpu":"500m","memory":"512Mi"},"requests":{"cpu":"250m","memory":"256Mi"}}}}` | Postgresql configuration (see. https://artifacthub.io/packages/helm/bitnami/postgresql) |
| 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 | `{}` | |
| runtimeClassName | string | `""` | Configure runtime class ref: <https://kubernetes.io/docs/concepts/containers/runtime-class/> |
| 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 |
| 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.nodeSelector | object | `{}` | Node selector for websocket pods |
| websocket.redis | object | `{"affinity":{},"annotations":{},"args":[],"command":[],"enabled":true,"image":{"pullPolicy":"IfNotPresent","repository":"redis","tag":"7.4.2-alpine3.21"},"labels":{},"name":"open-webui-redis","pods":{"annotations":{},"labels":{}},"resources":{},"securityContext":{},"service":{"annotations":{},"containerPort":6379,"labels":{},"nodePort":"","port":6379,"type":"ClusterIP"},"tolerations":[]}` | Deploys a redis |
| websocket.redis.affinity | object | `{}` | Redis affinity for pod assignment |
| 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":{},"labels":{}}` | Redis pod |
| websocket.redis.pods.annotations | object | `{}` | Redis pod annotations |
| websocket.redis.pods.labels | object | `{}` | Redis pod labels |
| websocket.redis.resources | object | `{}` | Redis resources |
| websocket.redis.securityContext | object | `{}` | Redis security context |
| 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.redis.tolerations | list | `[]` | Redis tolerations for pod assignment |
| 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>` |
----------------------------------------------

View File

@@ -0,0 +1,77 @@
{{- `
🎉 Welcome to Open WebUI!!
██████╗ ██████╗ ███████╗███╗ ██╗ ██╗ ██╗███████╗██████╗ ██╗ ██╗██╗
██╔═══██╗██╔══██╗██╔════╝████╗ ██║ ██║ ██║██╔════╝██╔══██╗██║ ██║██║
██║ ██║██████╔╝█████╗ ██╔██╗ ██║ ██║ █╗ ██║█████╗ ██████╔╝██║ ██║██║
██║ ██║██╔═══╝ ██╔══╝ ██║╚██╗██║ ██║███╗██║██╔══╝ ██╔══██╗██║ ██║██║
╚██████╔╝██║ ███████╗██║ ╚████║ ╚███╔███╔╝███████╗██████╔╝╚██████╔╝██║
╚═════╝ ╚═╝ ╚══════╝╚═╝ ╚═══╝ ╚══╝╚══╝ ╚══════╝╚═════╝ ╚═════╝ ╚═╝
` }}
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
*/}}
@@ -141,4 +152,105 @@ 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 }}
{{/*
Validate SSO ClientSecret to be set literally or via Secret
*/}}
{{- define "sso.validateClientSecret" -}}
{{- $provider := .provider }}
{{- $values := .values }}
{{- if and (empty (index $values $provider "clientSecret")) (empty (index $values $provider "clientExistingSecret")) }}
{{- fail (printf "You must provide either .Values.sso.%s.clientSecret or .Values.sso.%s.clientExistingSecret" $provider $provider) }}
{{- end }}
{{- end }}
{{- /*
Fail template rendering if invalid log component
*/ -}}
{{- define "logging.isValidComponent" -}}
{{- $component := . | lower -}}
{{- $validComponents := dict
"audio" true
"comfyui" true
"config" true
"db" true
"images" true
"main" true
"models" true
"ollama" true
"openai" true
"rag" true
"webhook" true
-}}
{{- hasKey $validComponents $component -}}
{{- end }}
{{- define "logging.assertValidComponent" -}}
{{- $component := lower . -}}
{{- $res := include "logging.isValidComponent" $component }}
{{- if ne $res "true" }}
{{- fail (printf "Invalid logging component name: '%s'. Valid names: audio, comfyui, config, db, images, main, models, ollama, openai, rag, webhook" $component) }}
{{- end }}
{{- end }}
{{- /*
Fail template rendering if invalid log level
*/ -}}
{{- define "logging.assertValidLevel" -}}
{{- $level := lower . }}
{{- $validLevels := dict "notset" true "debug" true "info" true "warning" true "error" true "critical" true }}
{{- if not (hasKey $validLevels $level) }}
{{- fail (printf "Invalid log level: '%s'. Valid values are: notset, debug, info, warning, error, critical" $level) }}
{{- end }}
{{- end }}
{{- /*
Render a logging env var for a component, validating value
*/ -}}
{{- define "logging.componentEnvVar" -}}
{{- $name := .componentName }}
{{- $level := .logLevel }}
{{- include "logging.assertValidComponent" $name -}}
{{- include "logging.assertValidLevel" $level }}
- name: {{ printf "%s_LOG_LEVEL" (upper $name) | quote }}
value: {{ $level | quote | trim }}
{{- end }}
{{- /*
Constructs a string containing the URLs of the Open WebUI based on the ingress configuration
used to populate the variable WEBUI_URL
*/ -}}
{{- define "openweb-ui.url" -}}
{{- $url := "" -}}
{{- range .Values.extraEnvVars }}
{{- if and (eq .name "WEBUI_URL") .value }}
{{- $url = .value }}
{{- end }}
{{- end }}
{{- if not $url }}
{{- $proto := "http" -}}
{{- if .Values.ingress.tls }}
{{- $proto = "https" -}}
{{- end }}
{{- $url = printf "%s://%s" $proto .Values.ingress.host }}
{{- end }}
{{- $url }}
{{- end }}

View File

@@ -1,22 +0,0 @@
{{- if or .Values.extraEnvVars .Values.ollama.enabled }}
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "open-webui.name" . }}-env
labels:
{{- include "open-webui.labels" . | nindent 4 }}
data:
{{- if .Values.ollama.enabled }}
OLLAMA_BASE_URLS: {{ include "ollamaBaseUrls" . | quote }}
{{- else }}
ENABLE_OLLAMA_API: "False"
{{- end }}
{{- if .Values.pipelines.enabled }}
OPENAI_API_BASE_URL: {{ include "pipelines.serviceEndpoint" . }}
{{- else if .Values.openaiBaseApiUrl }}
OPENAI_API_BASE_URL: {{ .Values.openaiBaseApiUrl | quote }}
{{- end }}
{{- range .Values.extraEnvVars }}
{{ .name }}: {{ .value | quote }}
{{- end }}
{{- end }}

View File

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

View File

@@ -3,8 +3,12 @@ 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.extraLabels }}
{{- toYaml . | nindent 4 }}
{{- end }}
{{- with .Values.ingress.annotations }}
annotations:
{{- toYaml . | nindent 4 }}
@@ -17,6 +21,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 +37,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,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

@@ -1,8 +1,9 @@
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) (eq .Values.persistence.provider "local") }}
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

@@ -0,0 +1,98 @@
{{- 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 }}
{{- with .Values.websocket.redis.pods.labels }}
{{- toYaml . | nindent 8 }}
{{- end }}
annotations:
{{- with .Values.websocket.redis.pods.annotations }}
{{- toYaml . | nindent 8 }}
{{- end }}
spec:
{{- if .Values.websocket.redis.image.pullSecretName }}
imagePullSecrets:
- name: {{ .Values.websocket.redis.image.pullSecretName }}
{{- end }}
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 }}
{{- with .Values.websocket.redis.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.websocket.redis.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.websocket.redis.securityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.websocket.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- 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

@@ -1,11 +1,12 @@
apiVersion: apps/v1
{{- if .Values.persistence.enabled }}
{{- if and .Values.persistence.enabled (eq .Values.persistence.provider "local") }}
kind: StatefulSet
{{- else }}
kind: Deployment
{{- end }}
metadata:
name: {{ include "open-webui.name" . }}
namespace: {{ include "open-webui.namespace" . }}
labels:
{{- include "open-webui.labels" . | nindent 4 }}
{{- with .Values.annotations }}
@@ -14,16 +15,28 @@ metadata:
{{- end }}
spec:
replicas: {{ .Values.replicaCount }}
{{- if .Values.persistence.enabled }}
{{- if and .Values.persistence.enabled (eq .Values.persistence.provider "local") }}
serviceName: {{ include "open-webui.name" . }}
{{- end }}
selector:
matchLabels:
{{- include "open-webui.selectorLabels" . | nindent 6 }}
{{- if .Values.strategy }}
{{- if and .Values.persistence.enabled (eq .Values.persistence.provider "local") }}
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 }}
@@ -39,16 +52,39 @@ spec:
image: {{ .repository }}:{{ .tag | default $.Chart.AppVersion }}
imagePullPolicy: {{ .pullPolicy }}
{{- end }}
command: ['sh', '-c', 'cp -R -n /app/backend/data/* /tmp/app-data/']
command:
{{- toYaml (.Values.copyAppData.command | default (list "sh" "-c" "cp -R -n /app/backend/data/* /tmp/app-data/")) | nindent 10 }}
{{- with .Values.copyAppData.args }}
args:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.containerSecurityContext }}
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 }}
{{- with .Values.extraInitContainers }}
{{- toYaml . | nindent 6 }}
{{- end }}
enableServiceLinks: false
automountServiceAccountToken: false
automountServiceAccountToken: {{ .Values.serviceAccount.automountServiceAccountToken }}
{{- if .Values.runtimeClassName }}
runtimeClassName: {{ .Values.runtimeClassName | quote }}
{{- end }}
{{- if .Values.serviceAccount.enable }}
serviceAccountName: {{ .Values.serviceAccount.name | default (include "open-webui.name" .) }}
{{- end }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
@@ -59,9 +95,26 @@ spec:
image: {{ .repository }}:{{ .tag | default $.Chart.AppVersion }}
imagePullPolicy: {{ .pullPolicy }}
{{- end }}
{{- with .Values.command }}
command:
{{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.args }}
args:
{{- toYaml . | nindent 10 }}
{{- end }}
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 }}
@@ -72,10 +125,246 @@ spec:
volumeMounts:
- name: data
mountPath: /app/backend/data
{{- if or .Values.extraEnvVars .Values.ollama.enabled }}
{{- if .Values.persistence.subPath }}
subPath: {{ .Values.persistence.subPath }}
{{- end }}
{{- with .Values.volumeMounts.container }}
{{- toYaml . | nindent 8 }}
{{- end }}
env:
{{- $hasCustomWebUIUrl := false }}
{{- range .Values.extraEnvVars }}
{{- if eq .name "WEBUI_URL" }}
{{- $hasCustomWebUIUrl = true }}
{{- end }}
{{- end }}
{{- if and .Values.ingress.enabled (not $hasCustomWebUIUrl) }}
- name: WEBUI_URL
value: {{ include "openweb-ui.url" . | quote }}
{{- end }}
{{- 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.enableOpenaiApi .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"
value: {{ .Values.openaiBaseApiUrl | quote }}
{{- else if and .Values.enableOpenaiApi .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.enableOpenaiApi .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.enableOpenaiApi .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 }}"
{{- else if not .Values.enableOpenaiApi }}
- name: "ENABLE_OPENAI_API"
value: "False"
{{- end }}
{{- if .Values.tika.enabled }}
- name: "CONTENT_EXTRACTION_ENGINE"
value: "Tika"
- name: "TIKA_SERVER_URL"
value: http://{{ .Chart.Name }}-tika:9998
{{- end }}
{{- if eq .Values.persistence.provider "s3" }}
- name: "STORAGE_PROVIDER"
value: {{ .Values.persistence.provider }}
- name: "S3_ACCESS_KEY_ID"
value: {{ .Values.persistence.s3.accessKey }}
- name: "S3_SECRET_ACCESS_KEY"
{{- if .Values.persistence.s3.secretKeyExistingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.persistence.s3.secretKeyExistingSecret }}
key: {{ .Values.persistence.s3.secretKeyExistingSecretKey }}
{{- else }}
value: {{ .Values.persistence.s3.secretKey }}
{{- end }}
- name: "S3_ENDPOINT_URL"
value: {{ .Values.persistence.s3.endpointUrl }}
- name: "S3_BUCKET_NAME"
value: {{ .Values.persistence.s3.bucket }}
- name: "S3_REGION_NAME"
value: {{ .Values.persistence.s3.region }}
- name: "S3_KEY_PREFIX"
value: {{ .Values.persistence.s3.keyPrefix }}
{{- else if eq .Values.persistence.provider "gcs" }}
- name: "STORAGE_PROVIDER"
value: {{ .Values.persistence.provider }}
- name: "GOOGLE_APPLICATION_CREDENTIALS_JSON"
{{- if .Values.persistence.gcs.appCredentialsJsonExistingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.persistence.gcs.appCredentialsJsonExistingSecret }}
key: {{ .Values.persistence.gcs.appCredentialsJsonExistingSecretKey }}
{{- else }}
value: {{ .Values.persistence.gcs.appCredentialsJson }}
{{- end }}
- name: "GCS_BUCKET_NAME"
value: {{ .Values.persistence.gcs.bucket }}
{{- else if eq .Values.persistence.provider "azure" }}
- name: "STORAGE_PROVIDER"
value: {{ .Values.persistence.provider }}
- name: "AZURE_STORAGE_ENDPOINT"
value: {{ .Values.persistence.azure.endpointUrl }}
- name: "AZURE_STORAGE_CONTAINER_NAME"
value: {{ .Values.persistence.azure.container }}
- name: "AZURE_STORAGE_KEY"
{{- if .Values.persistence.azure.keyExistingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.persistence.azure.keyExistingSecret }}
key: {{ .Values.persistence.azure.keyExistingSecretKey }}
{{- else }}
value: {{ .Values.persistence.azure.key }}
{{- end }}
{{- 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 }}
{{- if or .Values.postgresql.enabled .Values.databaseUrl }}
- name: "DATABASE_URL"
value: {{ .Values.databaseUrl | default (printf "postgresql://%s:%s@%s:%s/%s" .Values.postgresql.auth.username .Values.postgresql.auth.password .Values.postgresql.fullnameOverride "5432" .Values.postgresql.auth.database) }}
{{- end }}
{{- if .Values.sso.enabled }}
{{- if .Values.sso.enableSignup }}
- name: "ENABLE_OAUTH_SIGNUP"
value: "True"
{{- end }}
{{- if .Values.sso.mergeAccountsByEmail }}
- name: "OAUTH_MERGE_ACCOUNTS_BY_EMAIL"
value: "True"
{{- end }}
{{- if .Values.sso.google.enabled }}
- name: "GOOGLE_CLIENT_ID"
value: {{ .Values.sso.google.clientId | quote }}
{{- include "sso.validateClientSecret" (dict "provider" "google" "values" .Values.sso) }}
- name: "GOOGLE_CLIENT_SECRET"
{{- if .Values.sso.google.clientExistingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.sso.google.clientExistingSecret | quote }}
key: {{ .Values.sso.google.clientExistingSecretKey | quote }}
{{- else }}
value: {{ .Values.sso.google.clientSecret | quote }}
{{- end }}
{{- end }}
{{- if .Values.sso.microsoft.enabled }}
- name: "MICROSOFT_CLIENT_ID"
value: {{ .Values.sso.microsoft.clientId | quote }}
{{- include "sso.validateClientSecret" (dict "provider" "microsoft" "values" .Values.sso) }}
- name: "MICROSOFT_CLIENT_SECRET"
{{- if .Values.sso.microsoft.clientExistingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.sso.microsoft.clientExistingSecret | quote }}
key: {{ .Values.sso.microsoft.clientExistingSecretKey | quote }}
{{- else }}
value: {{ .Values.sso.microsoft.clientSecret | quote }}
{{- end }}
- name: "MICROSOFT_CLIENT_TENANT_ID"
value: {{ .Values.sso.microsoft.tenantId | quote }}
{{- end }}
{{- if .Values.sso.github.enabled }}
- name: "GITHUB_CLIENT_ID"
value: {{ .Values.sso.github.clientId | quote }}
{{- include "sso.validateClientSecret" (dict "provider" "github" "values" .Values.sso) }}
- name: "GITHUB_CLIENT_SECRET"
{{- if .Values.sso.github.clientExistingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.sso.github.clientExistingSecret | quote }}
key: {{ .Values.sso.github.clientExistingSecretKey | quote }}
{{- else }}
value: {{ .Values.sso.github.clientSecret | quote }}
{{- end }}
{{- end }}
{{- if .Values.sso.oidc.enabled }}
- name: "OAUTH_CLIENT_ID"
value: {{ .Values.sso.oidc.clientId | quote }}
{{- include "sso.validateClientSecret" (dict "provider" "oidc" "values" .Values.sso) }}
- name: "OAUTH_CLIENT_SECRET"
{{- if .Values.sso.oidc.clientExistingSecret }}
valueFrom:
secretKeyRef:
name: {{ .Values.sso.oidc.clientExistingSecret | quote }}
key: {{ .Values.sso.oidc.clientExistingSecretKey | quote }}
{{- else }}
value: {{ .Values.sso.oidc.clientSecret | quote }}
{{- end }}
- name: "OPENID_PROVIDER_URL"
value: {{ .Values.sso.oidc.providerUrl | quote }}
- name: "OAUTH_PROVIDER_NAME"
value: {{ .Values.sso.oidc.providerName | quote }}
- name: "OAUTH_SCOPES"
value: {{ .Values.sso.oidc.scopes | quote }}
{{- end }}
{{- if .Values.sso.enableRoleManagement }}
- name: "ENABLE_OAUTH_ROLE_MANAGEMENT"
value: "True"
- name: "OAUTH_ROLES_CLAIM"
value: {{ .Values.sso.roleManagement.rolesClaim | quote }}
{{- if .Values.sso.roleManagement.allowedRoles }}
- name: "OAUTH_ALLOWED_ROLES"
value: {{ .Values.sso.roleManagement.allowedRoles | quote }}
{{- end }}
{{- if .Values.sso.roleManagement.adminRoles }}
- name: "OAUTH_ADMIN_ROLES"
value: {{ .Values.sso.roleManagement.adminRoles | quote }}
{{- end }}
{{- end }}
{{- if .Values.sso.enableGroupManagement }}
- name: "ENABLE_OAUTH_GROUP_MANAGEMENT"
value: "True"
- name: "OAUTH_GROUP_CLAIM"
value: {{ .Values.sso.groupManagement.groupsClaim | quote }}
{{- end }}
{{- if .Values.sso.trustedHeader.enabled }}
- name: "WEBUI_AUTH_TRUSTED_EMAIL_HEADER"
value: {{ .Values.sso.trustedHeader.emailHeader | quote }}
{{- if .Values.sso.trustedHeader.nameHeader }}
- name: "WEBUI_AUTH_TRUSTED_NAME_HEADER"
value: {{ .Values.sso.trustedHeader.nameHeader | quote }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.logging.level }}
{{- include "logging.assertValidLevel" .Values.logging.level }}
- name: "GLOBAL_LOG_LEVEL"
value: {{ .Values.logging.level | quote }}
{{- end }}
{{- if .Values.logging.components }}
{{- range $name, $level := .Values.logging.components }}
{{- if $level }}
{{- include "logging.componentEnvVar" (dict "componentName" $name "logLevel" $level) | indent 8 }}
{{- end }}
{{- end }}
{{- end }}
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}
{{- end }}
{{- if .Values.commonEnvVars }}
{{- toYaml .Values.commonEnvVars | nindent 8 }}
{{- end }}
{{- if .Values.extraEnvFrom }}
envFrom:
- configMapRef:
name: {{ include "open-webui.name" . }}-env
{{- toYaml .Values.extraEnvFrom | nindent 8 }}
{{- end }}
tty: true
{{- with .Values.nodeSelector }}
@@ -94,12 +383,16 @@ spec:
topologySpreadConstraints:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.hostAliases }}
hostAliases:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
{{- if and .Values.persistence.enabled .Values.persistence.existingClaim }}
- name: data
persistentVolumeClaim:
claimName: {{ .Values.persistence.existingClaim }}
{{- else if not .Values.persistence.enabled }}
{{- else if or (not .Values.persistence.enabled) (not (eq .Values.persistence.provider "local")) }}
- name: data
emptyDir: {}
{{- else if and .Values.persistence.enabled (not .Values.persistence.existingClaim) }}
@@ -107,3 +400,6 @@ spec:
persistentVolumeClaim:
claimName: {{ include "open-webui.name" . }}
{{- end }}
{{- with .Values.volumes }}
{{- toYaml . | nindent 6 }}
{{- end }}

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

@@ -1,5 +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
enabled: true
@@ -12,7 +12,10 @@ ollama:
# type: 'nvidia'
# number: 1
# models:
# - llama3
# pull:
# - llama3
# run:
# - llama3
# runtimeClassName: nvidia
# persistentVolume:
# enabled: true
@@ -24,48 +27,267 @@ 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: []
# -- 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
# -- Node selector for websocket pods
nodeSelector: {}
# -- 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 labels
labels: {}
# -- 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: ""
# -- Redis tolerations for pod assignment
tolerations: []
# -- Redis affinity for pod assignment
affinity: {}
# -- Redis security context
securityContext:
{}
# runAsUser: 999
# runAsGroup: 1000
# -- 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
# -- 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"
# -- Open WebUI container command (overrides default entrypoint)
command: []
# -- Open WebUI container arguments (overrides default)
args: []
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:
# -- Open WebUI copy-app-data init container command (overrides default)
command: []
# -- Open WebUI copy-app-data init container arguments (overrides default)
args: []
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: /
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: ""
# -- Additional custom labels to add to the Ingress metadata
# Useful for tagging, selecting, or applying policies to the Ingress via labels.
extraLabels: {}
# extraLabels:
# app.kubernetes.io/environment: "staging"
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: {}
# -- Sets the storage provider, availables values are `local`, `s3`, `gcs` or `azure`
provider: local
s3:
# -- Sets the access key ID for S3 storage
# @section -- Amazon S3 Storage configuration
accessKey: ""
# -- Sets the secret access key for S3 storage (ignored if secretKeyExistingSecret is set)
# @section -- Amazon S3 Storage configuration
secretKey: ""
# -- Set the secret access key for S3 storage from existing k8s secret
# @section -- Amazon S3 Storage configuration
secretKeyExistingSecret: ""
# -- Set the secret access key for S3 storage from existing k8s secret key
# @section -- Amazon S3 Storage configuration
secretKeyExistingSecretKey: ""
# -- Sets the endpoint url for S3 storage
# @section -- Amazon S3 Storage configuration
endpointUrl: ""
# -- Sets the region name for S3 storage
# @section -- Amazon S3 Storage configuration
region: ""
# -- Sets the bucket name for S3 storage
# @section -- Amazon S3 Storage configuration
bucket: ""
# -- Sets the key prefix for a S3 object
# @section -- Amazon S3 Storage configuration
keyPrefix: ""
gcs:
# -- Contents of Google Application Credentials JSON file (ignored if appCredentialsJsonExistingSecret is set). Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Google Metadata server if run on a Google Compute Engine. File can be generated for a service account following this guide: https://developers.google.com/workspace/guides/create-credentials#service-account
# @section -- Google Cloud Storage configuration
appCredentialsJson: ""
# -- Set the Google Application Credentials JSON file for Google Cloud Storage from existing secret
# @section -- Google Cloud Storage configuration
appCredentialsJsonExistingSecret: ""
# -- Set the Google Application Credentials JSON file for Google Cloud Storage from existing secret key
# @section -- Google Cloud Storage configuration
appCredentialsJsonExistingSecretKey: ""
# -- Sets the bucket name for Google Cloud Storage. Bucket must already exist
# @section -- Google Cloud Storage configuration
bucket: ""
azure:
# -- Sets the endpoint URL for Azure Storage
# @section -- Azure Storage configuration
endpointUrl: ""
# -- Sets the container name for Azure Storage
# @section -- Azure Storage configuration
container: ""
# -- Set the access key for Azure Storage (ignored if keyExistingSecret is set). Optional - if not provided, credentials will be taken from the environment. User credentials if run locally and Managed Identity if run in Azure services
# @section -- Azure Storage configuration
key: ""
# -- Set the access key for Azure Storage from existing secret
# @section -- Azure Storage configuration
keyExistingSecret: ""
# -- Set the access key for Azure Storage from existing secret key
# @section -- Azure Storage configuration
keyExistingSecretKey: ""
# -- Node labels for pod assignment.
nodeSelector: {}
@@ -79,6 +301,9 @@ affinity: {}
# -- Topology Spread Constraints for pod assignment
topologySpreadConstraints: []
# -- HostAliases to be added to hosts-file of each container
hostAliases: []
# -- Service values to expose Open WebUI pods to cluster
service:
type: ClusterIP
@@ -89,11 +314,20 @@ service:
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: ""
# -- Enables the use of OpenAI APIs
enableOpenaiApi: true
# -- Env vars added to the configmap and mounted to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/
extraEnvVars:
# -- 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: "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:
# -- 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!"
@@ -109,8 +343,53 @@ extraEnvVars:
# - name: OLLAMA_DEBUG
# value: "1"
# -- Env vars added to the Open WebUI deployment, common across environments. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ (caution: environment variables defined in both `extraEnvVars` and `commonEnvVars` will result in a conflict. Avoid duplicates)
commonEnvVars: []
# - name: RAG_EMBEDDING_ENGINE
# value: "openai"
# -- Env vars added from configmap or secret to the Open WebUI deployment. Most up-to-date environment variables can be found here: https://docs.openwebui.com/getting-started/env-configuration/ (caution: `extraEnvVars` will take precedence over the value from `extraEnvFrom`)
extraEnvFrom: []
# - configMapRef:
# name: my-config
# - secretRef:
# name: my-secret
# -- Configure runtime class
# ref: <https://kubernetes.io/docs/concepts/containers/runtime-class/>
runtimeClassName: ""
# -- Configure container volume mounts
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/>
volumeMounts:
initContainer: []
# - name: ""
# mountPath: ""
container: []
# - name: ""
# mountPath: ""
# -- Additional init containers to add to the deployment/statefulset
# ref: <https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>
extraInitContainers: []
# - name: custom-init
# image: busybox:latest
# command: ['sh', '-c', 'echo "Custom init container running"']
# volumeMounts:
# - name: data
# mountPath: /data
# -- 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>
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container>
podSecurityContext:
{}
# fsGroupChangePolicy: Always
@@ -133,3 +412,204 @@ containerSecurityContext:
# - ALL
# seccompProfile:
# type: "RuntimeDefault"
sso:
# -- **Enable SSO authentication globally** must enable to use SSO authentication
# @section -- SSO Configuration
enabled: false
# -- Enable account creation when logging in with OAuth (distinct from regular signup)
# @section -- SSO Configuration
enableSignup: false
# -- Allow logging into accounts that match email from OAuth provider (considered insecure)
# @section -- SSO Configuration
mergeAccountsByEmail: false
# -- Enable OAuth role management through access token roles claim
# @section -- SSO Configuration
enableRoleManagement: false
# -- Enable OAuth group management through access token groups claim
# @section -- SSO Configuration
enableGroupManagement: false
google:
# -- Enable Google OAuth
# @section -- Google OAuth configuration
enabled: false
# -- Google OAuth client ID
# @section -- Google OAuth configuration
clientId: ""
# -- Google OAuth client secret (ignored if clientExistingSecret is set)
# @section -- Google OAuth configuration
clientSecret: ""
# -- Google OAuth client secret from existing secret
# @section -- Google OAuth configuration
clientExistingSecret: ""
# -- Google OAuth client secret key from existing secret
# @section -- Google OAuth configuration
clientExistingSecretKey: ""
microsoft:
# -- Enable Microsoft OAuth
# @section -- Microsoft OAuth configuration
enabled: false
# -- Microsoft OAuth client ID
# @section -- Microsoft OAuth configuration
clientId: ""
# -- Microsoft OAuth client secret (ignored if clientExistingSecret is set)
# @section -- Microsoft OAuth configuration
clientSecret: ""
# -- Microsoft OAuth client secret from existing secret
# @section -- Microsoft OAuth configuration
clientExistingSecret: ""
# -- Microsoft OAuth client secret key from existing secret
# @section -- Microsoft OAuth configuration
clientExistingSecretKey: ""
# -- Microsoft tenant ID - use 9188040d-6c67-4c5b-b112-36a304b66dad for personal accounts
# @section -- Microsoft OAuth configuration
tenantId: ""
github:
# -- Enable GitHub OAuth
# @section -- GitHub OAuth configuration
enabled: false
# -- GitHub OAuth client ID
# @section -- GitHub OAuth configuration
clientId: ""
# -- GitHub OAuth client secret (ignored if clientExistingSecret is set)
# @section -- GitHub OAuth configuration
clientSecret: ""
# -- GitHub OAuth client secret from existing secret
# @section -- GitHub OAuth configuration
clientExistingSecret: ""
# -- GitHub OAuth client secret key from existing secret
# @section -- GitHub OAuth configuration
clientExistingSecretKey: ""
oidc:
# -- Enable OIDC authentication
# @section -- OIDC configuration
enabled: false
# -- OIDC client ID
# @section -- OIDC configuration
clientId: ""
# -- OIDC client secret (ignored if clientExistingSecret is set)
# @section -- OIDC configuration
clientSecret: ""
# -- OICD client secret from existing secret
# @section -- OIDC configuration
clientExistingSecret: ""
# -- OIDC client secret key from existing secret
# @section -- OIDC configuration
clientExistingSecretKey: ""
# -- OIDC provider well known URL
# @section -- OIDC configuration
providerUrl: ""
# -- Name of the provider to show on the UI
# @section -- OIDC configuration
providerName: "SSO"
# -- Scopes to request (space-separated).
# @section -- OIDC configuration
scopes: "openid email profile"
roleManagement:
# -- The claim that contains the roles (can be nested, e.g., user.roles)
# @section -- Role management configuration
rolesClaim: "roles"
# -- Comma-separated list of roles allowed to log in (receive open webui role user)
# @section -- Role management configuration
allowedRoles: ""
# -- Comma-separated list of roles allowed to log in as admin (receive open webui role admin)
# @section -- Role management configuration
adminRoles: ""
groupManagement:
# -- The claim that contains the groups (can be nested, e.g., user.memberOf)
# @section -- SSO Configuration
groupsClaim: "groups"
trustedHeader:
# -- Enable trusted header authentication
# @section -- SSO trusted header authentication
enabled: false
# -- Header containing the user's email address
# @section -- SSO trusted header authentication
emailHeader: ""
# -- Header containing the user's name (optional, used for new user creation)
# @section -- SSO trusted header authentication
nameHeader: ""
# -- Extra resources to deploy with Open WebUI
extraResources:
[]
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: example-configmap
# data:
# example-key: example-value
# -- Configure database URL, needed to work with Postgres (example: `postgresql://<user>:<password>@<service>:<port>/<database>`), leave empty to use the default sqlite database
databaseUrl: ""
# -- Postgresql configuration (see. https://artifacthub.io/packages/helm/bitnami/postgresql)
postgresql:
enabled: false
fullnameOverride: open-webui-postgres
architecture: standalone
auth:
database: open-webui
postgresPassword: 0p3n-w3bu!
username: open-webui
password: 0p3n-w3bu!
primary:
persistence:
size: 1Gi
resources:
requests:
memory: 256Mi
cpu: 250m
limits:
memory: 512Mi
cpu: 500m
# Configure Application logging levels (see. https://docs.openwebui.com/getting-started/advanced-topics/logging#-logging-levels-explained)
logging:
# -- Set the global log level ["notset", "debug", "info" (default), "warning", "error", "critical"]
# @section -- Logging configuration
level: ""
# Optional granularity: override log levels per subsystem/component
# if not set, it will use the global level (see. https://docs.openwebui.com/getting-started/advanced-topics/logging#%EF%B8%8F-appbackend-specific-logging-levels)
components:
# -- Set the log level for the Audio processing component
# @section -- Logging configuration
audio: ""
# -- Set the log level for the ComfyUI Integration component
# @section -- Logging configuration
comfyui: ""
# -- Set the log level for the Configuration Management component
# @section -- Logging configuration
config: ""
# -- Set the log level for the Database Operations (Peewee) component
# @section -- Logging configuration
db: ""
# -- Set the log level for the Image Generation component
# @section -- Logging configuration
images: ""
# -- Set the log level for the Main Application Execution component
# @section -- Logging configuration
main: ""
# -- Set the log level for the Model Management component
# @section -- Logging configuration
models: ""
# -- Set the log level for the Ollama Backend Integration component
# @section -- Logging configuration
ollama: ""
# -- Set the log level for the OpenAI API Integration component
# @section -- Logging configuration
openai: ""
# -- Set the log level for the Retrieval-Augmented Generation (RAG) component
# @section -- Logging configuration
rag: ""
# -- Set the log level for the Authentication Webhook component
# @section -- Logging configuration
webhook: ""

View File

@@ -1,6 +1,6 @@
apiVersion: v2
name: pipelines
version: 0.0.4
version: 0.7.0
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.7.0](https://img.shields.io/badge/Version-0.7.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
@@ -33,8 +33,13 @@ helm upgrade --install open-webui open-webui/pipelines
| affinity | object | `{}` | Affinity for pod assignment |
| annotations | object | `{}` | |
| clusterDomain | string | `"cluster.local"` | Value of cluster domain |
| commonEnvVars | list | `[]` | Additional environments variables on the output Deployment definition, common across environments |
| containerSecurityContext | object | `{}` | Configure container security context ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-containe> |
| 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 |
| extraInitContainers | list | `[]` | Additional init containers to add to the deployment ref: <https://kubernetes.io/docs/concepts/workloads/pods/init-containers/> |
| extraResources | list | `[]` | Extra resources to deploy with Open WebUI Pipelines |
| hostAliases | list | `[]` | HostAliases to be added to hosts-file of each container |
| image.pullPolicy | string | `"Always"` | |
| image.repository | string | `"ghcr.io/open-webui/pipelines"` | |
| image.tag | string | `"main"` | |
@@ -46,6 +51,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 +61,8 @@ helm upgrade --install open-webui open-webui/pipelines
| persistence.size | string | `"2Gi"` | |
| persistence.storageClass | string | `""` | |
| 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-container> |
| replicaCount | int | `1` | |
| resources | object | `{}` | |
| service.annotations | object | `{}` | |
@@ -64,7 +72,12 @@ 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` | |
| strategy | object | `{}` | Strategy for updating the deployment |
| tolerations | list | `[]` | Tolerations for pod assignment |
| volumeMounts | list | `[]` | 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/> |
----------------------------------------------

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 }}
@@ -13,10 +14,17 @@ spec:
selector:
matchLabels:
{{- include "pipelines.selectorLabels" . | nindent 6 }}
{{- with .Values.strategy }}
strategy:
{{- toYaml . | nindent 4 }}
{{- end }}
template:
metadata:
labels:
{{- include "pipelines.labels" . | nindent 8 }}
{{- with .Values.podLabels }}
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
@@ -26,8 +34,19 @@ spec:
imagePullSecrets:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.extraInitContainers }}
initContainers:
{{- 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 }}
{{- with .Values.podSecurityContext }}
securityContext:
{{- toYaml . | nindent 8 }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
{{- with .Values.image }}
@@ -40,13 +59,23 @@ spec:
{{- with .Values.resources }}
resources: {{- toYaml . | nindent 10 }}
{{- end }}
{{- with .Values.containerSecurityContext }}
securityContext:
{{- toYaml . | nindent 10 }}
{{- end }}
volumeMounts:
- name: data
mountPath: /app/backend/data
mountPath: /app/pipelines
{{- with .Values.volumeMounts }}
{{- toYaml . | nindent 8 }}
{{- end }}
env:
{{- if .Values.extraEnvVars }}
{{- toYaml .Values.extraEnvVars | nindent 8 }}
{{- end }}
{{- if .Values.commonEnvVars }}
{{- toYaml .Values.commonEnvVars | nindent 8 }}
{{- end }}
tty: true
{{- with .Values.nodeSelector }}
nodeSelector:
@@ -60,6 +89,10 @@ spec:
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.hostAliases }}
hostAliases:
{{- toYaml . | nindent 8 }}
{{- end }}
volumes:
{{- if and .Values.persistence.enabled .Values.persistence.existingClaim }}
- name: data
@@ -73,3 +106,6 @@ spec:
persistentVolumeClaim:
claimName: {{ include "pipelines.name" . }}
{{- end }}
{{- with .Values.volumes }}
{{- toYaml . | nindent 6 }}
{{- end }}

View File

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

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,11 +1,15 @@
nameOverride: ""
namespaceOverride: ""
# -- Value of cluster domain
clusterDomain: cluster.local
annotations: {}
podAnnotations: {}
podLabels: {}
replicaCount: 1
# -- Strategy for updating the deployment
strategy: {}
image:
repository: ghcr.io/open-webui/pipelines
tag: main
@@ -38,6 +42,35 @@ persistence:
selector: {}
annotations: {}
serviceAccount:
enable: true
automountServiceAccountToken: false
# -- Configure pod security context
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container>
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"
# -- Node labels for pod assignment.
nodeSelector: {}
@@ -47,6 +80,9 @@ tolerations: []
# -- Affinity for pod assignment
affinity: {}
# -- HostAliases to be added to hosts-file of each container
hostAliases: []
service:
type: ClusterIP
annotations: {}
@@ -61,6 +97,11 @@ extraEnvVars:
# -- Example pipeline to pull and load on deployment startup, see current pipelines here: https://github.com/open-webui/pipelines/blob/main/examples
- name: PIPELINES_URLS
value: "https://github.com/open-webui/pipelines/blob/main/examples/filters/detoxify_filter_pipeline.py"
# - name: PIPELINES_API_KEY
# valueFrom:
# secretKeyRef:
# name: pipelines-keys
# key: pipelines-api-key
# -- Langfuse example, including values used in Langfuse filter to connect
# - name: PIPELINES_URLS
# value: "https://github.com/open-webui/pipelines/blob/main/examples/filters/langfuse_filter_pipeline.py"
@@ -76,3 +117,44 @@ extraEnvVars:
# key: secret-key
# - name: LANGFUSE_HOST
# value: https://us.cloud.langfuse.com
# -- Additional environments variables on the output Deployment definition, common across environments.
commonEnvVars: []
# -- Configure container volume mounts
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/>
volumeMounts: []
# - name: ""
# mountPath: ""
# -- Additional init containers to add to the deployment
# ref: <https://kubernetes.io/docs/concepts/workloads/pods/init-containers/>
extraInitContainers: []
# - name: custom-init
# image: busybox:latest
# command: ['sh', '-c', 'echo "Custom init container running"']
# volumeMounts:
# - name: data
# mountPath: /data
# -- Configure pod volumes
# ref: <https://kubernetes.io/docs/tasks/configure-pod-container/configure-volume-storage/>
volumes: []
# - name: ""
# configMap:
# name: ""
# - name: ""
# secret:
# name: ""
# - name: ""
# emptyDir: {}
# -- Extra resources to deploy with Open WebUI Pipelines
extraResources:
[]
# - apiVersion: v1
# kind: ConfigMap
# metadata:
# name: example-configmap
# data:
# example-key: example-value

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"
}
}