Add OpenWebUI application
This commit is contained in:
parent
9ccce95b25
commit
7bd7a61ff9
11
apps/open-webui/Chart.yaml
Normal file
11
apps/open-webui/Chart.yaml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
name: open-webui
|
||||||
|
description: Open WebUI wrapper chart
|
||||||
|
type: application
|
||||||
|
version: 1.0.0
|
||||||
|
appVersion: "0.9.5"
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
- name: open-webui
|
||||||
|
version: 14.5.0
|
||||||
|
repository: https://helm.openwebui.com/
|
||||||
24
apps/open-webui/README.md
Normal file
24
apps/open-webui/README.md
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
# OpenWebUI
|
||||||
|
|
||||||
|
OpenWebUI is exposed at `https://openwebui.noxxos.nl` and connects to the
|
||||||
|
OpenAI-compatible llama.cpp endpoint at `http://framework-llm:8080/v1`.
|
||||||
|
|
||||||
|
## Authentik
|
||||||
|
|
||||||
|
Create an Authentik OAuth2/OIDC provider and application with slug
|
||||||
|
`open-webui`.
|
||||||
|
|
||||||
|
Allowed redirect URI:
|
||||||
|
|
||||||
|
```text
|
||||||
|
https://openwebui.noxxos.nl/oauth/oidc/callback
|
||||||
|
```
|
||||||
|
|
||||||
|
Create the OIDC client secret in Kubernetes before syncing the app:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
kubectl create namespace open-webui
|
||||||
|
kubectl -n open-webui create secret generic open-webui-oidc \
|
||||||
|
--from-literal=client-id='<authentik-client-id>' \
|
||||||
|
--from-literal=client-secret='<authentik-client-secret>'
|
||||||
|
```
|
||||||
40
apps/open-webui/application.yaml
Normal file
40
apps/open-webui/application.yaml
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
apiVersion: argoproj.io/v1alpha1
|
||||||
|
kind: Application
|
||||||
|
metadata:
|
||||||
|
name: open-webui
|
||||||
|
namespace: argocd
|
||||||
|
annotations:
|
||||||
|
argocd.argoproj.io/sync-wave: "2"
|
||||||
|
finalizers:
|
||||||
|
- resources-finalizer.argocd.argoproj.io
|
||||||
|
spec:
|
||||||
|
project: default
|
||||||
|
source:
|
||||||
|
repoURL: https://git.mvzijl.nl/marco/veda.git
|
||||||
|
targetRevision: applicationset-rewrite
|
||||||
|
path: apps/open-webui
|
||||||
|
helm:
|
||||||
|
releaseName: open-webui
|
||||||
|
valueFiles:
|
||||||
|
- values.yaml
|
||||||
|
destination:
|
||||||
|
server: https://kubernetes.default.svc
|
||||||
|
namespace: open-webui
|
||||||
|
ignoreDifferences:
|
||||||
|
- group: gateway.networking.k8s.io
|
||||||
|
kind: HTTPRoute
|
||||||
|
jqPathExpressions:
|
||||||
|
- .spec.parentRefs[] | .group, .kind
|
||||||
|
- .spec.rules[].backendRefs[] | .group, .kind, .weight
|
||||||
|
syncPolicy:
|
||||||
|
automated:
|
||||||
|
prune: true
|
||||||
|
selfHeal: true
|
||||||
|
syncOptions:
|
||||||
|
- CreateNamespace=true
|
||||||
|
- ServerSideApply=true
|
||||||
|
managedNamespaceMetadata:
|
||||||
|
labels:
|
||||||
|
pod-security.kubernetes.io/enforce: baseline
|
||||||
|
pod-security.kubernetes.io/audit: baseline
|
||||||
|
pod-security.kubernetes.io/warn: baseline
|
||||||
95
apps/open-webui/values.yaml
Normal file
95
apps/open-webui/values.yaml
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
open-webui:
|
||||||
|
ollama:
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
ollamaUrls: []
|
||||||
|
|
||||||
|
pipelines:
|
||||||
|
enabled: true
|
||||||
|
ingress:
|
||||||
|
enabled: false
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: ceph-block
|
||||||
|
size: 5Gi
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 256Mi
|
||||||
|
limits:
|
||||||
|
memory: 1Gi
|
||||||
|
extraEnvVars:
|
||||||
|
- name: PIPELINES_API_KEY
|
||||||
|
value: 0p3n-w3bu!
|
||||||
|
- name: PIPELINES_URLS
|
||||||
|
value: ""
|
||||||
|
|
||||||
|
websocket:
|
||||||
|
enabled: true
|
||||||
|
manager: redis
|
||||||
|
redis:
|
||||||
|
enabled: true
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 25m
|
||||||
|
memory: 64Mi
|
||||||
|
limits:
|
||||||
|
memory: 256Mi
|
||||||
|
|
||||||
|
replicaCount: 1
|
||||||
|
|
||||||
|
resources:
|
||||||
|
requests:
|
||||||
|
cpu: 100m
|
||||||
|
memory: 512Mi
|
||||||
|
limits:
|
||||||
|
memory: 2Gi
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: ClusterIP
|
||||||
|
|
||||||
|
route:
|
||||||
|
enabled: true
|
||||||
|
hostnames:
|
||||||
|
- openwebui.noxxos.nl
|
||||||
|
parentRefs:
|
||||||
|
- name: traefik-gateway
|
||||||
|
namespace: traefik
|
||||||
|
sectionName: websecure
|
||||||
|
|
||||||
|
persistence:
|
||||||
|
enabled: true
|
||||||
|
storageClass: ceph-block
|
||||||
|
size: 20Gi
|
||||||
|
|
||||||
|
enableOpenaiApi: true
|
||||||
|
openaiBaseApiUrls:
|
||||||
|
- http://framework-llm:8080/v1
|
||||||
|
openaiApiKeys:
|
||||||
|
- 0p3n-w3bu!
|
||||||
|
- not-needed
|
||||||
|
|
||||||
|
extraEnvVars:
|
||||||
|
- name: WEBUI_URL
|
||||||
|
value: https://openwebui.noxxos.nl
|
||||||
|
- name: CORS_ALLOW_ORIGIN
|
||||||
|
value: https://openwebui.noxxos.nl
|
||||||
|
- name: WEBUI_SESSION_COOKIE_SECURE
|
||||||
|
value: "true"
|
||||||
|
- name: WEBUI_AUTH_COOKIE_SECURE
|
||||||
|
value: "true"
|
||||||
|
- name: WEBUI_SESSION_COOKIE_SAME_SITE
|
||||||
|
value: lax
|
||||||
|
- name: WEBUI_AUTH_COOKIE_SAME_SITE
|
||||||
|
value: lax
|
||||||
|
|
||||||
|
sso:
|
||||||
|
enabled: true
|
||||||
|
enableSignup: true
|
||||||
|
oidc:
|
||||||
|
enabled: true
|
||||||
|
providerName: Authentik
|
||||||
|
providerUrl: https://sso.noxxos.nl/application/o/open-webui/.well-known/openid-configuration
|
||||||
|
clientExistingSecret: open-webui-oidc
|
||||||
|
clientIdExistingSecretKey: client-id
|
||||||
|
clientExistingSecretKey: client-secret
|
||||||
Loading…
Reference in New Issue
Block a user