Загрузить binary-артефакт в реестр
-
Создайте переменные окружения в зависимости от способа аутентификации:
IAM-токенOAuth-токенAPI-ключ-
Получите IAM-токен для аккаунта на Яндексе или сервисного аккаунта, от имени которого вы будете выполнять аутентификацию.
-
Создайте переменные окружения
REGISTRY_USERNAMEиREGISTRY_PASSWORD:export REGISTRY_USERNAME="iam" export REGISTRY_PASSWORD="<IAM-токен>"Где:
REGISTRY_USERNAME— способ аутентификации.REGISTRY_PASSWORD— тело полученного ранее IAM-токена.
Примечание
Время жизни IAM-токена — не больше 12 часов.
-
Получите
OAuth-токен для аккаунта на Яндексе, от имени которого вы будете выполнять аутентификацию. -
Создайте переменные окружения
REGISTRY_USERNAMEиREGISTRY_PASSWORD:export REGISTRY_USERNAME="oauth" export REGISTRY_PASSWORD="<OAuth-токен>"Где:
REGISTRY_USERNAME— способ аутентификации.REGISTRY_PASSWORD— тело полученного ранее OAuth-токена.
Примечание
Время жизни OAuth-токена — 1 год.
-
Создайте API-ключ для сервисного аккаунта, от имени которого вы будете выполнять аутентификацию.
-
Создайте переменные окружения
REGISTRY_USERNAMEиREGISTRY_PASSWORD:export REGISTRY_USERNAME="api_key" export REGISTRY_PASSWORD="<API-ключ>"Где:
REGISTRY_USERNAME— способ аутентификации.REGISTRY_PASSWORD— тело созданного ранее API-ключа.
Примечание
Время жизни API-ключа ограничивается вручную при создании.
-
-
Загрузите binary-артефакт с помощью HTTP
-запроса методом POST:curl \ --request PUT \ --user "$REGISTRY_USERNAME:$REGISTRY_PASSWORD" \ --header "X-Checksum-SHA256: <хеш_файла>" \ --upload-file <локальный_путь_к_файлу> \ https://registry.yandexcloud.net/binaries/<идентификатор_реестра>/<имя_артефакта>/<версия_артефакта>/<имя_файла_в_реестре>Где:
-
--request— метод. -
--user— данные для аутентификации. -
--header— заголовок API-запроса. Необязательный параметр.В заголовке
X-Checksum-SHA256вы можете передать хеш загружаемого файла, чтобы после загрузки сервис проверил его целостность. Сгенерировать хеш можно, например, с помощью команды:openssl dgst -sha256 <путь_к_файлу> | awk '{print $2}' -
--upload-file— локальный путь к загружаемому файлу. Максимальный размер — 100 МБ. -
URL запроса содержит URL реестра, имя и версию артефакта, а также имя файла в реестре. Например:
https://registry.yandexcloud.net/binaries/cn15fqbr806r********/sample-package/3.5.4/agent-installer.sh
-