TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201 A) Agents Layer: - A1: Added gov_level to API and UI (list + profile) - A2: Added dais_identity_id to API and UI - A3: Added home_microdao_id/name/slug for ownership display B) MicroDAO Layer: - B1/B2: Already implemented (agents, rooms, citizens, district badge) C) Nodes Layer: - C1: Node Dashboard already implemented - C2: Created nodes table migration with owner_microdao_id - C3: INSERT NODE1/NODE2 with dao_daarion ownership D) Backend Fixes: - D1: Extended /api/agents/* with DAIS/governance fields - D2/D3: Already implemented Files changed: - services/city-service/repo_city.py - services/city-service/models_city.py - services/city-service/routes_city.py - services/city-service/migrations.py - apps/web/src/lib/types/agents.ts - apps/web/src/lib/agent-dashboard.ts - apps/web/src/app/agents/page.tsx - apps/web/src/components/agent-dashboard/AgentSummaryCard.tsx Reports: - docs/debug/mvp_dagi_integration_fix_report_20251201.md - docs/tasks/TASK_PHASE_MVP_DAGI_INTEGRATION_FIX_20251201.md
111 lines
4.3 KiB
Markdown
111 lines
4.3 KiB
Markdown
# 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 виконати:
|
||
|
||
```bash
|
||
docker ps --format "table {{.Names}}\t{{.Image}}\t{{.Status}}"
|
||
```
|
||
|
||
2. Для кожного контейнера DAGI-стеку (`dagi-router`, `dagi-postgres`, `dagi-nats`, `daarion-city-service`, `gateway`, `stt`, `ocr`, `rag`, `vector-db`, `swapper`, тощо) виконати:
|
||
|
||
```bash
|
||
docker inspect <container> \
|
||
--format='{{json .Config.Env}}' | jq
|
||
```
|
||
|
||
3. Особливу увагу звернути на ENV:
|
||
- `DATABASE_URL`
|
||
- `REDIS_URL`
|
||
- `NATS_URL`
|
||
- `MATRIX_GATEWAY_URL`
|
||
- `INTERNAL_API_URL`
|
||
- API ключі/токени (Telegram, Discord, Matrix, OAuth)
|
||
|
||
4. Якщо контейнер використовує `.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` з такими секціями:
|
||
- `Database`
|
||
- `NATS`
|
||
- `Gateway/Matrix`
|
||
- `Other secrets`
|
||
- `Summary`
|
||
|
||
2. У кожній секції вказати:
|
||
- реальні значення (без публікації секретів, лише хости/порти/назви БД);
|
||
- чи збігаються вони з прод-конфігом;
|
||
- рекомендації (змінити URL/ключ, перенаправити на dev-екземпляр, прибрати контейнер тощо).
|
||
|
||
3. Якщо знайдені перетини, запропонувати конкретні кроки:
|
||
- створити dev БД;
|
||
- змінити docker-compose;
|
||
- оновити токени в secret manager;
|
||
- додати 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`.
|
||
```
|
||
|
||
|