Правила маршрутизации
Функционал правил маршрутизации доступен в Enterprise и Atlas версиях.
Что такое правило маршрутизации
Правило маршрутизации определяет, какие пакеты разрешено или запрещено загружать через проксирующий репозиторий.
Правило проверяет название пакета по заданным wildcard-шаблонам и принимает решение о возможности загрузки пакета.
В зависимости от настроенного режима правило:
- блокирует загрузку пакетов, соответствующих указанным шаблонам;
- разрешает загрузку только пакетов, соответствующих указанным шаблонам.
Правила маршрутизации используются для контроля пакетов, получаемых из внешних реестров через механизм проксирования.
Где применяются правила маршрутизации
Правила маршрутизации можно применять:
- к проксирующим репозиториям реестра;
- к внешним реестрам общего реестра пакетов.
Созданное правило можно назначить только проксирующему репозиторию.
Для одного проксирующего репозитория можно использовать только одно правило маршрутизации.
Как работает правило маршрутизации
Каждое правило работает в одном из двух режимов:
| Режим | Описание |
|---|---|
| Запрещающее правило | Блокирует загрузку пакетов, названия которых соответствуют указанным wildcard-шаблонам |
| Разрешающее правило | Разрешает загрузку только тех пакетов, названия которых соответствуют указанным wildcard-шаблонам |
Режим правила задаётся переключателем при настройке правила.
При обращении к внешнему реестру приложение проверяет название пакета по правилу, назначенному проксирующему репозиторию.
Результат проверки зависит от режима правила:
| Режим | Название соответствует шаблону | Название не соответствует шаблону |
|---|---|---|
| Запрещающее правило | Загрузка запрещена | Загрузка разрешена |
| Разрешающее правило | Загрузка разрешена | Загрузка запрещена |
Wildcard-шаблоны
Для настройки правил используются wildcard-шаблоны.
Wildcard-шаблон — это выражение со специальными символами, которое позволяет описать несколько названий пакетов одной строкой.
| Символ | Описание | Пример шаблона | Пример соответствующего названия пакета |
|---|---|---|---|
* |
Соответствует последовательности символов | internal-* |
internal-library |
? |
Соответствует одному символу | package-? |
package-a |
** |
Соответствует последовательности символов, включая элементы пути | group/** |
group/project/package |
Набор шаблонов интерпретируется в соответствии с выбранным режимом правила: как список запрещённых или разрешённых названий пакетов.
Создание правила маршрутизации
Список правил маршрутизации доступен из настроек реестров.
Для перехода к списку правил маршрутизации требуется:
- Открыть страницу реестров.
- Выбрать Настройки.
Для создания правила маршрутизации требуется:
- Открыть страницу со списком правил маршрутизации.
- Выбрать Создать правило.
- Указать режим правила с помощью переключателя:
- запрещающее правило;
- разрешающее правило.
- Указать wildcard-шаблоны для проверки названий пакетов.
- Завершить создание правила.
После создания правило становится доступно для назначения проксирующему репозиторию.
Проверка работы правила
На странице редактирования правила доступна проверка работы wildcard-шаблонов.
Проверка позволяет определить, будет ли конкретный пакет разрешён или запрещён для загрузки при использовании текущего правила.
Для проверки правила требуется:
- Открыть страницу редактирования правила маршрутизации.
- Проверить выбранный режим правила.
- Указать или изменить wildcard-шаблоны.
- Ввести название пакета для проверки.
- Запустить проверку.
После проверки приложение отображает резолюцию:
| Резолюция | Описание |
|---|---|
| Разрешено | Загрузка пакета разрешена текущим правилом |
| Запрещено | Загрузка пакета запрещена текущим правилом |
Результат проверки зависит от выбранного режима правила и соответствия названия пакета указанным wildcard-шаблонам.
Применение правила к репозиторию реестра
Правило маршрутизации применяется только к репозиторию проксирующего типа.
Проксирующий репозиторий используется для получения пакетов из внешнего реестра. Если репозиторию назначено правило маршрутизации, перед проксированием выполняется проверка названия запрашиваемого пакета.
Для применения правила к репозиторию реестра требуется:
- Открыть страницу создания или редактирования репозитория реестра.
- Убедиться, что выбран проксирующий тип репозитория.
- Выбрать созданное правило маршрутизации.
- Завершить создание репозитория или сохранить его изменения.
После назначения правило используется при загрузке пакетов через данный проксирующий репозиторий.
Для одного проксирующего репозитория можно назначить только одно правило маршрутизации.
Применение правила к общему реестру пакетов
Правила маршрутизации можно применять к внешним реестрам общего реестра пакетов.
Для применения правила требуется:
- Открыть страницу Внешние реестры.
- Открыть создание или редактирование внешнего реестра.
- Выбрать созданное правило маршрутизации.
- Завершить создание внешнего реестра или сохранить его изменения.
После назначения правило используется при проксировании пакетов через соответствующий внешний реестр.
Получение пакетов из кэша
Если для проксирующего репозитория включён кэш и запрашиваемый пакет уже находится в реестре, возвращается сохранённая в кэше версия пакета.
В этом случае обращение к внешнему реестру не требуется, поэтому проверка предварительных условий для проксирования не выполняется.
Если запрашиваемого пакета нет в кэше, для его получения из внешнего реестра выполняется проксирование. Перед проксированием проверяются условия, указанные в разделе Предварительные условия для проксирования.
Предварительные условия для проксирования
Если запрашиваемого пакета нет в кэше, для успешного проксирования пакета с применением правила маршрутизации должны быть настроен транспортный токен с правами на запись в реестр;