From 97da42b15c5c927d2c10955041bc338cbcd7e292 Mon Sep 17 00:00:00 2001 From: Nikholas Pcenicni <82239765+nikpcenicni@users.noreply.github.com> Date: Thu, 14 May 2026 23:36:35 -0400 Subject: [PATCH] Add open-webui resource to Kustomization configuration for Noble cluster, enhancing application deployment structure. --- clusters/noble/apps/kustomization.yaml | 1 + .../noble/apps/open-webui/application.yaml | 32 +++++++++++++++++ .../noble/apps/open-webui/kustomization.yaml | 5 +++ clusters/noble/apps/open-webui/values.yaml | 36 +++++++++++++++++++ 4 files changed, 74 insertions(+) create mode 100644 clusters/noble/apps/open-webui/application.yaml create mode 100644 clusters/noble/apps/open-webui/kustomization.yaml create mode 100644 clusters/noble/apps/open-webui/values.yaml diff --git a/clusters/noble/apps/kustomization.yaml b/clusters/noble/apps/kustomization.yaml index b498049..d124924 100644 --- a/clusters/noble/apps/kustomization.yaml +++ b/clusters/noble/apps/kustomization.yaml @@ -5,4 +5,5 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - homepage + - open-webui - trivy diff --git a/clusters/noble/apps/open-webui/application.yaml b/clusters/noble/apps/open-webui/application.yaml new file mode 100644 index 0000000..18833ed --- /dev/null +++ b/clusters/noble/apps/open-webui/application.yaml @@ -0,0 +1,32 @@ +# Argo CD — [Open WebUI](https://openwebui.com/) ([helm chart](https://github.com/open-webui/helm-charts)). +# Values: **`./values.yaml`** (multi-source **`$values`** ref). +# +apiVersion: argoproj.io/v1alpha1 +kind: Application +metadata: + name: open-webui + namespace: argocd + finalizers: + - resources-finalizer.argocd.argoproj.io/background +spec: + project: default + sources: + - repoURL: https://helm.openwebui.com + chart: open-webui + targetRevision: 14.5.0 + helm: + releaseName: open-webui + valueFiles: + - $values/clusters/noble/apps/open-webui/values.yaml + - repoURL: https://gitea.pcenicni.ca/gsdavidp/home-server.git + targetRevision: HEAD + ref: values + destination: + server: https://kubernetes.default.svc + namespace: open-webui + syncPolicy: + automated: + prune: true + selfHeal: true + syncOptions: + - CreateNamespace=true diff --git a/clusters/noble/apps/open-webui/kustomization.yaml b/clusters/noble/apps/open-webui/kustomization.yaml new file mode 100644 index 0000000..6f311ba --- /dev/null +++ b/clusters/noble/apps/open-webui/kustomization.yaml @@ -0,0 +1,5 @@ +# Helm values live alongside but are not kustomize resources — Argo loads them via **$values** in **application.yaml**. +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: + - application.yaml diff --git a/clusters/noble/apps/open-webui/values.yaml b/clusters/noble/apps/open-webui/values.yaml new file mode 100644 index 0000000..6798375 --- /dev/null +++ b/clusters/noble/apps/open-webui/values.yaml @@ -0,0 +1,36 @@ +# Open WebUI — https://github.com/open-webui/helm-charts (chart **open-webui**). +# Ingress: Traefik + cert-manager (same pattern as **`clusters/noble/apps/homepage/values.yaml`**). +# +# After sync: set an OpenAI-compatible API key (**`openaiApiKey`** below or **`openaiApiKeyExistingSecret`**), +# or enable in-cluster **Ollama** / **Pipelines** in this file. Chart defaults ship a placeholder key — override before use. +# +# Optional: protect with ForwardAuth like **`clusters/noble/bootstrap/longhorn/values-authentik-forwardauth.yaml`**. +# +ollama: + enabled: false + +pipelines: + enabled: false + +# External Ollama (when not using the subchart), e.g. `http://ollama.ollama.svc.cluster.local:11434` +ollamaUrls: [] + +ingress: + enabled: true + class: traefik + annotations: + cert-manager.io/cluster-issuer: letsencrypt-prod + host: open-webui.apps.noble.lab.pcenicni.dev + additionalHosts: [] + tls: true + existingSecret: "" + +enableOpenaiApi: true +openaiBaseApiUrl: "https://api.openai.com/v1" +openaiApiKey: "" +# openaiApiKeyExistingSecret: open-webui-openai +# openaiApiKeyExistingSecretKey: api-key + +persistence: + enabled: true + size: 5Gi