# Production checklist и требования ## 0. Узкие места и митигации | Область | Узкое место | Митигация (внедрено/требуется) | |---------|-------------|---------------------------------| | **Пользователь** | Холодный старт 5–30 с | Skeleton, timeout, Retry — см. §8 UI/UX | | **Пользователь** | Загрузка файлов 30–300 с | Прогресс по этапам + кнопка Cancel; pre-upload preview | | **Пользователь** | Гости: история теряется | Предупреждение при закрытии; CTA «Сохранить в аккаунт» | | **Пользователь** | Rate limit 300 Pro Search/день | 429 + предупреждение при 80%; предложение апгрейда | | **Инфраструктура** | SearXNG — единый инстанс | Очередь запросов в search-svc; при росте — пул инстансов | | **Инфраструктура** | cache-worker зависает | `activeDeadlineSeconds` во всех CronJob (5–20 мин) | | **Инфраструктура** | Redis/PostgreSQL без HA | Sentinel/Cluster и Read replica при масштабировании | | **Инфраструктура** | travel-svc без HPA | HPA 1–4 replicas добавлен в 02-k3s-services-spec | | **Функции** | Внешние API (LLM, FMP, TA) | Retry + circuit breaker; fallback при частичном сбое | ## 1. Инфраструктура | Компонент | Helm chart | Namespace | |-----------|------------|-----------| | Redis | bitnami/redis | perplexica-infra | | PostgreSQL | bitnami/postgresql | perplexica-infra | | MinIO | bitnami/minio | perplexica-infra | | SearXNG | Deployment | perplexica-infra | ## 2. Secrets - notifications-secrets (vapid_public, vapid_private, smtp_url) - redis-credentials (url) - db-credentials (url) - auth-secrets (jwt_secret) - llm-credentials (openai) - finance-keys (fmp) - travel-keys (tripadvisor) - yookassa-credentials (shop_id, secret) ## 3. Сетевые политики (NetworkPolicy) - Ingress: только из ingress-controller - chat-svc → search-svc, Redis - cache-worker → Redis, discover-svc, finance-svc, travel-svc - Redis, PostgreSQL: без внешнего доступа ## 4. PodDisruptionBudget Минимум 2 доступных пода для: chat-svc, search-svc. ## 5. Observability - Prometheus: метрики `/metrics` из каждого сервиса - Grafana: дашборды - Structured JSON логи - OpenTelemetry/Jaeger: распределённые трейсы - Алерты: latency, error rate, availability ## 6. Резервирование и масштабирование | Область | Решение | |---------|---------| | chat-svc | HPA, кэш по query_hash | | Redis | Sentinel / Cluster при росте | | PostgreSQL | Read replica, PgBouncer | | SearXNG | Очередь запросов в search-svc/media-svc; кэш media; при росте — пул инстансов | | cache-worker | Ограничение concurrency, batch size; `activeDeadlineSeconds` для защиты от зависаний | ## 7. Безопасность - CORS: ограничить Access-Control-Allow-Origin - Rate limiting: API Gateway / Ingress - TLS (cert-manager / Let's Encrypt) - Retry + circuit breaker для внешних API (FMP, Tripadvisor, LLM) ## 8. UI/UX | Компонент | Требование | |-----------|------------| | Discover, Finance, Travel | Skeleton при cold start; timeout; Retry | | Pro/Deep Search | Этапы (Classifier → Researcher → Writer); оценка времени | | Загрузка файлов | Прогресс по этапам: парсинг → chunking → эмбеддинги; кнопка Cancel; timeout 300 с | | Гости | Предупреждение при закрытии; CTA «Сохранить в аккаунт» для переноса истории | | Rate limit | 429 + предупреждение при 80% лимита; предложение апгрейда при достижении лимита | | Ошибки | Сообщение + Retry/Cancel | | Travel Stepper | Сохранение состояния; skeleton между шагами | | Медиа | Skeleton grid; 15 с timeout | ## 9. Чек-лист развёртывания - [ ] Ingress path-based routing - [ ] Probes /health, /ready во всех сервисах - [ ] HPA: chat-svc, search-svc, discover-svc, finance-svc, travel-svc, upload-svc, memory-svc - [ ] Redis, PostgreSQL, MinIO, SearXNG - [ ] Secrets - [ ] TLS - [ ] Rate limiting - [ ] Prometheus + алерты - [ ] Backup PostgreSQL, MinIO - [ ] PDB для chat-svc, search-svc - [ ] Runbook оператора - [ ] UI/UX: skeleton, timeout, rate limit feedback, guest warning, file upload progress+cancel ## 10. Ссылки (внутри architecture) - [04-pages-logic-verification.md §9](./04-pages-logic-verification.md#9-покрытие-фич-perplexity-20252026) — покрытие vs Perplexity 2026 - [06-roadmap-specification.md](./06-roadmap-specification.md) — roadmap и спеки фич - [01-perplexity-analogue-design.md](./01-perplexity-analogue-design.md) - [02-k3s-services-spec.md](./02-k3s-services-spec.md) - [03-cache-and-precompute-strategy.md](./03-cache-and-precompute-strategy.md) - [04-pages-logic-verification.md](./04-pages-logic-verification.md)