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`.