6.9 KiB
6.9 KiB
🚨 КРИТИЧНІ 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 дні)
- Fail2ban + container limits
- Ротація критичних ключів
- Trivy scan
Фаза 2: Стабільність (2-3 дні)
- Backup strategy
- Auth enforcement
- Smoke tests
Фаза 3: Моніторинг (1-2 дні)
- Prometheus rules
- Telegram alerts
- Dashboard
Автор: Cursor Agent
Останнє оновлення: 2026-01-28