Files
EvoBGP/docs/production-checklist.md
Denozordec dc803bcb34
quality / commitlint (push) Skipped
quality / changes (push) Successful in 9s
quality / docker-check (push) Skipped
quality / openapi (push) Successful in 46s
quality / web (push) Successful in 1m16s
quality / go (push) Successful in 2m42s
quality / bird2 (push) Successful in 16s
CD / quality (push) Successful in 5m19s
CD / publish (push) Successful in 7m19s
refactor(web): remove deprecated dashboard components and enhance KPI grid
- Deleted unused components: `DashboardActivityTimeline`, `DashboardFramePanel`, `DashboardModulesGrid`, `DashboardRecentJobsGrid`, and `DashboardRecentRevisionsGrid` to streamline the dashboard.
- Updated `DashboardKpiGrid` to improve KPI display logic, including progress indicators and enhanced badge functionality.
- Refactored `DashboardNetworkHealth` to provide better status representation based on loading states and network conditions.
- Introduced new properties for KPI cards to support progress tracking and improved visual feedback.

This cleanup aims to enhance performance and maintainability of the dashboard while providing a better user experience.
2026-08-31 10:15:59 +07:00

2.8 KiB
Raw Permalink Blame History

Production checklist

Краткий чеклист перед выводом EvoBGP в production (10+ клиентов, нестабильная сеть).

Обязательно

  • EVOBGP_PRODUCTION=1 (или EVOBGP_ENV=production) — при старте API/evobgp-all процесс откажется стартовать, если нарушены жёсткие требования ниже (config.ValidateProductionEnforce).
  • EVOBGP_SEED_DEMO=0 — отключить demo-tenant и токен Bearer dev.
  • EVOBGP_DEV_INSECURE не задавать или 0 — не использовать lab-флаги в prod.
  • EVOBGP_BUNDLE_SEED_HEX — задать стабильный hex-ключ подписи бандлов; сохранить pubkey для нод.
  • PostgreSQL с TLS (sslmode не disable) при доступе вне private network.
  • EVOBGP_CORS_ORIGINS — явный whitelist origin веб-панели.
  • EVOBGP_STALE_ON_UPSTREAM_ERROR=1 (по умолчанию) — stale snapshot при сбоях CDN/ASN/DoH.
  • Опционально EVOBGP_CDN_PARTIAL_OK=1 — при сбое одного CDN source без stale cache продолжать refresh остальных (иначе fail модуля).
  • EVOBGP_ASN_HOLDER_TTL_SEC — TTL имени holder AS (default 7 суток); prefixes кэшируются отдельно (EVOBGP_ASN_CACHE_TTL_SEC, default 1800).
  • EVOBGP_CDN_DNS_CACHE_TTL_SEC — TTL кэша DNS при SSRF-проверке CDN URL (default 300).
  • EVOBGP_DOMAIN_CACHE_TTL_SEC — TTL кэша DoH A/AAAA (domain_resolve_cache, default 300).

Рекомендуется

  • EVOBGP_JOB_MAX_CONCURRENT=16, EVOBGP_DB_MAX_CONNS=25, EVOBGP_COLLECT_CONCURRENCY=16 при росте tenants.
  • EVOBGP_NODE_DISPATCH_INSECURE_TLS=0 — только валидный TLS к agent.
  • Ограничить /metrics: EVOBGP_METRICS_TOKEN (Bearer) и/или сетевая политика / reverse proxy.
  • EVOBGP_AUTH_RATE_LIMIT (default 60/min per IP) на GET /v1/auth/config.
  • HTTP_PROXY / HTTPS_PROXY / NO_PROXY для CDN/DoH в censored сетях.
  • Опционально EVOBGP_OTEL_ENDPOINT (stub opt-in для будущего OTel export).
  • Профиль evobgp-all или HA API + персистентная job_audit (PostgreSQL SKIP LOCKED reclaim).
  • E2E smoke: pnpm --filter @evobgp/web run test:e2e против API (EVOBGP_E2E_API_URL) / UI (EVOBGP_E2E_UI=1).
  • Мониторинг drift: evobgp-deploy, last_applied_revision_id vs published.

Не использовать в prod

  • EVOBGP_CDN_ALLOW_PRIVATE=1 — только тесты/lab.
  • Plaintext EVOBGP_API_KEYS без ротации (break-glass — временно).
  • Ручное редактирование evobgp_*.conf на нодах без ревизии.