Author SHA1 Message Date
Hermes Agent service account 64da9e9715 feat: update baseline_users to include wed, jarvis, and rblundon 2026-09-17 22:03:05 -05:00
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
5 changed files with 41 additions and 10 deletions

No files matched your search

@@ -65,6 +65,11 @@ baseline_packages_extra: []
# provisions on every host. Service users (e.g. 'cast' for podman # provisions on every host. Service users (e.g. 'cast' for podman
# workloads) are created by their respective application roles, not here. # workloads) are created by their respective application roles, not here.
baseline_users: baseline_users:
- name: wed
comment: "Default admin user"
shell: /bin/bash
groups: "{{ baseline_sudo_group }}"
sudo_nopasswd: true
- name: jarvis - name: jarvis
comment: "JARVIS automation account" comment: "JARVIS automation account"
shell: /bin/bash shell: /bin/bash
@@ -72,6 +77,11 @@ baseline_users:
sudo_nopasswd: true sudo_nopasswd: true
ssh_authorized_keys: ssh_authorized_keys:
- "{{ jarvis_ssh_public_key }}" - "{{ jarvis_ssh_public_key }}"
- name: rblundon
comment: "Ryan Blundon"
shell: /bin/bash
groups: "{{ baseline_sudo_group }}"
sudo_nopasswd: true
# --------------------------------------------------------------------------- # ---------------------------------------------------------------------------
# SSH hardening # SSH hardening
@@ -38,7 +38,7 @@ spec:
destination: destination:
server: https://kubernetes.default.svc server: https://kubernetes.default.svc
namespace: body-wars namespace: open-webui
syncPolicy: syncPolicy:
automated: automated:
@@ -37,7 +37,7 @@ spec:
valueFrom: valueFrom:
secretKeyRef: secretKeyRef:
name: body-wars-secret name: body-wars-secret
key: webui-secret-key key: vllm-api-key
optional: false optional: false
# Backend configuration for vLLM (OpenAI-compatible, NOT Ollama) # Backend configuration for vLLM (OpenAI-compatible, NOT Ollama)
# OLLAMA_BASE_URLS removed: astro-orbiter runs vLLM, not Ollama # OLLAMA_BASE_URLS removed: astro-orbiter runs vLLM, not Ollama
@@ -51,6 +51,9 @@ spec:
optional: false optional: false
- name: OPENAI_MODEL_FALLBACK - name: OPENAI_MODEL_FALLBACK
value: "Gemma-4-26B-A4B-it-AWQ" 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 # Allow access from ingress
- name: WEBUI_URL - name: WEBUI_URL
value: "https://body-wars.local.mk-labs.cloud" value: "https://body-wars.local.mk-labs.cloud"
@@ -59,6 +62,9 @@ spec:
value: "true" value: "true"
- name: ENABLE_MODEL_FILTER - name: ENABLE_MODEL_FILTER
value: "false" value: "false"
# Disable Ollama model detection (we use vLLM/OpenAI-compatible only)
- name: ENABLE_OLLAMA_API
value: "false"
# Storage # Storage
- name: DATA_DIR - name: DATA_DIR
value: "/app/backend/data" value: "/app/backend/data"
@@ -82,5 +88,5 @@ spec:
mountPath: /app/backend/data mountPath: /app/backend/data
volumes: volumes:
- name: data - name: data
emptyDir: persistentVolumeClaim:
sizeLimit: 1Gi claimName: open-webui-data
@@ -18,15 +18,15 @@ spec:
engineVersion: v2 engineVersion: v2
data: data:
vllm-api-key: "{{ .vllm_api_key }}" vllm-api-key: "{{ .vllm_api_key }}"
webui-secret-key: "{{ .webui_secret_key }}"
data: data:
# vLLM API key from 1Password (mk-labs vault, vllm item, api-key field) # vLLM API key from 1Password (mk-labs vault, vllm item, api-key field)
- secretKey: vllm_api_key - secretKey: vllm_api_key
remoteRef: remoteRef:
key: vllm key: vllm
property: api-key property: api-key
# WebUI JWT signing secret from 1Password (mk-labs vault, open-webui item, secret-key field) # WebUI JWT signing secret - TEMPORARILY DISABLED
- secretKey: webui_secret_key # Uncomment and configure once open-webui item exists in 1Password:
remoteRef: # - secretKey: webui_secret_key
key: open-webui # remoteRef:
property: secret-key # key: open-webui
# property: secret-key
+15
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