Bearer для /metrics (EVOBGP_METRICS_TOKEN); rate limit /v1/auth/config; constant-time agent secret; OTel stub; Playwright smoke; HTTP_PROXY note; checklist обновлён. Co-authored-by: Cursor <[email protected]>
2.5 KiB
2.5 KiB
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: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_idvs published.
Не использовать в prod
EVOBGP_CDN_ALLOW_PRIVATE=1— только тесты/lab.- Plaintext
EVOBGP_API_KEYSбез ротации (break-glass — временно). - Ручное редактирование
evobgp_*.confна нодах без ревизии.