diff --git a/deploy/compose/docker-compose.yaml b/deploy/compose/docker-compose.yaml index a8698ad..048abba 100644 --- a/deploy/compose/docker-compose.yaml +++ b/deploy/compose/docker-compose.yaml @@ -96,7 +96,7 @@ services: <<: *env-ref EVOBGP_HTTP_ADDR: ":8080" EVOBGP_SEED_DEMO: "1" - # Local reference only: allows Bearer dev for scheduler HTTP client (EVOBGP_SCHEDULER_BEARER). + # DEV ONLY — не для production. Bearer dev + слабые demo-секреты (см. docs/access.md). EVOBGP_DEV_INSECURE: "1" EVOBGP_BIRDC_SOCKET: /run/bird/bird.ctl EVOBGP_BIRDC_INTERVAL: 30s diff --git a/deploy/compose/stack.microvps-full.yaml b/deploy/compose/stack.microvps-full.yaml index 4b97205..ae902a7 100644 --- a/deploy/compose/stack.microvps-full.yaml +++ b/deploy/compose/stack.microvps-full.yaml @@ -135,6 +135,7 @@ services: EVOBGP_BIRDC_INTERVAL: 30s EVOBGP_BIRD_ACTIVE_DIR: /etc/bird EVOBGP_BIRD_STAGING_DIR: /tmp/evobgp-bird-staging + # DEV ONLY — не для production (см. docs/access.md). EVOBGP_DEV_INSECURE: "1" volumes: - bird_etc:/etc/bird diff --git a/docs/access.md b/docs/access.md index 9bbf615..20143f4 100644 --- a/docs/access.md +++ b/docs/access.md @@ -37,7 +37,12 @@ opkey|01ARZ3NDEKTSV4RRFFQ69G5FAV|operator,nodekey|01ARZ3NDEKTSV4RRFFQ69G5FAV|nod Если установлено `EVOBGP_DEV_INSECURE=1` и в store доступен демо-tenant (`DemoIDs`), то запрос с заголовком **`Authorization: Bearer dev`** получает контекст **`operator`** для этого tenant. -**Запрещено** в продакшене: любой, кто знает заголовок, получает полные права оператора на демо-данные. +**Запрещено** в продакшене: любой, кто знает заголовок, получает полные права оператора на демо-данные. В reference Compose (`deploy/compose/docker-compose.yaml`) флаг включён только для локальной разработки. + +### Синхронные «тяжёлые» GET (control plane) + +- `POST /v1/modules/{module_id}/cdn-sources/preview` — загрузка CDN в том же HTTP-запросе (лимит тела ~8 MiB, см. OpenAPI). +- `GET /v1/bird/status` (если маршрут включён в деплое) — опрос локального `birdc`, таймаут сервера ~12 с. ### Детерминированный ключ подписи бандлов (тесты) diff --git a/docs/openapi.yaml b/docs/openapi.yaml index 231329c..467faa1 100644 --- a/docs/openapi.yaml +++ b/docs/openapi.yaml @@ -67,7 +67,9 @@ components: required: false schema: $ref: "#/components/schemas/ResourceId" - description: Явный tenant (только супер-роли). Без заголовка tenant определяется по ключу. + description: > + Явный tenant (только супер-роли). Без заголовка tenant определяется по API-ключу. + **Реализация v1:** заголовок в Go handlers не обрабатывается; tenant только из Bearer-токена (см. docs/access.md). IdempotencyKey: name: Idempotency-Key in: header @@ -1811,7 +1813,9 @@ paths: tags: [Modules] summary: Предпросмотр префиксов из CDN-источника description: > - Загружает URL, парсит как plaintext или json и возвращает список извлечённых префиксов (до 100 записей). + Синхронный запрос: conditional GET к URL (до 8 MiB тела ответа), парсинг plaintext или JSON, + возврат до 100 префиксов в `items` (полный счётчик в `total`). Выполняется в HTTP worker; + при таймауте клиента используйте короткий URL или меньший payload. operationId: previewCdnSource requestBody: required: true