Репозитории¶
На странице Репозитории приведён список всех существующих в Системе репозиториев. Каждый репозиторий представлен в виде отдельной строки.

Для каждого репозитория отображаются:
- Название.
- Формат репозитория.
- Тип репозитория (Hosted, Proxy, Группа).
- URL-адрес репозитория.
В столбце Действия в строке репозитория расположены следующие кнопки:
— Загрузить артефакт в репозиторий (только для репозиториев типа Hosted).
— Редактировать конфигурацию репозитория. Позволяет установить или сбросить флажок Репозиторий активен (принимает входящие запросы) и изменить значения параметров репозитория (см. раздел «Параметры репозиториев»).
— Удалить репозиторий.
Типы репозиториев¶
Система поддерживает три типа репозиториев:
- Hosted — компоненты хранятся в вашем экземпляре репозитория.
- Proxy — репозиторий кэширует компоненты из удалённого источника.
- Группа — объединяет несколько репозиториев под единым URL-адресом.
Поддерживаемые форматы¶
При создании репозитория выбирается один из следующих форматов:
| Формат | Назначение |
|---|---|
| Raw | Произвольные файлы |
| npm | Пакеты JavaScript (npm) |
| Maven | Артефакты Java (Maven) |
| NuGet | Пакеты .NET (NuGet) |
| PyPI | Пакеты Python (PyPI) |
| Docker | Docker-образы |
| Go | Модули Go |
| Composer | PHP-пакеты (Composer) |
| Conan | Пакеты C/C++ (Conan) |
| Helm | Helm-чарты |
| APT | Пакеты Debian/Ubuntu (APT) |
| Yum | Пакеты RPM (RHEL/CentOS/Fedora) |
| Terraform | Модули и провайдеры Terraform |
| Cargo | Крейты Rust (Cargo) |
| Conda | Пакеты Conda |
| Hugging Face | Модели Hugging Face |
| Swift | Пакеты Swift Package Manager |
| CocoaPods | Библиотеки CocoaPods |
| RubyGems | Гемы Ruby (RubyGems) |
| R | Пакеты R (CRAN) |
| Git LFS | Большие файлы Git (Git LFS) |
| P2 | Артефакты Eclipse P2 |
Примечание
Не все форматы поддерживают все три типа репозитория:
- только Hosted: Git LFS;
- только Proxy: Composer, Conda, Hugging Face, CocoaPods, P2;
- Proxy и Группа (без Hosted): Go;
- Hosted и Proxy (без Группы): Helm, APT.
Остальные форматы поддерживают все три типа (Hosted, Proxy, Группа).
Создание репозитория¶
Для добавления нового репозитория:
- На странице Репозитории нажмите на кнопку Добавить репозиторий.
- Выберите формат репозитория (см. раздел «Поддерживаемые форматы») и тип репозитория (Hosted, Proxy, Группа), затем нажмите на кнопку Далее.
- На шаге параметров:
- Укажите Название репозитория. Название должно быть уникальным и может содержать только английские буквы, цифры, дефисы и точки.
- Установите или сбросьте флажок Репозиторий активен (принимает входящие запросы).
- Задайте параметры репозитория. Общие для каждого типа параметры описаны в разделе «Параметры репозиториев», а параметры, специфичные для отдельных форматов, — в разделе «Формат-специфичные параметры».
- Нажмите на кнопку Создать репозиторий.
Параметры репозиториев¶
Набор параметров репозитория определяется его типом. Ниже приведены общие параметры для каждого типа репозитория. Параметры, специфичные для отдельных форматов, описаны в разделе «Формат-специфичные параметры».
Репозиторий типа Hosted¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Хранилище | ||
| Blob Store | Имя blob-хранилища для хранения содержимого репозитория (например, default) | default |
| Политика записи | Политика записи: Allow (разрешено), Allow Once (только один раз), Deny (запрещено) | Allow Once |
| Строгая валидация Content-Type | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория: true, false | true |
| Компонент (опционально) | ||
| Проприетарные компоненты (требуется Firewall) | Пометка компонентов репозитория как проприетарных (требует интеграции с внешним сервисом Firewall): true, false | false |
Репозиторий типа Proxy¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Хранилище | ||
| Blob Store | Имя blob-хранилища для хранения содержимого репозитория (например, default) | default |
| Строгая валидация Content-Type | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория: true, false | true |
| Настройки проксирования | ||
| Удалённый URL | URL удалённого репозитория, который проксируется (например, https://repo1.maven.org/maven2/) | |
| Content Max Age (мин) | Время кэширования артефактов перед повторной проверкой удалённого репозитория (в минутах) | 1440 |
| Metadata Max Age (мин) | Время кэширования метаданных перед повторной проверкой удалённого репозитория (в минутах) | 1440 |
| Сохранять закодированные символы | Сохранять в запросах к удалённому репозиторию закодированные символы (%2B, %23 и др.): true, false | false |
| Негативный кэш | ||
| Включить негативный кэш | Кэшировать ли ответы для контента, отсутствующего в проксируемом репозитории: true, false | true |
| TTL негативного кэша (мин) | Время кэширования факта отсутствия файла в репозитории (в минутах) | 1440 |
| HTTP-клиент | ||
| Заблокировать исходящие соединения | Блокировать ли исходящие соединения для репозитория: true, false | false |
| Автоматическая блокировка при недоступности | Автоматически блокировать исходящие соединения при обнаружении недоступности удалённого узла: true, false | true |
| Настройки соединения (опционально) | ||
| Количество повторов | Количество попыток соединений после начального тайм-аута | |
| Таймаут (сек) | Таймаут для запросов (в секундах) | |
| User-Agent суффикс | Строка, добавляемая к заголовку User-Agent в HTTP-запросах | |
| Разрешить циклические редиректы | Разрешить прокси-репозиторию следовать переадресациям удалённого сервера, даже если они указывают на уже обработанный URL: true, false | false |
| Включить cookies | Включить HTTP-cookies, отправляемые удалённым сервером, для последующих запросов: true, false | false |
| Использовать Trust Store | Использовать хранилище доверенных SSL/TLS-сертификатов (см. раздел «SSL-сертификаты»): true, false | false |
| Аутентификация (опционально) | ||
| Тип аутентификации | Тип аутентификации на удалённом репозитории: Без аутентификации, Username/Password, NTLM, Bearer Token | Без аутентификации |
| Routing Rule (опционально) | ||
| Routing Rule | Правило маршрутизации: Не задано или одно из предварительно созданных правил (см. раздел «Правила маршрутизации») | Не задано |
| Репликация (опционально) | ||
| Включить упреждающую загрузку | Включить упреждающую загрузку: true, false | false |
| Регулярное выражение для путей | Регулярное выражение для путей |
Репозиторий типа Группа¶
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Хранилище | ||
| Blob Store | Имя blob-хранилища для хранения содержимого репозитория (например, default) | default |
| Строгая валидация Content-Type | Строгая валидация MIME-типа загружаемого контента в соответствии с форматом репозитория: true, false | true |
| Участники группы | ||
| Участники группы | Список репозиториев-участников группы. Порядок определяет приоритет при поиске артефактов |
Формат-специфичные параметры¶
В дополнение к общим параметрам отдельные форматы добавляют собственные настройки.
Raw¶
Для репозиториев формата Raw (типы Hosted и Proxy) доступна секция Настройки Raw:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Content-Disposition | Способ отображения контента: Inline (встроенный), Attachment (вложение) | Attachment |
npm¶
Для прокси-репозиториев формата npm доступна секция Настройки npm:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Удалять версии, помещённые в карантин | Удалять версии пакетов, помещённые в карантин: true, false | false |
Maven¶
Для репозиториев формата Maven (типы Hosted и Proxy) доступна секция Настройки Maven:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Политика версий | Тип артефактов: Release (релизные), Snapshot (снимки), Mixed (смешанные) | Release |
| Политика макета | Политика макета: Strict (строгая), Permissive (разрешающая) | Strict |
| Content-Disposition | Способ отображения контента: Inline (встроенный), Attachment (вложение) | Inline |
NuGet¶
Для прокси-репозиториев формата NuGet доступна секция Настройки NuGet:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Query Cache Item Max Age (сек) | Время кэширования результатов запросов из проксируемого репозитория (в секундах) | 3600 |
| Версия NuGet протокола | Версия протокола NuGet: V2 (старая), V3 (новая) | V3 |
PyPI¶
Для прокси-репозиториев формата PyPI доступна секция Настройки PyPI:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Удалять версии, помещённые в карантин | Удалять версии пакетов, помещённые в карантин: true, false | false |
| Remote Index Path (опционально) | Путь к индексу пакетов на удалённом репозитории | /simple |
Docker¶
Для репозиториев формата Docker (типы Hosted и Proxy) доступна секция Настройки Docker:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Включить Docker V1 API | Включить поддержку устаревшего Docker Registry API v1: true, false | false |
| Требовать Basic-аутентификацию | Требовать Basic-аутентификацию для доступа к репозиторию: true, false | false |
| HTTP-порт | Порт HTTP-коннектора репозитория (например, 5000) | |
| HTTPS-порт | Порт HTTPS-коннектора репозитория (например, 5001) | |
| Поддомен | Поддомен для доступа к репозиторию (например, docker) | |
| Path-based routing | Маршрутизация по пути вместо отдельного порта или поддомена: true, false | false |
Для типа Hosted дополнительно доступен параметр Разрешить перезапись тега «latest» — разрешить повторную публикацию образа с тегом latest.
Для типа Proxy дополнительно доступна секция Настройки Docker-прокси:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Тип индекса | Источник индекса Docker: Registry (индекс проксируемого репозитория), Custom (собственный индекс, URL указывается ниже) | Registry |
| URL индекса (для Custom) | URL индекса при выборе типа Custom (например, https://index.docker.io/) | |
| Кэшировать внешние слои (foreign layers) | Кэшировать внешние слои образов: true, false | false |
| Whitelist URL внешних слоёв (через запятую) | Список разрешённых URL для загрузки внешних слоёв, через запятую |
Conan¶
Для прокси-репозиториев формата Conan доступна секция Настройки Conan:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Версия Conan протокола | Версия протокола Conan | V1 |
APT¶
Для репозиториев формата APT доступны секции Настройки APT и Подпись пакетов (GPG).
Секция Настройки APT:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Дистрибутив | Кодовое имя дистрибутива (например, bionic) | |
| Плоская структура (flat) | Только для типа Proxy. Использовать «плоскую» структуру репозитория: true, false | false |
| Ограничивать запросы указанным дистрибутивом | Только для типа Proxy. Ограничивать запросы к удалённому репозиторию указанным дистрибутивом: true, false | false |
Секция Подпись пакетов (GPG) (для типов Hosted и Proxy):
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Приватный PGP-ключ (armored) | Приватный PGP-ключ в armored-формате для подписи метаданных репозитория | |
| Пароль ключа | Пароль приватного PGP-ключа |
Yum¶
Для типа Hosted доступна секция Настройки Yum:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Глубина repodata | Глубина каталога, на которой создаётся repodata | 0 |
| Политика публикации | Политика публикации: Strict (строгая), Permissive (разрешающая) | Strict |
Для типа Proxy доступна секция Подпись пакетов (GPG):
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Приватный PGP-ключ (armored) | Приватный PGP-ключ в armored-формате для подписи метаданных репозитория | |
| Пароль ключа | Пароль приватного PGP-ключа |
Terraform¶
Для типа Proxy доступна секция Настройки Terraform:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Требовать аутентификацию (запретить анонимный доступ) | Требовать аутентификацию для доступа к репозиторию: true, false | false |
Для типа Hosted доступна секция Подпись провайдеров (GPG):
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Приватный PGP-ключ (armored) | Приватный PGP-ключ в armored-формате для подписи провайдеров | |
| Пароль ключа | Пароль приватного PGP-ключа |
Cargo¶
Для типа Proxy доступна секция Настройки Cargo:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Требовать аутентификацию (запретить анонимный доступ) | Требовать аутентификацию для доступа к репозиторию: true, false | false |
Swift¶
Для типа Proxy доступна секция Настройки Swift:
| Параметр | Описание | Значение по умолчанию |
|---|---|---|
| Требовать аутентификацию (запретить анонимный доступ) | Требовать аутентификацию для доступа к репозиторию: true, false | false |
Примечание
Остальные форматы не добавляют собственных параметров — для них используются только общие параметры соответствующего типа репозитория: Go, Composer, Helm, Conda, Hugging Face, CocoaPods, RubyGems, R, Git LFS, P2.