diff --git a/apps/kustomization.yaml b/apps/kustomization.yaml index 7f5c633..e339d19 100644 --- a/apps/kustomization.yaml +++ b/apps/kustomization.yaml @@ -10,3 +10,4 @@ resources: - nas - searxng - ispeak3 + - openwebui diff --git a/apps/openwebui/kustomization.yaml b/apps/openwebui/kustomization.yaml new file mode 100644 index 0000000..ad7ceac --- /dev/null +++ b/apps/openwebui/kustomization.yaml @@ -0,0 +1,7 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - namespace.yaml + - pvc.yaml + - pvc-pipelines.yaml + - release.yaml diff --git a/apps/openwebui/namespace.yaml b/apps/openwebui/namespace.yaml new file mode 100644 index 0000000..e02fb97 --- /dev/null +++ b/apps/openwebui/namespace.yaml @@ -0,0 +1,4 @@ +apiVersion: v1 +kind: Namespace +metadata: + name: openwebui diff --git a/apps/openwebui/pvc-pipelines.yaml b/apps/openwebui/pvc-pipelines.yaml new file mode 100644 index 0000000..7036b25 --- /dev/null +++ b/apps/openwebui/pvc-pipelines.yaml @@ -0,0 +1,46 @@ +--- +apiVersion: local.openebs.io/v1alpha1 +kind: LVMVolume +metadata: + labels: + kubernetes.io/nodename: anapistula-delrosalae + name: openwebui-pipelines-lvmhdd + namespace: openebs +spec: + capacity: 1Gi + ownerNodeID: anapistula-delrosalae + shared: "yes" + thinProvision: "no" + vgPattern: ^openebs-hdd$ + volGroup: openebs-hdd +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: openwebui-pipelines-lvmhdd +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: hdd-lvmpv + volumeMode: Filesystem + csi: + driver: local.csi.openebs.io + fsType: btrfs + volumeHandle: openwebui-pipelines-lvmhdd +--- +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: openwebui-pipelines-lvmhdd + namespace: openwebui +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: hdd-lvmpv + volumeName: openwebui-pipelines-lvmhdd diff --git a/apps/openwebui/pvc.yaml b/apps/openwebui/pvc.yaml new file mode 100644 index 0000000..51b34ea --- /dev/null +++ b/apps/openwebui/pvc.yaml @@ -0,0 +1,46 @@ +--- +apiVersion: local.openebs.io/v1alpha1 +kind: LVMVolume +metadata: + labels: + kubernetes.io/nodename: anapistula-delrosalae + name: openwebui-lvmhdd + namespace: openebs +spec: + capacity: 1Gi + ownerNodeID: anapistula-delrosalae + shared: "yes" + thinProvision: "no" + vgPattern: ^openebs-hdd$ + volGroup: openebs-hdd +--- +kind: PersistentVolume +apiVersion: v1 +metadata: + name: openwebui-lvmhdd +spec: + capacity: + storage: 1Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: hdd-lvmpv + volumeMode: Filesystem + csi: + driver: local.csi.openebs.io + fsType: btrfs + volumeHandle: openwebui-lvmhdd +--- +kind: PersistentVolumeClaim +apiVersion: v1 +metadata: + name: openwebui-lvmhdd + namespace: openwebui +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi + storageClassName: hdd-lvmpv + volumeName: openwebui-lvmhdd diff --git a/apps/openwebui/release.yaml b/apps/openwebui/release.yaml new file mode 100644 index 0000000..02d9985 --- /dev/null +++ b/apps/openwebui/release.yaml @@ -0,0 +1,52 @@ +--- +apiVersion: source.toolkit.fluxcd.io/v1 +kind: HelmRepository +metadata: + name: open-webui + namespace: openwebui +spec: + interval: 24h + url: https://open-webui.github.io/helm-charts +--- +apiVersion: helm.toolkit.fluxcd.io/v2 +kind: HelmRelease +metadata: + name: openwebui + namespace: openwebui +spec: + interval: 30m + chart: + spec: + chart: open-webui + version: 12.5.0 + sourceRef: + kind: HelmRepository + name: open-webui + values: + ingress: + enabled: true + class: nginx-ingress + host: openwebui.lumpiasty.xyz + tls: true + existingSecret: openwebui-ingress + annotations: + cert-manager.io/cluster-issuer: letsencrypt + nginx.ingress.kubernetes.io/proxy-body-size: "0" + nginx.ingress.kubernetes.io/proxy-buffering: "false" + nginx.ingress.kubernetes.io/proxy-read-timeout: 30m + + persistence: + enabled: true + existingClaim: openwebui-lvmhdd + + enableOpenaiApi: true + openaiBaseApiUrl: "http://llama.llama.svc.cluster.local:11434/v1" + + ollama: + enabled: false + + pipelines: + enabled: true + persistence: + enabled: true + existingClaim: openwebui-pipelines-lvmhdd