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

Репозитории

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

Для каждого репозитория отображаются:

  • Название.
  • Формат репозитория.
  • Тип репозитория (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, Группа).

Создание репозитория

Для добавления нового репозитория:

  1. На странице Репозитории нажмите на кнопку Добавить репозиторий.
  2. Выберите формат репозитория (см. раздел «Поддерживаемые форматы») и тип репозитория (Hosted, Proxy, Группа), затем нажмите на кнопку Далее.
  3. На шаге параметров:
    • Укажите Название репозитория. Название должно быть уникальным и может содержать только английские буквы, цифры, дефисы и точки.
    • Установите или сбросьте флажок Репозиторий активен (принимает входящие запросы).
    • Задайте параметры репозитория. Общие для каждого типа параметры описаны в разделе «Параметры репозиториев», а параметры, специфичные для отдельных форматов, — в разделе «Формат-специфичные параметры».
  4. Нажмите на кнопку Создать репозиторий.

Параметры репозиториев

Набор параметров репозитория определяется его типом. Ниже приведены общие параметры для каждого типа репозитория. Параметры, специфичные для отдельных форматов, описаны в разделе «Формат-специфичные параметры».

Репозиторий типа 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.