feat(ops): protect metrics, rate-limit auth, agent secret timing, e2e smoke
CI / changes (push) Successful in 7s
CI / openapi (push) Failing after 40s
CI / web (push) Successful in 56s
CI / commitlint (push) Skipped
CI / go (push) Failing after 34s
CI / bird2 (push) Skipped
CI / release (push) Skipped

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]>
This commit is contained in:
Denozordec
2026-07-31 12:29:00 +07:00
co-authored by Cursor
parent 26f5172f88
commit 6c6e76fca3
15 changed files with 224 additions and 6 deletions
+6 -2
View File
@@ -17,8 +17,12 @@
- `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).
- Ограничить `/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