Подключение реестра контейнерных образов¶
Поддерживаемые реестры контейнерных образов¶
CodeScoring поддерживает интеграцию с реестрами образов в следующих инструментах:
- Sonatype Nexus Repository;
- JFrog Artifactory;
- GitLab;
- Harbor;
- GitFlic;
- Иные, использующие протокол Docker Registry V2 API.
Механизм загрузки контейнерных образов¶
CodeScoring загружает информацию об образах контейнеров, которые находятся в реестре, следующим образом:
- Производит листинг названий образов;
- Для каждого названия образа, производит листинг тэгов;
- Для каждой пары название-тэг запрашивает манифест;
- Берёт информацию об архитектуре и sha256 дайджесте из манифеста;
- Сохраняет информацию о контейнерных образах, находящихся в ресстре на данный момент.
Важно: CodeScoring считает образом уникальную комбинацию следующих данных:
- Реестр, из которого загружена информация об образе;
- Название образа;
- Дайджест sha256 образа.
Конфигурирование интеграции с реестром контейнерных образов¶
Для работы с образами необходимо предварительно подключить registry (реестр с образами) в разделе Настройки -> Реестры
.
Переход на форму создания нового подключения осуществляется по кнопке Добавить. В форме необходимо заполнить следующие поля:
- Название – название реестра;
- Tип – тип менеджера репозитория (Sonatype Nexus Repository, JFrog Artifactory или другой);
- Активно – признак действующего реестра. Для недействующих реестров не будет обновляться список доступных образов;
- Тип авторизации – тип авторизации (Basic или Bearer);
- Адрес – адрес реестра с указанием протокола. Например:
https://jfrog.example.com
; - Максимальное количество одновременных соединений - максимальное количество соединений, которые будут одновременно открыты при загрузке информации об образах в реестре;
- Максимальное количество соединений в режиме keep-alive - максимальное количество соединений, которые будут сохранены для дальнейшего переиспользования при загрузке информации об образах в реестре;
- Максимальное время жизни соединения в режиме keep-alive, в секундах - максимальное время в секундах, в течение которого соединение в режиме keep-alive будет существовать для того, чтобы быть переиспользованным при загрузке информации об образах в реестре;
- Размер страницы при пагинации - количество записей, которое будет запрашиваться во время пагинированного листинга сущностей в реестре;
- Таймаут подключения, в секундах - сколько секунд система будет ожидать создания соединения перед тем, как произойдёт ошибка;
- Таймаут получения соединения из пула, в секундах - сколько секунд система будет ожидать получиния соединения из пула соединений. Это ожидание часто происходит, когда настроено существенное ограничение RPS или количества одновременных соединений, поэтому, в этих случаях необходимо выставлять высокое значение;
- Таймаут на чтение, в секундах - сколько секунд система будет ожидать записи в соединение перед тем, как произойдёт ошибка;
- Таймаут на запись, в секундах - сколько секунд система будет ожидать чтения из соединения перед тем, как произойдёт ошибка;
- Максимальное количество запросов в секунду - ограничение на максимальное количества запросов в секунду при загрузке информации об образах в реестре;
- Пропустить проверку TLS? – пропустить проверку сертификатов для TLS/SSL соединений;
- Имя пользователя – имя пользователя с доступом к реестру;
- Пароль – пароль для доступа к реестру;
- Загрузить полный список образов? - регулярно выгружать из реестра данные о присутствующих образах.
Важные заметки об интеграции с реестром, реализуемом GitLab:
- при подключении GitLab Container Registry необходимо выбрать тип авторизации Bearer;
- Согласно Документации GitLab,
листинг всех названий образов на эндпоинте
/v2/_catalog/
требует данных об администраторской УЗ.
Проверить подключение после заполнения данных можно по кнопке Проверить подключение.
Просмотр информации об интеграции¶
После создания нового подключения по кнопке Добавить реестр отобразится в списке раздела, с возможностью просмотреть информацию о нем (Просмотр), изменить параметры подключения (Редактировать), или удалить подключение (Удалить ).
Для обновления списка доступных образов необходимо нажать на кнопку Обновить списки образов на странице просмотра. Также на странице просмотра доступна проверка подключения по кнопке Обновить статус.