Commit graph

539 commits

Author SHA1 Message Date
sirius0xdev
da7957251f
Update deployment.yaml 2026-05-07 13:23:15 -04:00
sirius0xdev
07bb6c0059
Update deployment.yaml 2026-05-07 13:15:25 -04:00
sirius0xdev
b281e7a4ad
Update deployment.yaml 2026-05-07 13:09:48 -04:00
sirius0xdev
96e68cfa0e
Update deployment.yaml 2026-05-07 13:07:50 -04:00
sirius0xdev
4e403e757d
Update deployment.yaml 2026-05-07 13:00:37 -04:00
sirius0xdev
507189b401
Update deployment.yaml 2026-05-07 12:52:36 -04:00
sirius0xdev
e67a709a53
Update deployment.yaml 2026-05-07 12:43:55 -04:00
sirius0xdev
d19174893a
Update deployment.yaml 2026-05-07 12:38:15 -04:00
sirius0xdev
6dd3d5be0e
Update deployment.yaml 2026-05-07 12:32:35 -04:00
sirius0xdev
d5affa58b9
Update deployment.yaml 2026-05-07 12:26:26 -04:00
sirius0xdev
f7d77a70d5
Update deployment.yaml 2026-05-07 12:14:57 -04:00
sirius0xdev
e012b19ddf
Update deployment.yaml 2026-05-07 12:08:08 -04:00
Hermes Agent
d2f011956e fix: hermes-webui container start failure due to PodSecurity restricted policy
- Updated pod.spec.securityContext and all container/initContainer securityContext to be fully compliant with restricted:latest (runAsNonRoot: true, allowPrivilegeEscalation: false, runAsUser: 1000, capabilities drop ALL, seccomp RuntimeDefault, fsGroup)
- Changed initContainer from root chown to non-root mkdir/chmod relying on fsGroup (avoids PSA violation)
- Updated default model to grok-4.20-0309-reasoning (per xAI switch note)
- Added automountServiceAccountToken: false and imagePullPolicy for best practices (matches openclaw deployment pattern)
- hermes-webui now runs as non-root with WANTED_UID matching

This should resolve the container not starting. Leave PR open for review before merge.
2026-05-07 14:52:13 +00:00
Hermes Agent
560f5b76cf fix(hermes-webui): webui runAsUser: 0 to trigger image entrypoint chown/gosu
- WANTED_UID=1000 detects root → chowns volumes + gosu 1000 app (runtime non-root)
- Fixes whoami (root phase OK) + double-perm fix w/ init
- PodSecurity OK (per-container fields; pod no runAsNonRoot)
2026-05-07 14:36:29 +00:00
Hermes Agent
8f52cb1c25 fix(hermes-webui): add initContainer root chown for PVC uid perms
- Removes pod runAsNonRoot/runAsUser to allow init runAsUser: 0
- chowns PVC to 1000:1000 + g+rwX (fixes legacy root-owned files)
- webui can now mkdir/write state dir
- whoami log non-fatal; runtime non-root
2026-05-07 14:24:25 +00:00
Hermes Agent
dfe32018b7 fix(hermes-webui): hermes-agent main container non-root (UID/GID 1000)
- Aligns with webui sidecar on shared hermes-data PVC (/opt/data == /home/hermeswebui/.hermes)
- Previously root:root files blocked webui writes (whoami non-fatal)
- Pod securityContext: runAsNonRoot: true + runAsUser: 1000 for restricted:latest compliance
- fsGroup:1000 ensures volume g+rw
2026-05-07 14:18:34 +00:00
sirius0xdev
c2e899d56d
Update deployment.yaml 2026-05-07 10:00:49 -04:00
sirius0xdev
c803786611
Update deployment.yaml 2026-05-07 09:58:43 -04:00
Hermes Agent
3c8b617471 fix(hermes-webui): hermes-agent as root (runAsUser:0), webui as uid1000
Removed pod runAsUser/runAsNonRoot to allow hermes-agent root.
Hermes-agent: runAsUser:0 runAsGroup:0 (root).
Hermes-webui: runAsUser:1000 runAsGroup:1000 (non-root, matches WANTED_UID).
2026-05-07 13:45:42 +00:00
sirius0xdev
7a76e088e4
Update deployment.yaml 2026-05-07 09:30:15 -04:00
sirius0xdev
84305d3605
Update deployment.yaml 2026-05-07 09:29:48 -04:00
sirius0xdev
2f09278164
Merge branch 'master' into fix/hermes-webui-container-init-error 2026-05-07 09:15:52 -04:00
Hermes Agent
22964a16a8 fix(hermes-webui): remove root initContainer and custom /etc mount to fix read-only fs + sudo error
- Removed initContainer running as root (violates PodSecurity restricted:latest)
- Removed shared emptyDir /etc mount (no longer needed)
- Rely on fsGroup:1000 + runAsUser:1000 for volume ownership and container UID
- Added runAsNonRoot: true to podSecurityContext and both containers for policy compliance

