Skip to content

TASK PHASE — NODE2 CONFIG & ISOLATION AUDIT

Version: 1.0
Target: NODE2 (core-team / dev node)


1. Мета

Переконатися, що dev-нода (NODE2) має власні конфіги та не підміняє прод-сервіси NODE1:

  • інші DATABASE_URL, NATS_URL, MATRIX_GATEWAY_URL, токени;
  • відсутній доступ до прод-БД daarion та прод NATS;
  • чітке розділення ключів Telegram/Matrix/Email gateway;
  • зафіксована політика доступу до DAIS/secretів.

2. Перевірка контейнерів та змінних середовища

  1. На NODE2 виконати:
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}"
  1. Для кожного контейнера DAGI-стеку (dagi-router, dagi-postgres, dagi-nats, daarion-city-service, gateway, stt, ocr, rag, vector-db, swapper, тощо) виконати:
docker inspect <container> \
  --format='{{json .Config.Env}}' | jq
  1. Особливу увагу звернути на ENV:
  2. DATABASE_URL
  3. REDIS_URL
  4. NATS_URL
  5. MATRIX_GATEWAY_URL
  6. INTERNAL_API_URL
  7. API ключі/токени (Telegram, Discord, Matrix, OAuth)

  8. Якщо контейнер використовує .env файл — зчитати його (через docker inspect ... Mounts).


3. Виявлення перетинів з PROD

3.1. База даних

  • Перевірити, що DATABASE_URL не вказує на postgres://postgres:postgres@dagi-postgres:5432/daarion.
  • Dev-нода повинна використовувати окрему БД (інший хост/порт або іншу назву БД).
  • Якщо все ж використовує прод-БД — зафіксувати це як критичне відхилення.

3.2. NATS

  • NATS_URL має вказувати на локальний/Dev NATS.
  • Заборонено використовувати nats://dagi-nats:4222 з прод-мережі (NODE1).

3.3. Gateway / Matrix / Telegram

  • Перевірити токени (TELEGRAM_BOT_TOKEN, Matrix creds, Discord tokens, тощо).
  • Якщо використовуються прод ключі — зафіксувати.

3.4. Secrets

  • Переконатися, що daarion-city-service на NODE2 має інший JWT_SECRET, INTERNAL_SECRET, AUTH_SERVICE_URL.
  • Перевірити відсутність .secrets файлів, спільних із NODE1.

4. Висновок і логування

  1. Створити файл docs/debug/node2_config_audit_<DATE>.md з такими секціями:
  2. Database
  3. NATS
  4. Gateway/Matrix
  5. Other secrets
  6. Summary

  7. У кожній секції вказати:

  8. реальні значення (без публікації секретів, лише хости/порти/назви БД);
  9. чи збігаються вони з прод-конфігом;
  10. рекомендації (змінити URL/ключ, перенаправити на dev-екземпляр, прибрати контейнер тощо).

  11. Якщо знайдені перетини, запропонувати конкретні кроки:

  12. створити dev БД;
  13. змінити docker-compose;
  14. оновити токени в secret manager;
  15. додати firewall між NODE1/NODE2.

5. Критерії завершення

  • docs/debug/node2_config_audit_<DATE>.md заповнений фактами та рекомендаціями;
  • Виявлені всі місця, де dev-нода використовує прод-конфіги (якщо є);
  • Зроблені пропозиції, як рознести конфіги;
  • При необхідності створено follow-up таск (наприклад, TASK_PHASE_NODE2_CONFIG_FIX.md).

6. Команда для Cursor

Прошу виконати `docs/tasks/TASK_PHASE_NODE2_CONFIG_AUDIT.md`.
Мета: зібрати docker inspect/env на NODE2, перевірити DATABASE/NATS/Gateway/Secrets,
зробити висновок у `docs/debug/node2_config_audit_<DATE>.md`.