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

4.3 KiB
Raw Blame History

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:

    • DATABASE_URL
    • REDIS_URL
    • NATS_URL
    • MATRIX_GATEWAY_URL
    • INTERNAL_API_URL
    • API ключі/токени (Telegram, Discord, Matrix, OAuth)
  2. Якщо контейнер використовує .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`.