--- 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 '' 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-документації репо.