Files
microdao-daarion/docs/tasks/TASK_PHASE_NODE2_CONFIG_AUDIT.md
Apple 644edd3f30 feat(mvp): DAGI Integration Fix - gov_level, DAIS, nodes table
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
2025-11-30 08:45:07 -08:00

111 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`.
```