Files
EvoBGP/docs/production-checklist.md
T
DenozordecandCursor 53ce80c9ff fix(pipeline): harden upstream resilience and production shutdown
DoH через DoWithRetry; CDN preview через UpstreamHTTPDo; частичный fail CDN (EVOBGP_CDN_PARTIAL_OK); безопасный доступ к Job.Meta; drain jobs при SIGTERM; ValidateProductionEnforce при EVOBGP_PRODUCTION=1.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 12:11:52 +07:00

2.0 KiB
Raw 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_JOB_MAX_CONCURRENT=16, EVOBGP_DB_MAX_CONNS=25, EVOBGP_COLLECT_CONCURRENCY=16 при росте tenants.
  • EVOBGP_NODE_DISPATCH_INSECURE_TLS=0 — только валидный TLS к agent.
  • Ограничить /metrics сетевой политикой или reverse proxy.
  • Профиль evobgp-all или HA API + персистентная job_audit (PostgreSQL).
  • Мониторинг drift: evobgp-deploy, last_applied_revision_id vs published.

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

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