Files
microdao-daarion/.cursor/rules/noda1-operations.mdc
Apple a46a70c014 fix(ops): Add network aliases and stabilize DNS for NODA1
- docker-compose.node1.yml: Add network aliases (router, gateway,
  memory-service, qdrant, nats, neo4j) to eliminate manual
  `docker network connect --alias` commands
- docker-compose.node1.yml: ROUTER_URL now uses env variable with
  fallback: ${ROUTER_URL:-http://router:8000}
- docker-compose.node1.yml: Increase router healthcheck start_period
  to 30s and retries to 5
- .gitignore: Add noda1-credentials.local.mdc (local-only SSH creds)
- scripts/node1/verify_agents.sh: Improved output with agent list
- docs: Add NODA1-AGENT-VERIFICATION.md, NODA1-AGENT-ARCHITECTURE.md,
  NODA1-VERIFICATION-REPORT-2026-02-03.md
- config/README.md: How to add new agents
- .cursor/rules/, .cursor/skills/: NODA1 operations skill for Cursor

Root cause fixed: Gateway could not resolve 'router' DNS name when
Router container was named 'dagi-staging-router' without alias.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-03 05:55:56 -08:00

60 lines
3.5 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
description: NODA1 (node1-daarion) — контекст, порти, перевірка агентів, типові виправлення
globs: "**/docs/NODA1*.md,**/scripts/node1/**/*.sh,gateway-bot/**/*.py,infra/**/*.yml,NODA1*.md,PROJECT-MASTER-INDEX.md,config/README.md"
alwaysApply: false
---
# NODA1 — Операції та контекст
## Сервер
| Параметр | Значення |
|----------|----------|
| **Hostname** | node1-daarion |
| **IPv4** | 144.76.224.179 |
| **IPv6** | 2a01:4f8:201:2a6::2 |
| **SSH** | `ssh root@144.76.224.179` (IPv4) або `ssh root@'[2a01:4f8:201:2a6::2]'` (IPv6) |
| **Корінь проекту** | `/opt/microdao-daarion/` |
**Credentials (SSH):** у файлі `.cursor/noda1-credentials.local.mdc` (username root, password, host keys). Файл у .gitignore. Для автоматизації: `sshpass -p '<з файлу>' ssh -o StrictHostKeyChecking=accept-new root@144.76.224.179 "..."`.
## Ключові сервіси (порти на сервері, localhost)
| Сервіс | Порт | Health |
|--------|------|--------|
| Router | 9102 | `/health` |
| Gateway | 9300 | `/health` (містить список агентів) |
| Memory | 8000 | `/health` |
| Qdrant | 6333 | `/healthz` |
| RAG | 9500 | `/health` |
| Swapper | 8890 | `/health` |
Контейнери: `dagi-gateway-node1`, `dagi-staging-router` (або `dagi-*-router`), `dagi-memory-service-node1`, `dagi-qdrant-node1`.
## Перевірка агентів
- На сервері: `cd /opt/microdao-daarion && ./scripts/node1/verify_agents.sh`
- Gateway health (список агентів): `curl -s http://localhost:9300/health | jq '.agents'`
- E2E: `curl -s -X POST http://localhost:9300/debug/agent_ping -H "Content-Type: application/json" -d '{}'`
Детально: `docs/NODA1-AGENT-VERIFICATION.md`.
## Типові виправлення
1. **Router unhealthy** — перезапуск: `docker restart dagi-staging-router` (або актуальна назва контейнера router).
2. **Gateway не відповідає** — `docker logs dagi-gateway-node1 --tail 100`; при потребі `docker restart dagi-gateway-node1`.
3. **Агент без prompt/token** — перевірити `gateway-bot/http_api.py` (AGENT_REGISTRY) і наявність `*_prompt.txt` та env з токенами на сервері.
4. **Зміни в коді** — задеплоїти на NODA1 (git pull, rebuild, restart відповідних контейнерів згідно з проектом).
## Документація (для агента НОДА1)
Читати при потребі контексту:
| Документ | Шлях | Призначення |
|----------|------|-------------|
| **Master Index** | `PROJECT-MASTER-INDEX.md` | Єдина точка входу до всієї документації, порти, сервіси, швидкі команди |
| **Статус НОДА1** | `NODA1-CURRENT-STATUS-2026-01-26.md` | Поточний статус сервера, health, бекапи, Qdrant collections |
| **Перевірка агентів** | `docs/NODA1-AGENT-VERIFICATION.md` | Як перевіряти агентів на NODA1, health, E2E, webhook |
| **Архітектура агентів** | `docs/NODA1-AGENT-ARCHITECTURE.md` | Повна схема підключення агентів (якщо файл існує) |
| **Як додавати агентів** | `config/README.md` | Інструкція додавання нових агентів (якщо файл існує) |