Внесены правки в документацию
This commit is contained in:
@@ -201,9 +201,17 @@ worker.lease_seconds=90
|
||||
|
||||
Runtime policy хранится в версионированной `message_safety.config_versions`, а не в `.env` и не в `han_app.app_settings`. Сюда входят task lease/deadline/attempts, internal rate/pending limits, retention/cache TTL, URL/DNS pipeline limits, ClamAV policy timeout/signature age и enabled file MIME/size policy. Для ClamAV schema допускает возраст сигнатур не более `720` часов (30 дней), seed `max_signature_age_hours` равен `240` часам (10 дней). Полный schema/seed/activation contract — module-05 §10.1 и §15.
|
||||
|
||||
Seed, JSON Schema и referenced artifacts входят в immutable Message Safety
|
||||
image. Их изменение требует одновременно нового pinned image digest и новой
|
||||
монотонной config version через config-admin job. Нельзя активировать config,
|
||||
который старый runtime image не валидирует, оставлять старый image как
|
||||
автоматический rollback после активации несовместимой schema или редактировать
|
||||
active row на месте. Rollback выполняется новой config version, совместимой с
|
||||
выбранным image; retired version повторно не активируется.
|
||||
|
||||
`han_app.app_settings:chat.attachments.*` остаётся бизнес-настройкой api-backend. Message Safety не получает cross-schema read к `han_app`; файл допускается только при пересечении business allow-list, active safety policy и immutable detector manifest. Active policy может сузить manifest, но не добавить parser и не увеличить hard limit.
|
||||
|
||||
В env Message Safety остаются только bootstrap/topology/capacity (`APP_ENV`, worker concurrency, DNS resolver, ClamAV/S3/OTLP endpoints); credentials доставляются secret files. Rules/detector versions вычисляются/проверяются по immutable artifacts. Emergency MOCK остаётся в отдельном root-owned mode file и намеренно не переносится в БД.
|
||||
В env Message Safety остаются только bootstrap/topology/capacity (`APP_ENV`, worker concurrency, DNS resolver, ClamAV/S3/OTLP endpoints); credentials доставляются secret files. Rules/detector versions вычисляются/проверяются по immutable artifacts. Emergency MOCK остаётся в отдельном read-only bind file `root:han-message-safety 0640` с dedicated GID контейнера и намеренно не переносится в БД.
|
||||
|
||||
---
|
||||
|
||||
@@ -433,6 +441,12 @@ Production использует отдельные allow-listed env manifests В
|
||||
|
||||
При `false` контейнер остаётся live, `/health/ready` возвращает `503 sync_disabled`, worker/reconciliation не claim-ят работу. Public webhook не должен безусловно подтверждать событие как обработанное: до cutover endpoint закрывается на edge либо возвращает retryable `503`. Это не влияет на чат Open Lines.
|
||||
|
||||
Feature flag, edge allow-list и readiness образуют единый fail-closed
|
||||
инвариант: при `false` активный nginx allow-list содержит только `deny all;`;
|
||||
при `true` требуется хотя бы один reviewed source CIDR и готовый receiver.
|
||||
Непустой allow-list при disabled, пустой allow-list при enabled или
|
||||
расхождение route/readiness являются preflight error.
|
||||
|
||||
### `bitrix_sync.settings`
|
||||
|
||||
Versioned hot settings содержат batch size/wait, claim size, lease TTL, portal limiter refill/burst, max in-flight, retry base/max/horizon, Contact/alert reconciliation intervals, пороги всплеска Contact, восстановленных без webhook, и IDs/стадии/поля/SLA smart process. Новая версия активируется только после полной type/range/cross-field validation; невалидная версия не заменяет последнюю рабочую.
|
||||
|
||||
Reference in New Issue
Block a user