Commit graph

883 commits

Author SHA1 Message Date
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
sirius0xdev
8c8b2bc597
Merge pull request #109 from sirius0xdev/fix/hermes-webui-init-chown
Fix hermes-webui perms crash: root initContainer chown PVC to 1000:1000
2026-05-07 10:57:01 -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
sirius0xdev
556bedfee0
Merge pull request #108 from sirius0xdev/fix/hermes-webui-runAsUser
Fix hermes-webui crash: hermes-agent main container non-root (UID/GID 1000)
2026-05-07 10:19:11 -04: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
sirius0xdev
4e9fff4034
Merge pull request #107 from sirius0xdev/fix/hermes-webui-runAsUser
fix(hermes-webui): hermes-agent as root (runAsUser:0), webui as uid1000
2026-05-07 09:46:34 -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
b248bca531
Merge pull request #106 from sirius0xdev/fix/hermes-webui-container-init-error
fix(hermes-webui): remove root initContainer and custom /etc mount to…
2026-05-07 09:16:01 -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
b8be0c5315
Update kustomization.yaml 2026-05-06 22:51:14 -04: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
sirius0xdev
4d87fa4f8a
Merge pull request #105 from sirius0xdev/fix/hermes-webui-pvc-permissions
fix(hermes-webui): init container creates webui user entry for UID 1000
2026-05-06 17:24:59 -04: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
sirius0xdev
505efa3936
Merge pull request #104 from sirius0xdev/fix/hermes-webui-pvc-permissions
fix(hermes-webui): fsGroup=1000 + PodSecurity compliance for PVC access
2026-05-06 15:58:57 -04:00
Hermes Agent
2ff889d297 fix(hermes-webui): fsGroup=1000 + PodSecurity compliance for PVC access 2026-05-06 19:56:22 +00:00
sirius0xdev
b762f345e2
Merge pull request #103 from sirius0xdev/replace-open-webui-with-hermes-webui
feat: Replace Open WebUI with native Hermes WebUI
2026-05-06 15:33:55 -04: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
sirius0xdev
dddfabb3e5
Merge pull request #101 from sirius0xdev/fix/open-webui-http-only
fix(open-webui): add tailscale.com/https-only: false
2026-05-06 14:05:53 -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
sirius0xdev
5300ea4efe
Merge pull request #100 from sirius0xdev/fix/open-webui-pvc
fix(open-webui): add emptyDir volume for SQLite DB
2026-05-06 13:37:28 -04: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
sirius0xdev
c6b88a4a0a
Merge pull request #99 from sirius0xdev/fix/webui-grafana-annotations
fix: use Grafana Tailscale annotations on Open WebUI service
2026-05-06 12:06:14 -04:00