- Fix market-data-service host port 8891→8893 (conflict with Swapper) - Increase healthcheck start_period/retries for market-data-service - Add Market Data Service + SenpAI MD Consumer to PROJECT-MASTER-INDEX.md - Update noda1-operations rule and skill with new ports/containers Co-authored-by: Cursor <cursoragent@cursor.com>
77 lines
4.8 KiB
Markdown
77 lines
4.8 KiB
Markdown
---
|
||
name: noda1-operations
|
||
description: Operates and troubleshoots NODA1 (node1-daarion) production server — health checks, agent verification, container restarts, deployment. Use when the user asks about NODA1, node1-daarion, verifying agents on the server, fixing gateway/router, or deploying to NODA1.
|
||
---
|
||
|
||
# NODA1 Operations
|
||
|
||
Опікування сервером NODA1: перевірка агентів, health-сервісів, типові виправлення. SSH-credentials зберігаються в **.cursor/noda1-credentials.local.mdc** (файл у .gitignore, не комітити).
|
||
|
||
## Контекст
|
||
|
||
- **Сервер:** 144.76.224.179 (node1-daarion), IPv6: 2a01:4f8:201:2a6::2, проект на сервері: `/opt/microdao-daarion/`
|
||
- **Credentials:** читати з `.cursor/noda1-credentials.local.mdc` (username, password, host keys) для виконання SSH-команд.
|
||
- **Документація для агента НОДА1 (читати при потребі):**
|
||
- `PROJECT-MASTER-INDEX.md` — єдина точка входу, порти, сервіси, швидкі команди
|
||
- `NODA1-CURRENT-STATUS-2026-01-26.md` — поточний статус НОДА1, health, бекапи, Qdrant
|
||
- `docs/NODA1-AGENT-VERIFICATION.md` — перевірка агентів, health, E2E
|
||
- `docs/NODA1-AGENT-ARCHITECTURE.md` — повна архітектура агентів (якщо є)
|
||
- `config/README.md` — як додавати агентів (якщо є)
|
||
- **Cursor Rule:** `.cursor/rules/noda1-operations.mdc` — порти, контейнери, швидкі команди
|
||
|
||
## 1. Перевірка агентів на NODA1
|
||
|
||
Credentials: **.cursor/noda1-credentials.local.mdc** (root, password, host keys). Для виконання SSH з терміналу використовувати `sshpass` і пароль з цього файлу.
|
||
|
||
Виконувати **на сервері** (після SSH):
|
||
|
||
```bash
|
||
ssh root@144.76.224.179
|
||
cd /opt/microdao-daarion
|
||
./scripts/node1/verify_agents.sh
|
||
```
|
||
|
||
Або однією командою (з sshpass, пароль з noda1-credentials.local.mdc):
|
||
|
||
```bash
|
||
sshpass -p '<password з файлу>' ssh -o StrictHostKeyChecking=accept-new root@144.76.224.179 "cd /opt/microdao-daarion && ./scripts/node1/verify_agents.sh"
|
||
```
|
||
|
||
По IPv6 (лапки обов'язкові в zsh): `ssh root@'[2a01:4f8:201:2a6::2]'`
|
||
|
||
Скрипт перевіряє: prober metrics, Prometheus, Gateway /health (список агентів), /debug/agent_ping (E2E), webhook Helion.
|
||
|
||
## 2. Health сервісів (на сервері)
|
||
|
||
Після SSH виконати на NODA1:
|
||
|
||
```bash
|
||
curl -s http://localhost:9300/health | jq '.status, .agents_count, .agents'
|
||
curl -s http://localhost:9102/health
|
||
curl -s http://localhost:8000/health
|
||
curl -s http://localhost:6333/healthz
|
||
curl -s http://localhost:8893/health # Market Data Service
|
||
curl -s http://localhost:8892/health # SenpAI MD Consumer
|
||
docker ps --format 'table {{.Names}}\t{{.Status}}' | grep -E 'gateway|router|memory|qdrant|market|senpai'
|
||
```
|
||
|
||
## 3. Типові виправлення
|
||
|
||
| Проблема | Дія (на сервері) |
|
||
|----------|-------------------|
|
||
| Router unhealthy | `docker restart dagi-staging-router` (або поточне ім’я контейнера router) |
|
||
| Gateway не відповідає | `docker logs dagi-gateway-node1 --tail 100`; при потребі `docker restart dagi-gateway-node1` |
|
||
| Memory 500 | Перевірити env `MEMORY_QDRANT_HOST` та доступність Qdrant |
|
||
| Агент без prompt/token | Перевірити `gateway-bot/http_api.py` (AGENT_REGISTRY) і на сервері: `*_prompt.txt`, env з `*_TELEGRAM_BOT_TOKEN` |
|
||
| Market Data unhealthy | `docker logs dagi-market-data-node1 --tail 50`; перевірити NATS і WS з'єднання |
|
||
| SenpAI Consumer unhealthy | `docker logs dagi-senpai-md-consumer-node1 --tail 50`; перевірити NATS і market-data-service |
|
||
|
||
## 4. Виправлення помилок
|
||
|
||
- **У репо (код, конфіги, скрипти):** зміни робити локально в репозиторії, коміт, при потребі — деплой на NODA1.
|
||
- **На сервері:** для виконання команд через SSH читати пароль з `.cursor/noda1-credentials.local.mdc` і виконувати: `sshpass -p '<пароль з файлу>' ssh -o StrictHostKeyChecking=accept-new root@144.76.224.179 "команда"`.
|
||
|
||
## 5. Деплой на NODA1
|
||
|
||
Згідно з проектом: зазвичай `git pull` у `/opt/microdao-daarion`, потім rebuild/restart відповідних сервісів (docker-compose або окремі `docker restart`). Точний процес дивитися в `PROJECT-MASTER-INDEX.md` та deployment-документації репо.
|