205 lines
6.9 KiB
Markdown
205 lines
6.9 KiB
Markdown
# 🚨 КРИТИЧНІ TODO для NODA1
|
||
|
||
**Оновлено:** 2026-01-28
|
||
**Джерело:** Аналіз усіх документів репозиторію + live audit
|
||
|
||
---
|
||
|
||
## ✅ ВИКОНАНО СЬОГОДНІ (2026-01-28)
|
||
|
||
- [x] Виправлено ROUTER_URL (9102 → 8000)
|
||
- [x] Додано агентів: Alateya, Clan, Eonarch
|
||
- [x] Встановлено всі Telegram webhooks
|
||
- [x] Закомічено зміни локально та на NODA1
|
||
- [x] Патч postgres-backup (pg16) — вже впроваджено
|
||
- [x] Патч NATS alias — вже впроваджено
|
||
- [x] Патч 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:
|
||
```bash
|
||
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, друга сесія)
|
||
|
||
- [x] Container memory limits встановлено через `docker update`
|
||
- [x] NATS образ оновлено до latest 2.10-alpine
|
||
- [x] Qdrant ulimits виправлено (65536 nofile)
|
||
- [x] Trivy scan виконано — знайдено OpenSSL CVE-2025-15467
|
||
- [x] 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
|