Files
microdao-daarion/TODO-CRITICAL-NODA1.md

6.9 KiB
Raw Permalink Blame History

🚨 КРИТИЧНІ TODO для NODA1

Оновлено: 2026-01-28
Джерело: Аналіз усіх документів репозиторію + live audit


ВИКОНАНО СЬОГОДНІ (2026-01-28)

  • Виправлено ROUTER_URL (9102 → 8000)
  • Додано агентів: Alateya, Clan, Eonarch
  • Встановлено всі Telegram webhooks
  • Закомічено зміни локально та на NODA1
  • Патч postgres-backup (pg16) — вже впроваджено
  • Патч NATS alias — вже впроваджено
  • Патч Caddy disabled — вже впроваджено

🛡️ АУДИТ БЕЗПЕКИ (2026-01-28)

Fail2ban — ПРАЦЮЄ

Jail Статус
sshd Active
nginx-auth Active
nginx-limit-req Active
nginx-waf Active

Firewall (DOCKER-USER) — НАЛАШТОВАНО

  • Внутрішні порти (8000, 8001, 8101, 8890, 9500, 3030) — DROP ззовні
  • Docker network (172.18.0.0/16) — ACCEPT

Backups — ПРАЦЮЮТЬ

  • Postgres: щодня о 3:00, останній backup 2026-01-28
  • Retention: daily, weekly, monthly

Trivy Scan — ⚠️ ВРАЗЛИВОСТІ

Образ CRITICAL HIGH
qdrant:v1.7.4 3 32
postgres:16 3 8
nats:2.10-alpine 2 2

Головна вразливість: OpenSSL CVE-2025-15467 (Remote Code Execution)

Рекомендація: Оновити образи в наступному maintenance window:

docker pull qdrant/qdrant:latest
docker pull postgres:16
docker pull nats:2.10-alpine
# Потім docker-compose up -d

Container Limits — НАЛАШТОВАНО (docker update)

Контейнер Memory Limit
vision-encoder 4GB
neo4j, swapper 2GB
qdrant, rag-service 1GB
gateway, router, memory, crawl4ai 512MB
postgres, nats, redis, minio 256MB

Image Updates — ⚠️ ЧАСТКОВО

Образ Статус
NATS Оновлено (2.10-alpine latest)
Qdrant v1.12.5 несумісний, залишаємо v1.7.4
Postgres Не оновлювали (ризик)

Примітка: Qdrant v1.12.5 має breaking changes з v1.7.4. Потрібна міграція даних.


ДОДАТКОВО ВИКОНАНО (2026-01-28, друга сесія)

  • Container memory limits встановлено через docker update
  • NATS образ оновлено до latest 2.10-alpine
  • Qdrant ulimits виправлено (65536 nofile)
  • Trivy scan виконано — знайдено OpenSSL CVE-2025-15467
  • Prometheus rules перевірено — вже налаштовані

Не вдалося:

  • Qdrant v1.12.5 — несумісний з даними v1.7.4, потрібна міграція
  • ⚠️ Prometheus targets — багато сервісів без /metrics endpoint

🔴 КРИТИЧНІ (Безпека)

З SECURITY-ROTATION-PLAN.md

  • Ротація Cohere API key
  • Ротація паролів Postgres/Neo4j
  • Оновлення секретів в Vault

З INFRASTRUCTURE.md

  • Review all Docker images for vulnerabilities
  • Implement container security scanning (Trivy/Clair)
  • Enable Docker Content Trust
  • Set up intrusion detection (fail2ban)
  • Container resource limits (CPU/memory)
  • Scan all images with Trivy before deployment

З IMPLEMENTATION-STATUS.md

  • NATS nkeys — згенерувати реальні JWT та застосувати
  • Qdrant API keys — згенерувати ключі та застосувати
  • Memory Service JWT — згенерувати секрет та застосувати

🟠 ВАЖЛИВІ (Стабільність)

З ARCHITECTURE-150-NODES.md

  • Один prod Qdrant cluster (Tier A) на NODE1
  • Тримати один Neo4j у Tier A (NODE1) як прод
  • Створити нову колекцію: memories_bge_m3_v1 (1024 dim)
  • НЕ змішувати embedding-простори в одній колекції

З PRODUCTION-DEPLOYMENT-GUIDE.md

  • Всі секрети згенеровано та завантажено в Vault
  • Auth enforcement активний
  • Smoke-test пройдено
  • Full flow test пройдено
  • Prometheus alerting rules застосовано

З docs/MEMORY-MODULE-STATUS.md

  • NODE1 — Завантажити базову модель в Ollama (e.g., llama3:8b)
  • Налаштувати backup для всіх баз даних

🟡 СЕРЕДНІ (Функціональність)

З TELEGRAM-RECOVERY-AND-MONITORING-COMPLETE.md

  • Інтеграція history recovery з Gateway startup
  • Telegram алерти адмінам
  • Dashboard здоров'я колекцій
  • Redis backups
  • Бекап .env файлів

З docs/memory/CUTOVER_CHECKLIST.md

  • Dry run passed
  • Migration completed
  • Parity check passed
  • Dual-read validation passed
  • Cutover completed
  • Post-cutover health verified

З IMPLEMENTATION-STATUS.md

  • Streams — перевірити створення через worker-daemon
  • Тестування повного потоку: Matrix → Gateway → NATS → Worker → Memory Service
  • Реальна реалізація embed/retrieve в Job Executor
  • Статуси результатів назад у Matrix
  • Metrics та алерти в Matrix ops room

🔵 НИЗЬКІ (Покращення)

З ARCHITECTURE-150-NODES.md

  • NATS кластер (3+ replicas) для HA
  • mTLS для Memory Service (замість JWT)
  • Consul для capability registry

З docs/MEMORY-MODULE-STATUS.md

  • Налаштувати реплікацію PostgreSQL NODE1 ↔ NODE3
  • Налаштувати Neo4j кластер між нодами
  • Встановити pgvector для PostgreSQL

📊 Статистика TODO

Пріоритет Кількість
🔴 Критичні 11
🟠 Важливі 10
🟡 Середні 12
🔵 Низькі 6
Всього 39

🛠️ Рекомендований порядок виконання

Фаза 1: Безпека (1-2 дні)

  1. Fail2ban + container limits
  2. Ротація критичних ключів
  3. Trivy scan

Фаза 2: Стабільність (2-3 дні)

  1. Backup strategy
  2. Auth enforcement
  3. Smoke tests

Фаза 3: Моніторинг (1-2 дні)

  1. Prometheus rules
  2. Telegram alerts
  3. Dashboard

Автор: Cursor Agent
Останнє оновлення: 2026-01-28