Pod will now start, webui runs as UID 1000 == WANTED_UID, init.bash skips chown/sudo.
2026-05-07 13:14:01 +00:00
sirius0xdev
bbc662cd85 plz 2026-05-07 02:22:18 +00:00
sirius0xdev
bdcaf9f8f6 fix webui 2026-05-07 02:16:48 +00:00
sirius0xdev
d87f5963d3 webui fix 2026-05-07 01:43:57 +00:00
sirius0xdev
d187eae375 fix priv escalation 2026-05-07 01:32:24 +00:00
sirius0xdev
c84ef732f8 fix hermes webui 2026-05-07 01:28:39 +00:00
Hermes Agent
a893406374 fix(hermes-webui): add init container to create webui user entry 2026-05-06 21:21:11 +00:00
sirius0xdev
f886934963
Update deployment.yaml 2026-05-06 17:11:07 -04:00
sirius0xdev
adce52ad8b
Update deployment.yaml 2026-05-06 17:05:07 -04:00
sirius0xdev
4b81e2310f
Update deployment.yaml 2026-05-06 17:03:42 -04:00
sirius0xdev
e79afb4c7b
Update deployment.yaml 2026-05-06 16:56:47 -04:00
sirius0xdev
9500d6d248
Update deployment.yaml 2026-05-06 16:51:45 -04:00
sirius0xdev
2ed7ac55dc
Update deployment.yaml 2026-05-06 16:43:30 -04:00
sirius0xdev
235a42cb2b
Update deployment.yaml 2026-05-06 16:26:34 -04:00
sirius0xdev
1ccfb45263
Update deployment.yaml 2026-05-06 16:15:06 -04:00
Hermes Agent
2ff889d297 fix(hermes-webui): fsGroup=1000 + PodSecurity compliance for PVC access 2026-05-06 19:56:22 +00:00
Hermes Agent
84b3d2436e feat: replace Open WebUI with native Hermes WebUI
Swap the generic Open WebUI frontend for the purpose-built
hermes-webui (nesquena) with full CLI parity:

- 3-panel layout: sessions, chat, workspace file browser
- Native session, cron, skills, memory, profile management
- Themes (dark/light/slate/solarized/monokai/nord/oled)
- Mobile responsive
- Sidecar container sharing the hermes-agent PVC
- Exposed via Tailscale on port 8787 (plain HTTP)

Access: http://hermes-webui.tail14a963.ts.net:8787
2026-05-06 19:33:38 +00:00
sirius0xdev
ec1ee82b19
Merge pull request #102 from sirius0xdev/fix/hermes-webui-http-only
fix: Force plain HTTP on hermes-webui Tailscale proxy
2026-05-06 14:51:05 -04:00
Hermes Agent
72866d0044 fix: force plain HTTP on hermes-webui Tailscale proxy
tailscale.com/https-only: 'false' still attempts TLS termination,
causing ERR_SSL_PROTOCOL_ERROR when the backend speaks plain HTTP.

Replaced with tailscale.com/ports: 'http:8080' to explicitly tell
the operator to serve unencrypted HTTP on this port.
2026-05-06 18:50:09 +00:00
sirius0xdev
7810613030
Update open-webui-deployment.yaml 2026-05-06 14:20:52 -04:00
Hermes Agent
bac231097e fix(open-webui): add tailscale.com/https-only: false
Tailscale defaults to HTTPS (443) but Open WebUI only serves HTTP (8080).

- Add tailscale.com/https-only: "false" annotation
- Now hermes-webui.tail14a963.ts.net:8080 works without SSL errors

Fixes ERR_SSL_PROTOCOL_ERROR
2026-05-06 18:05:02 +00:00
Hermes Agent
192cd656fd fix(open-webui): add emptyDir volume for SQLite DB
Open WebUI crashes on startup because it can't write its SQLite database to
/app/backend/data.

- Add emptyDir volume at /app/backend/data
- Pod restarts will lose data (dev-only acceptable)

Fixes pod crash: peewee.OperationalError: unable to open database file
2026-05-06 17:37:06 +00:00
Hermes Agent
e285401341 fix: use Grafana Tailscale annotations on Open WebUI service
- tailscale.com/expose: "true"
- tailscale.com/hostname: "hermes-webui"
- tailscale.com/tags: "tag:k8s-operator"
- port: 8080 -> 8080 (match Open WebUI default)
- type: ClusterIP explicit
2026-05-06 16:00:17 +00:00
Hermes Agent
214133d062 feat: add Open WebUI with Tailscale exposure
- Enable Hermes API Server (port 8642) in gateway deployment
- Add Open WebUI deployment connected to Hermes API Server
- Expose Open WebUI via Tailscale using Service annotations
- Create ClusterIP Service for Hermes Agent API Server
- All deployments follow PodSecurity restricted policy
2026-05-06 15:36:27 +00:00
Hermes Agent
8b6edd3c6a fix: copy ConfigMap to PVC on startup so Hermes config is writable 2026-05-06 03:07:30 +00:00
sirius0xdev
4e9ed1fa2d fix pvc mixup 2026-05-06 03:02:09 +00:00
sirius0xdev
f2e2a9c064
Update rays-deployment.yaml 2026-05-05 22:47:12 -04:00
sirius0xdev
bb31aaceeb
Update deployment.yaml 2026-05-05 22:46:15 -04:00