Skip to content

# Node Stack Mismatch — 2025-11-30

## Summary

Під час виконання `TASK_PHASE_NODE_RUNTIME_AUDIT_NODE1_NODE2` знайдені відхилення між фактичними контейнерами та очікуваними профілями нод.

## NODE1 (node-1-hetzner-gex44)

- Mandatory services: більшість prod-сервісів присутні (`daarion-city-service`, `daarion-web`, `dagi-router`, `dagi-postgres`, `dagi-nats`, stt/ocr/web-search/rag/vector-db, parser, image-gen тощо).
- Issues:
- `dagi-rag-service` у стані `Restarting` → потребує фіксу/перезапуску, інакше DAGI-аналітика/LLM ingestion не працює.
- `dagi-ocr-service` і `dagi-image-gen` позначені як `unhealthy` → треба прогнати healthchecks/логи.
- HTTP health `http://localhost:9300/health` (matrix/gateway) недоступний → потрібно або оновити endpoint, або задокументувати реальну адресу.
- У профайлі очікується `dagi-gateway`, а фактично працює `daarion-matrix-gateway`. Потрібно оновити Node Profile або привести іменування в доку до фактичного контейнера.

## NODE2 (node-2-macbook-m4max)

- Очікуваний стек: dev/models (ollama/vllm, experimental services, core-team runtime). Не повинно бути прод-сервісів.
- Фактичний стан (локальна машина):
- Запущені `dagi-router`, `dagi-postgres`, `dagi-rbac`, `dagi-devtools`, `dagi-gateway`, `dagi-prometheus`, `nats`, `stt-service`, `ocr-service`, `web-search-service` тощо — це прод-сервіси, які за профілем мають жити на NODE1.
- Більшість контейнерів у стані `unhealthy` або `Restarting` (rag-service, neo4j, nats, stt, tts, web-search).
- Висновок: NODE2 зараз тримає повний стек DAGI, а не лише dev/models. Потрібно або:
  - перемістити ці сервіси на NODE1 / іншу інфру (для прод-ролі);
  - або оновити профіль NODE2 (якщо вирішено мати прод-сервіси на MacBook, що малоймовірно).

## Recommended Actions

1. NODE1
2. Розібратися з `dagi-rag-service` (перебудувати образ, перевірити залежності Postgres/NATS/Vector DB).
3. Перевірити `dagi-ocr-service`, `dagi-image-gen` (health endpoints та логи).
4. Уточнити адресу healthcheck для gateway (чи є окремий endpoint, чи потрібен reverse proxy).

5. Оновити Node Profile, щоб узгодити назви (`daarion-matrix-gateway`).

6. NODE2

7. Зупинити продакшн-сервіси (`dagi-router`, `dagi-postgres`, `dagi-gateway`, `nats`, `stt`, `ocr`, `web-search`, тощо) або перенести їх у dev-версії з чітким неймінгом `dev-*`.
8. За потреби залишити тільки dev/models runtime (ollama, swapper, experimental RAG) та відповідно оновити документацію.

9. Перевірити/почистити контейнери, що зависли в `unhealthy` / `Restarting` стані.

10. Документація

11. Відобразити реальний стан у `Node Profiles` + додати посилання на цей файл як доказ невідповідності.