Создание удаленного реестра
Примечание
Удаленный реестр можно создать любого формата, кроме Binary.
-
В консоли управления
выберите каталог, в котором хотите создать удаленный реестр. -
Перейдите в сервис Cloud Registry.
-
На панели слева выберите
Реестры. -
В правом верхнем углу нажмите кнопку Создать реестр.
-
Выберите формат реестра.
-
В поле Тип реестра выберите
Remote. -
Выберите тип источника:
-
Public— публичный источник.Формат реестра Адреса публичных источников Maven Maven CentralGradle Plugin PortalAxiomNpm NpmDocker Docker HubNuGet NuGetPyPI PyPIPyPI TestПримечание
Публичный источник
Axiomдоступен по запросу. Чтобы активировать доступ кAxiom, создайте обращение в службу технической поддержки. -
Custom— пользовательский источник.Укажите свой адрес пользовательского источника.
-
-
Выберите тип авторизации:
Примечание
Авторизация доступна для пользовательских источников и публичного источника
Docker Hub. Для публичного источникаDocker Hubдоступен только тип авторизацииBasic.-
None— без авторизации. -
Basic— авторизация по имени пользователя и паролю. -
Bearer— авторизация по Bearer-токену.
-
-
Если вы выбрали тип авторизации
BasicилиBearer:-
Создайте секрет Yandex Lockbox. В поле Ключ укажите
value, в поле Значение укажите:- пароль, если тип авторизации —
Basic. - Bearer-токен, если тип авторизации —
Bearer.
- пароль, если тип авторизации —
-
Предоставьте сервисному агенту сервиса Cloud Registry доступ к содержимому секрета, назначив ему на этот секрет роль
lockbox.payloadViewer.В настоящее время такой доступ можно выдать только с помощью команды Yandex Cloud CLI, указав в ней идентификатор секрета Yandex Lockbox, содержащего пароль или Bearer-токен, и идентификатор облака, в котором вы создаете реестр:
yc lockbox secret add-access-binding \ --id <идентификатор_секрета> \ --role lockbox.payloadViewer \ --agent cloud-registry:data-plane \ --cloud-id <идентификатор_облака> -
В настройках реестра укажите имя пользователя (если тип авторизации —
Basic) и идентификатор созданного секрета Yandex Lockbox.
-
-
Введите имя и описание реестра.
-
Добавьте метки в формате
ключ: значение. -
Нажмите Создать.
Чтобы создать удаленный реестр, выполните команду:
yc cloud-registry registry create \
--name <имя_реестра> \
--description <описание_реестра> \
--registry-kind <формат реестра> \
--registry-type remote \
--properties <cвойства_реестра>
Где:
-
--name— имя реестра. -
--description— описание реестра. -
--registry-kind— формат реестра. Доступные форматы:maven,npm,docker,nuget,pypi. -
--registry-type— тип реестра. -
--properties— свойства реестра. Задаются строкой в форматеname1=value1,name2=value2. Доступные свойства для удаленных реестров:-
source— реестр-источник. Можно указать публичный источник или пользовательский. Доступные публичные источники:Формат реестра Адреса публичных источников maven@maven-central@gradle-plugin-portal@axiomnpm@npmjsdocker@docker-hubnuget@nugetpypi@pypi@pypi-testПримечание
Публичный источник
@axiomдоступен по запросу. Чтобы активировать доступ к@axiom, создайте обращение в службу технической поддержки. -
authorizationType— тип авторизации. Доступные типы авторизации:none,basic,bearer. Значение по умолчанию —none.Примечание
Авторизация доступна для пользовательских источников и публичного источника
@docker-hub. Для публичного источника@docker-hubдоступен только тип авторизацииbasic.Если вы указали
authorizationType—basicилиbearer:-
Создайте секрет Yandex Lockbox. В параметре
keyукажитеvalue, в качестве значения ключа укажите:- пароль, если
authorizationType—basic. - Bearer-токен, если
authorizationType—bearer.
- пароль, если
-
Предоставьте сервисному агенту сервиса Cloud Registry доступ к содержимому секрета, назначив ему на этот секрет роль
lockbox.payloadViewer.Выполните команду, указав в ней идентификатор секрета Yandex Lockbox, содержащего пароль или Bearer-токен, и идентификатор облака, в котором вы создаете реестр:
yc lockbox secret add-access-binding \ --id <идентификатор_секрета> \ --role lockbox.payloadViewer \ --agent cloud-registry:data-plane \ --cloud-id <идентификатор_облака>
-
-
authorizationSecretId— идентификатор секрета пользователя, в котором хранится пароль или Bearer-токен. Требуется, еслиauthorizationType—basicилиbearer. -
authorizationUsername— имя пользователя. Требуется, еслиauthorizationType—basic.
-
Результат:
done (3s)
id: cn1fsnc2dak********
folder_id: b1gc1t4cb638********
name: my-first-registry
kind: DOCKER
type: REMOTE
status: ACTIVE
description: docker
created_at: "2024-11-30T16:11:12.901356Z"
modified_at: "2024-11-30T16:11:16.243323Z"
Чтобы создать удаленный реестр, воспользуйтесь методом REST API create для ресурса Registry или вызовом gRPC API RegistryService/Create.
В поле type укажите REMOTE.