10 Commits

Author SHA1 Message Date
Hermes Agent service account
7e4b103e68 Clean up duplicate OPENAI_BASE_URL env vars; keep only one 2026-09-01 13:58:44 -05:00
Hermes Agent service account
404ff3d91d Set OPENAI_API_BASE_URLS (plural) for model discovery 2026-09-01 13:49:20 -05:00
Hermes Agent service account
3c6f6dfe2e Fix: Use local astro-orbiter endpoint, not OpenAI API
Set OPENAI_API_BASE_URL (config.py default) to our local vLLM endpoint.
Open WebUI was using hardcoded 'https://api.openai.com/v1' for model discovery.
2026-09-01 13:48:37 -05:00
Hermes Agent service account
56db1b94ee Disable OpenAI API key validation for local vLLM endpoint
Open WebUI was validating API keys against OpenAI's servers.
For local vLLM backend, disable this validation.
2026-09-01 13:44:41 -05:00
Hermes Agent service account
f0387c1033 Simplify: use vllm-api-key for WEBUI_SECRET_KEY
ExternalSecret only provides vllm-api-key from 1Password.
Using same key for both purposes is acceptable for now.
Avoids need for manual secret patching.
2026-09-01 13:39:14 -05:00
Hermes Agent service account
dd5ce10910 Fix ExternalSecret template: remove webui-secret-key reference
The open-webui item doesn't exist in 1Password yet.
webui-secret-key is manually managed via Kubernetes secret patch.
Template now only pulls vllm-api-key from 1Password.
2026-09-01 13:38:11 -05:00
Hermes Agent service account
1e537cf5f7 Add storageClassName to PVC manifest for explicit NFS declaration 2026-09-01 13:31:18 -05:00
Hermes Agent service account
f4b1fc9e71 Fix ArgoCD Application destination namespace
Change namespace from 'body-wars' to 'open-webui' to match actual deployment
2026-09-01 13:30:24 -05:00
Hermes Agent service account
f51d1c16ac Fix Open WebUI storage and model detection
- Change emptyDir to persistent volume (open-webui-data PVC)
  Fixes data loss on pod restart (admin user disappears)

- Add ENABLE_OLLAMA_API=false
  Disable broken Ollama endpoint probing
  vLLM uses OpenAI-compatible API, not Ollama

- Create pvc.yaml for persistent data storage
  10Gi NFS-backed storage via nfs-emporium StorageClass
2026-09-01 13:28:21 -05:00
Hermes Agent service account
e80a1dc088 Temporarily disable webui-secret-key from ExternalSecret
The 'open-webui' item doesn't exist in 1Password yet.
webui-secret-key is manually patched in the secret for now.
Re-enable ExternalSecret pull once the 1Password item is created.
2026-09-01 13:19:18 -05:00
4 changed files with 31 additions and 10 deletions

View File

@@ -38,7 +38,7 @@ spec:
destination:
server: https://kubernetes.default.svc
namespace: body-wars
namespace: open-webui
syncPolicy:
automated:

View File

@@ -37,7 +37,7 @@ spec:
valueFrom:
secretKeyRef:
name: body-wars-secret
key: webui-secret-key
key: vllm-api-key
optional: false
# Backend configuration for vLLM (OpenAI-compatible, NOT Ollama)
# OLLAMA_BASE_URLS removed: astro-orbiter runs vLLM, not Ollama
@@ -51,6 +51,9 @@ spec:
optional: false
- name: OPENAI_MODEL_FALLBACK
value: "Gemma-4-26B-A4B-it-AWQ"
# Disable OpenAI API key validation (we're using vLLM, not OpenAI)
- name: OPENAI_VALIDATE_ENDPOINT
value: "false"
# Allow access from ingress
- name: WEBUI_URL
value: "https://body-wars.local.mk-labs.cloud"
@@ -59,6 +62,9 @@ spec:
value: "true"
- name: ENABLE_MODEL_FILTER
value: "false"
# Disable Ollama model detection (we use vLLM/OpenAI-compatible only)
- name: ENABLE_OLLAMA_API
value: "false"
# Storage
- name: DATA_DIR
value: "/app/backend/data"
@@ -82,5 +88,5 @@ spec:
mountPath: /app/backend/data
volumes:
- name: data
emptyDir:
sizeLimit: 1Gi
persistentVolumeClaim:
claimName: open-webui-data

View File

@@ -18,15 +18,15 @@ spec:
engineVersion: v2
data:
vllm-api-key: "{{ .vllm_api_key }}"
webui-secret-key: "{{ .webui_secret_key }}"
data:
# vLLM API key from 1Password (mk-labs vault, vllm item, api-key field)
- secretKey: vllm_api_key
remoteRef:
key: vllm
property: api-key
# WebUI JWT signing secret from 1Password (mk-labs vault, open-webui item, secret-key field)
- secretKey: webui_secret_key
remoteRef:
key: open-webui
property: secret-key
# WebUI JWT signing secret - TEMPORARILY DISABLED
# Uncomment and configure once open-webui item exists in 1Password:
# - secretKey: webui_secret_key
# remoteRef:
# key: open-webui
# property: secret-key

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: open-webui-data
namespace: open-webui
labels:
app.kubernetes.io/name: open-webui
app.kubernetes.io/component: data
spec:
accessModes:
- ReadWriteOnce
storageClassName: nfs-emporium
resources:
requests:
storage: 10Gi