Перейти к содержанию

Правила маршрутизации

Функционал правил маршрутизации доступен в Enterprise и Atlas версиях.

Что такое правило маршрутизации

Правило маршрутизации определяет, какие пакеты разрешено или запрещено загружать через проксирующий репозиторий.

Правило проверяет название пакета по заданным wildcard-шаблонам и принимает решение о возможности загрузки пакета.

В зависимости от настроенного режима правило:

  • блокирует загрузку пакетов, соответствующих указанным шаблонам;
  • разрешает загрузку только пакетов, соответствующих указанным шаблонам.

Правила маршрутизации используются для контроля пакетов, получаемых из внешних реестров через механизм проксирования.

Где применяются правила маршрутизации

Правила маршрутизации можно применять:

  • к проксирующим репозиториям реестра;
  • к внешним реестрам общего реестра пакетов.

Созданное правило можно назначить только проксирующему репозиторию.

Для одного проксирующего репозитория можно использовать только одно правило маршрутизации.

Как работает правило маршрутизации

Каждое правило работает в одном из двух режимов:

Режим Описание
Запрещающее правило Блокирует загрузку пакетов, названия которых соответствуют указанным wildcard-шаблонам
Разрешающее правило Разрешает загрузку только тех пакетов, названия которых соответствуют указанным wildcard-шаблонам

Режим правила задаётся переключателем при настройке правила.

При обращении к внешнему реестру приложение проверяет название пакета по правилу, назначенному проксирующему репозиторию.

Результат проверки зависит от режима правила:

Режим Название соответствует шаблону Название не соответствует шаблону
Запрещающее правило Загрузка запрещена Загрузка разрешена
Разрешающее правило Загрузка разрешена Загрузка запрещена

Wildcard-шаблоны

Для настройки правил используются wildcard-шаблоны.

Wildcard-шаблон — это выражение со специальными символами, которое позволяет описать несколько названий пакетов одной строкой.

Символ Описание Пример шаблона Пример соответствующего названия пакета
* Соответствует последовательности символов internal-* internal-library
? Соответствует одному символу package-? package-a
** Соответствует последовательности символов, включая элементы пути group/** group/project/package

Набор шаблонов интерпретируется в соответствии с выбранным режимом правила: как список запрещённых или разрешённых названий пакетов.

Создание правила маршрутизации

Список правил маршрутизации доступен из настроек реестров.

Для перехода к списку правил маршрутизации требуется:

  1. Открыть страницу реестров.
  2. Выбрать Настройки.

Для создания правила маршрутизации требуется:

  1. Открыть страницу со списком правил маршрутизации.
  2. Выбрать Создать правило.
  3. Указать режим правила с помощью переключателя:
  4. запрещающее правило;
  5. разрешающее правило.
  6. Указать wildcard-шаблоны для проверки названий пакетов.
  7. Завершить создание правила.

После создания правило становится доступно для назначения проксирующему репозиторию.

Проверка работы правила

На странице редактирования правила доступна проверка работы wildcard-шаблонов.

Проверка позволяет определить, будет ли конкретный пакет разрешён или запрещён для загрузки при использовании текущего правила.

Для проверки правила требуется:

  1. Открыть страницу редактирования правила маршрутизации.
  2. Проверить выбранный режим правила.
  3. Указать или изменить wildcard-шаблоны.
  4. Ввести название пакета для проверки.
  5. Запустить проверку.

После проверки приложение отображает резолюцию:

Резолюция Описание
Разрешено Загрузка пакета разрешена текущим правилом
Запрещено Загрузка пакета запрещена текущим правилом

Результат проверки зависит от выбранного режима правила и соответствия названия пакета указанным wildcard-шаблонам.

Применение правила к репозиторию реестра

Правило маршрутизации применяется только к репозиторию проксирующего типа.

Проксирующий репозиторий используется для получения пакетов из внешнего реестра. Если репозиторию назначено правило маршрутизации, перед проксированием выполняется проверка названия запрашиваемого пакета.

Для применения правила к репозиторию реестра требуется:

  1. Открыть страницу создания или редактирования репозитория реестра.
  2. Убедиться, что выбран проксирующий тип репозитория.
  3. Выбрать созданное правило маршрутизации.
  4. Завершить создание репозитория или сохранить его изменения.

После назначения правило используется при загрузке пакетов через данный проксирующий репозиторий.

Для одного проксирующего репозитория можно назначить только одно правило маршрутизации.

Применение правила к общему реестру пакетов

Правила маршрутизации можно применять к внешним реестрам общего реестра пакетов.

Для применения правила требуется:

  1. Открыть страницу Внешние реестры.
  2. Открыть создание или редактирование внешнего реестра.
  3. Выбрать созданное правило маршрутизации.
  4. Завершить создание внешнего реестра или сохранить его изменения.

После назначения правило используется при проксировании пакетов через соответствующий внешний реестр.

Получение пакетов из кэша

Если для проксирующего репозитория включён кэш и запрашиваемый пакет уже находится в реестре, возвращается сохранённая в кэше версия пакета.

В этом случае обращение к внешнему реестру не требуется, поэтому проверка предварительных условий для проксирования не выполняется.

Если запрашиваемого пакета нет в кэше, для его получения из внешнего реестра выполняется проксирование. Перед проксированием проверяются условия, указанные в разделе Предварительные условия для проксирования.

Предварительные условия для проксирования

Если запрашиваемого пакета нет в кэше, для успешного проксирования пакета с применением правила маршрутизации должны быть настроен транспортный токен с правами на запись в реестр;