Skip to content

Добавление Instance

Где найти?

Иконка Instances в верхней панели, затем кнопка Add Instance. Добавлять, подтверждать, блокировать и удалять инстансы может только Администратор

Ссылка About

Чтобы добавить внешний инстанс, нужна ссылка на его публичное состояние /instances/current. На внешнем инстансе её может скопировать любой авторизованный Пользователь в разделе About.

  1. Войдите в нужный инстанс
  2. Нажмите своё имя в правом верхнем углу
  3. Нажмите About
  4. В блоке Current Instance скопируйте ссылку кнопкой рядом с ней

Формат ссылки:

https://domain.com/pepeunit/api/v1/instances/current

WARNING

Ссылка должна заканчиваться на /instances/current. Схема только http или https. Нельзя добавлять query, fragment и логин с паролем в URL

Как добавить Instance

  1. Откройте модальное окно Instances
  2. Нажмите Add Instance
  3. Вставьте ссылку /current в поле Paste /current links
  4. Нажмите Add

После успешного добавления инстанс сразу получает статус Trust и появляется в списке.

INFO

Инстансы могут находиться и сами. Раз в час текущий инстанс опрашивает всех соседей со статусом Trust, забирает у них списки известных URL и публичных RepositoryRegistry. Новые URL создаются со статусом Pending. Статус доверия им выставляет только Администратор: без Trust найденный инстанс не опрашивается

Подтверждение, блокировка и удаление

Действия доступны в строке списка Instances и зависят от текущего статуса.

СтатусДоступные кнопки
PendingTrust, Block, Delete
TrustBlock, Scan, Delete
BlockingTrust, Delete
  1. Trust - начать опрос инстанса и принимать от него данные
  2. Block - прекратить опрос. Ответам такого инстанса текущий инстанс не доверяет
  3. Scan - принудительно опросить один доверенный инстанс. Создаётся Operation Task типа Scan Instance
  4. Delete - удалить запись

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Сколько дней без успешного опроса хранить доверенный инстанс, 1120
PU_INSTANCE_MAX_STATE_SIZEМаксимальный размер ответа внешнего инстанса в байтах, 409665536
PU_ADMIN_EMAILПубличный email, который попадёт в контакты текущего инстанса
PU_ADMIN_TGПубличный контакт Telegram в карточке текущего инстанса
PU_HTTP_TIMEOUTТаймаут исходящих запросов к внешним инстансам
PU_HTTP_CONNECT_TIMEOUTТаймаут установки соединения при опросе