make inbound check optional

This commit is contained in:
ayurishchev committed 2026-08-21 11:25:52 +03:00
1 parent 67adc6670e
commit c630f13c57
11 files changed
+203 -45

No files matched your search

+27 -11
View File
@@ -121,8 +121,12 @@ curl -s http://<control-api>:8080/api/v1/admin/ips \
## Как читать итоговый результат (pass/partial/fail)
- **`pass`** — прошли все проверки (все исходящие + все три площадки по
всем портам и ICMP). Адрес можно считать пригодным к повторной выдаче.
- **`pass`** — прошли все проверки: все исходящие, плюс все площадки по
всем портам и ICMP — если площадки вообще настроены (`sites` в конфиге
control-api может быть пустым, см.
[«Управление площадками»](#управление-площадками-проберами) — тогда
учитываются только исходящие). Адрес можно считать пригодным к
повторной выдаче.
- **`partial`** — часть проверок прошла, часть — нет (например, площадка
site-2 не смогла достучаться по 8080/tcp, но остальное в порядке).
Означает частичную деградацию — например, адрес заблокирован в
@@ -194,16 +198,28 @@ curl -s http://<control-api>:8080/api/v1/admin/validators | python3 -m json.tool
## Управление площадками (проберами)
Аналогично валидаторам: чтобы добавить площадку, добавьте `site_id` +
`index` (свободный от 1 до 3, или больше — но текущая схема БД
рассчитана ровно на 3 площадки, см. ниже) в `sites` конфига control-api,
разверните на площадке `prober` с тем же `site_id`.
**Входящие (inbound/prober) проверки полностью опциональны.** Список
`sites` в конфиге control-api и есть переключатель: пусто — inbound-
проверки выключены целиком, итоговый результат считается только по
исходящим (egress) проверкам, и агрегация не ждёт вообще ни одного
пробера. Указан один или два слота — ждём только их, остальные не
учитываются. Указаны все три — работает как в исходной схеме процесса.
Явного отдельного флага "включить/выключить" нет — самого списка `sites`
достаточно.
> Важно: количество площадок в текущей версии жёстко зашито в схему БД
> (`Site1Complete`/`Site2Complete`/`Site3Complete`) — система рассчитана
> ровно на **три** внешние площадки, как и описано в исходной схеме
> процесса. Изменение их числа потребует доработки схемы данных, это не
> делается только правкой конфига.
Чтобы добавить площадку: добавьте `site_id` + `index` (1, 2 или 3 — см.
ограничение ниже) в `sites` конфига control-api и разверните на площадке
`prober` с тем же `site_id`. Чтобы отключить конкретную площадку —
уберите соответствующую запись из `sites` и перезапустите control-api;
процесс `prober` на ней можно не останавливать (он просто перестанет
получать назначения).
> Важно: количество *возможных* слотов площадок жёстко зашито в схему БД
> (`Site1Complete`/`Site2Complete`/`Site3Complete`) — не более **трёх**,
> как и описано в исходной схеме процесса. `index` может быть только 1, 2
> или 3. Использовать *меньше* трёх (в том числе ноль) — штатный,
> поддерживаемый сценарий; *больше* трёх потребует доработки схемы
> данных, одной правкой конфига не обойтись.
## Повторная проверка адреса