Files
microdao-daarion/.cursor/skills/noda1-operations/SKILL.md
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

4.4 KiB
Raw Blame History

name, description
name description
noda1-operations 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):

ssh root@144.76.224.179
cd /opt/microdao-daarion
./scripts/node1/verify_agents.sh

Або однією командою (з sshpass, пароль з noda1-credentials.local.mdc):

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:

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
docker ps --format 'table {{.Names}}\t{{.Status}}' | grep -E 'gateway|router|memory|qdrant'

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

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