Commit graph

605 commits

Author SHA1 Message Date
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
sirius0xdev
36d09df5b6 fix configmap name 2026-05-06 01:53:13 +00:00
sirius0xdev
ce26d0aaee change pvc name 2026-05-06 01:47:59 +00:00
sirius0xdev
e05e71d0fc vllm image error fix 2026-05-06 01:42:12 +00:00
sirius0xdev
2200006c41 fix vllm error 2026-05-06 01:31:45 +00:00
sirius0xdev
4f82d918bd fix deoloyment 2026-05-05 00:51:36 +00:00
sirius0xdev
3625b08119 fix 2026-05-05 00:47:13 +00:00
sirius0xdev
a942dc291c change image 2026-05-05 00:28:48 +00:00
sirius0xdev
2c106ef6aa fix: correct port to 8080 + robust startup/readiness/liveness probes for paaas-landing
- Fixed containerPort, Service targetPort, and all probes to use 8080
- Added startupProbe (15s delay, 30 failure threshold) to prevent connection refused errors
- Improved readiness and liveness probes with better timing and timeoutSeconds
- Resolves 'fault filter abort' and 'connection refused' probe failures
2026-05-04 23:13:09 +00:00
sirius0xdev
246047d336 fix liveness probe 2026-05-04 23:07:13 +00:00
sirius0xdev
86a3ae58c5 fix liveness probe 2026-05-04 22:56:39 +00:00
sirius0xdev
200e5c2938 image 2026-05-04 22:50:09 +00:00
sirius0xdev
ac3c23428d fix liveness probe port 2026-05-04 22:24:50 +00:00
sirius0xdev
e4335ed3e7 image issue 2026-05-04 22:19:49 +00:00
sirius0xdev
20f2aafe79 fix paaas landing image 2026-05-04 22:12:42 +00:00
sirius0xdev
1d67725855 clean up tsproxies 2026-05-04 14:55:37 +00:00
sirius0xdev
dc400a364d fix tsproxy issue 2026-05-04 01:09:48 +00:00
sirius0xdev
5f9b55af55 feat(tailscale): add operator authkey secret and rtx6000-brain TsProxy
- Add SOPS-encrypted tailscale-operator-authkey secret for operator auth
- Add TsProxy to expose rtx6000-brain-service on tailnet (port 8000)
- Enable trade-dashboard TsProxy (was waiting for operator install)
2026-05-03 23:30:28 +00:00
sirius0xdev
c5dd91d112 fix docker file and move trade-dashboard 2026-05-03 21:31:25 +00:00
sirius0xdev
12ab52de91 fix dashboards python script 2026-05-03 21:06:36 +00:00
sirius0xdev
105d29de7e fix(trade-dashboard): get DB_USER from secret instead of configmap 2026-05-02 23:35:04 +00:00
sirius0xdev
23c7c707d8 fix(trade-dashboard): fix import errors and alembic migration
- database.py: remove dead pre-definition of DATABASE_URL with
  undefined db_user/db_pass variables
- models.py: add missing Table import from sqlalchemy
- alembic/env.py: replace deprecated run_async() with asyncio.run()
  (removed in SQLAlchemy 2.0)
- alembic 001_initial: use raw SQL for CREATE TYPE instead of
  op.create_enum() which requires alembic_postgresql_enum

Migration 001_initial successfully applied to trading_data DB.
2026-05-02 22:44:38 +00:00
sirius0xdev
6599249d65 feat(trade-dashboard): add GitHub Actions CI/CD pipeline
- Build and push Docker image to ghcr.io on push to master
- Update deployment to pull from ghcr.io instead of GCR
- Tags: commit SHA + latest on default branch
2026-05-02 22:29:06 +00:00
sirius0xdev
d94e62d77c fix(trade-dashboard): comment out TsProxy until Tailscale operator is installed 2026-05-02 22:21:35 +00:00
sirius0xdev
1497946049 fix(hermes-db): reencrypt with correct SOPS recipient key
Use age1uuxf066x... from .sops.yaml instead of local key
that the cluster SOPS decryptor cannot read.
2026-05-02 22:14:09 +00:00
sirius0xdev
58ea111b1d fix(hermes-db): reencrypt secrets with correct encrypted-regex ^(data|stringData)$
Previous secrets encrypted apiVersion, kind, metadata.name, metadata.namespace
and type fields. Recreated with --encrypted-regex targeting only stringData
section. New random passwords generated for all three roles.
2026-05-02 22:01:03 +00:00