Добавление Instance
Где найти?
Иконка Instances в верхней панели, затем кнопка Add Instance. Добавлять, подтверждать, блокировать и удалять инстансы может только Администратор
Ссылка About
Чтобы добавить внешний инстанс, нужна ссылка на его публичное состояние /instances/current. На внешнем инстансе её может скопировать любой авторизованный Пользователь в разделе About.
- Войдите в нужный инстанс
- Нажмите своё имя в правом верхнем углу
- Нажмите
About - В блоке
Current Instanceскопируйте ссылку кнопкой рядом с ней
Формат ссылки:
https://domain.com/pepeunit/api/v1/instances/currentWARNING
Ссылка должна заканчиваться на /instances/current. Схема только http или https. Нельзя добавлять query, fragment и логин с паролем в URL
Как добавить Instance
- Откройте модальное окно
Instances - Нажмите
Add Instance - Вставьте ссылку
/currentв полеPaste /current links - Нажмите
Add
После успешного добавления инстанс сразу получает статус Trust и появляется в списке.
INFO
Инстансы могут находиться и сами. Раз в час текущий инстанс опрашивает всех соседей со статусом Trust, забирает у них списки известных URL и публичных RepositoryRegistry. Новые URL создаются со статусом Pending. Статус доверия им выставляет только Администратор: без Trust найденный инстанс не опрашивается
Подтверждение, блокировка и удаление
Действия доступны в строке списка Instances и зависят от текущего статуса.
| Статус | Доступные кнопки |
|---|---|
Pending | Trust, Block, Delete |
Trust | Block, Scan, Delete |
Blocking | Trust, Delete |
Trust- начать опрос инстанса и принимать от него данныеBlock- прекратить опрос. Ответам такого инстанса текущий инстанс не доверяетScan- принудительно опросить один доверенный инстанс. Создаётся Operation Task типаScan InstanceDelete- удалить запись
WARNING
Статус Pending Администратор выставить не может. Это карантин только для автоматически найденных инстансов. Такие записи не опрашиваются и не удаляются по сроку давности
Принудительное сканирование всех инстансов
В списке Instances кнопка Scan All запускает опрос всех записей со статусом Trust. Задача растягивается примерно на 10 минут, чтобы не ударить по сети сразу. Повторный запуск той же команды недоступен в течение 10 минут.
Создаётся Operation Task типа Scan All Instances. Результат выглядит как Scanned N, failed M.
Автоматический опрос и хранение
Если флаг PU_FF_FEDERATION_ENABLE включён, Backend каждый час опрашивает доверенные инстансы. Перед опросом каждому инстансу назначается случайная задержка 1-3600 c
Инстанс со статусом Trust удаляется, если успешный опрос не удавался дольше PU_INSTANCE_RETENTION_DAYS. Перед удалением выполняется обязательный повторный опрос. Записи Pending автоматически не удаляются.
Связанные переменные Backend:
| Переменная | Зачем нужна |
|---|---|
PU_FF_FEDERATION_ENABLE | Включает опрос внешних инстансов и кнопки сканирования |
PU_INSTANCE_RETENTION_DAYS | Сколько дней без успешного опроса хранить доверенный инстанс, 1–120 |
PU_INSTANCE_MAX_STATE_SIZE | Максимальный размер ответа внешнего инстанса в байтах, 4096–65536 |
PU_ADMIN_EMAIL | Публичный email, который попадёт в контакты текущего инстанса |
PU_ADMIN_TG | Публичный контакт Telegram в карточке текущего инстанса |
PU_HTTP_TIMEOUT | Таймаут исходящих запросов к внешним инстансам |
PU_HTTP_CONNECT_TIMEOUT | Таймаут установки соединения при опросе |