add open-webui

This commit is contained in:
user
2024-03-21 20:51:29 -05:00
parent 551ed10e69
commit 7eb4e0262e
7 changed files with 145 additions and 0 deletions

7
open-webui/Chart.yaml Normal file
View File

@@ -0,0 +1,7 @@
apiVersion: v2
name: open-webui
description: A Helm chart for Kubernetes
type: application
version: 0.1.0
appVersion: "1.16.0"

View File

@@ -0,0 +1,37 @@
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: open-webui
name: open-webui
labels:
app: open-webui
spec:
selector:
matchLabels:
app: open-webui
replicas: 1
template:
metadata:
labels:
app: open-webui
spec:
containers:
- name: open-webui
image: registry.internal.durp.info/open-webui/open-webui:main
imagePullPolicy: Always
volumeMounts:
- name: open-webui-pvc
mountPath: /app/backend/data
ports:
- name: http
containerPort: 8080
env:
- name: OLLAMA_BASE_URL
valueFrom:
secretKeyRef:
name: open-webui-secret
key: OLLAMA_BASE_URL
volumes:
- name: open-webui-pvc
persistentVolumeClaim:
claimName: open-webui-pvc

View File

@@ -0,0 +1,42 @@
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: open-webui-ingress
spec:
entryPoints:
- websecure
routes:
- match: Host(`open-webui.durp.info`) && PathPrefix(`/`)
kind: Rule
services:
- name: open-webui
port: 8080
tls:
secretName: open-webui-tls
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: open-webui-tls
spec:
secretName: open-webui-tls
issuerRef:
name: letsencrypt-production
kind: ClusterIssuer
commonName: "open-webui.durp.info"
dnsNames:
- "open-webui.durp.info"
---
kind: Service
apiVersion: v1
metadata:
name: open-webui-external-dns
annotations:
external-dns.alpha.kubernetes.io/hostname: open-webui.durp.info
spec:
type: ExternalName
externalName: durp.info

View File

@@ -0,0 +1,11 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: open-webui-pvc
spec:
storageClassName: longhorn
accessModes:
- ReadWriteMany
resources:
requests:
storage: 10Gi

View File

@@ -0,0 +1,16 @@
apiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: open-webui-secret
spec:
secretStoreRef:
name: vault
kind: ClusterSecretStore
target:
name: open-webui-secret
data:
- secretKey: OLLAMA_BASE_URL
remoteRef:
key: secrets/open-webui
property: OLLAMA_BASE_URL

View File

@@ -0,0 +1,12 @@
apiVersion: v1
kind: Service
metadata:
name: open-webui
spec:
ports:
- name: http
port: 8080
targetPort: 8080
protocol: TCP
selector:
app: open-webui