Commit graph

398 commits

Author SHA1 Message Date
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
4aea901a09 add dashboards to namespace 2026-05-04 20:38:22 +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
sirius0xdev
7df60cbeb9 feat: add trade dashboard service (FastAPI + Tailscale)
- FastAPI app with async SQLAlchemy + Alembic migrations
- API: positions CRUD, PnL summary, trade history, webhook endpoint
- Dark-themed SPA frontend (vanilla HTML/JS)
- K8s: deployment, service, configmap, TsProxy for Tailscale access
- Backed by hermes-pgdb / trading_data database
- Wired into Flux staging pipeline
2026-05-02 21:47:27 +00:00
sirius0xdev
a3ad07d191 feat: add dedicated CNPG cluster for Hermes agent memory and trading data
- New hermes-pgdb cluster (Postgres 15.2, 1 instance, 20Gi)
- 3 databases: hermes_memory, trading_data, agent_memory
- 3 roles with SOPS-encrypted secrets (age encryption)
- Daily backups to gs://customer1_db_backup/hermes-backups/
- Wired into Flux pipeline via staging kustomization
2026-05-02 21:31:41 +00:00
sirius0xdev
891e2cf817
Merge pull request #73 from sirius0xdev/fix/rtx6000-scale-to-zero-with-cooldown
chore(paaas): update landing deployment to use hermes_workspace CD pipeline image
2026-04-29 23:21:29 -04:00
sirius0xdev
41fbd1fca1 Update paaas-landing deployment to use new static nginx image from hermes_workspace with updated business plan landing page 2026-04-30 03:02:22 +00:00
sirius0xdev
862c8c0f19
Update deployment.yaml 2026-04-29 12:59:21 -04:00
sirius0xdev
2548bccfc6 fix(hermes-agent): add type: openai to vLLM providers for model listing
Enables /v1/models endpoint query for custom providers (fixes qwen model not showing under qwen-vllm).

Changes:
- Added `type: openai` to `rtx6000-brain` and `qwen-vllm` providers
- Standardized base_url to full FQDN: \*.customer1.svc.cluster.local
- Added context_length to qwen-vllm provider
- Updated models.qwen-vllm base_url and context_length for consistency
2026-04-29 16:18:35 +00:00
sirius0xdev
37a4179f96
Update deployment.yaml 2026-04-29 09:22:34 -04:00
sirius0xdev
ec41b38f1a feat: add rtx6000-brain and qwen-vllm custom vLLM providers to Hermes ConfigMap
- Makes rtx6000-brain selectable in the /model provider picker (preferred name)
- Uses short Kubernetes service names (optimal for same-namespace)
- Keeps existing models: section for CLI compatibility
- Will appear as provider options after ArgoCD/Helm rollout + /restart
2026-04-29 12:52:00 +00:00
sirius0xdev
8c1c55dd80
Update kustomization.yaml 2026-04-29 08:23:18 -04:00
sirius0xdev
13db3d4a3d
Update kustomization.yaml 2026-04-29 08:22:58 -04:00
sirius0xdev
6989b18f37 feat(hermes-config): add clean 'vllm' provider for the existing rtx6000-brain-service
- Primary 'vllm' entry for easy /model vllm usage
- Uses model from the rtx6000 deployment
- Kept existing qwen-vllm, rtx6000-vllm, and rtx6000-brain for compatibility
2026-04-29 05:50:54 +00:00
sirius0xdev
58451ccca5 feat(hermes-config): add rtx6000-brain provider using model from vLLM deployment
Added rtx6000-brain alongside the existing rtx6000-vllm entry.
Uses the exact model name from rtx6000-vllm Deployment and the correct ClusterIP service endpoint.
2026-04-29 05:42:31 +00:00
sirius0xdev
9e5eea2cd1 feat(hermes-agent): add hermes-config ConfigMap and mount to deployment
- hermes-config::ConfigMap with current /opt/data/config.yaml (models incl. vLLM, agent/tool settings)
- deployment.yaml: volume + subPath mountPath=/opt/data/config.yaml (overrides PVC)
- kustomization.yaml: include configmap.yaml

Standardizes Hermes config via K8s ConfigMap for easier management.
2026-04-29 04:45:18 +00:00
sirius0xdev
bb7dcd5651 fix node selector for 6000pro 2026-04-28 23:16:51 +00:00
sirius0xdev
d309141ea1 fix health check 2026-04-28 04:49:09 +00:00