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
- 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.
36 lines
2.8 KiB
Markdown
36 lines
2.8 KiB
Markdown
# 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` на нодах без ревизии.
|