Реестр контейнеров поддерживает спецификацию OCI (Open Container Initiative). Поэтому в реестре можно хранить не только Docker-образы, но и другие артефакты, например Helm-чарты.
Для загрузки Helm-чартов можно использовать helm или стороннюю утилиту oras.
Через Helm
Поддержка работы с OCI-реестрами появилась в Helm начиная с версии 3.8.0 и считается стабильной с 3.9.0.
Авторизация
Для авторизации используйте команду:
helm registry login имя_реестра.registry.twcstorage.ru -u iam
В качестве пароля укажите токен, выданный при создании реестра.
Упаковка чарта
Перед загрузкой упакуйте чарт:
helm package ./имя_чарта
В результате будет создан архив, например mychart-0.1.0.tgz. Имя файла формируется на основе названия и версии из файла Chart.yaml.
Загрузка чарта
Для загрузки чарта используйте команду:
helm push имя_запакованного_чарта oci://имя_реестра.registry.twcstorage.ru/имя_репозитория
Helm автоматически определит имя чарта и версию из архива.
Скачивание чарта
Для скачивания чарта выполните:
helm pull oci://имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_чарта --version тег
Через oras
oras позволяет загружать любые файлы как OCI-артефакты.
Установка
Перейдите на страницу релизов oras и скачайте архив для нужной операционной системы.
Для Linux можно скачать архив через wget:
wget https://github.com/oras-project/oras/releases/download/v1.2.3/oras_1.2.3_linux_amd64.tar.gz
Распакуйте архив:
tar -xvzf oras_1.2.3_linux_amd64.tar.gz
Переместите бинарный файл:
sudo mv oras /usr/local/bin/
Проверьте установку:
oras version
Авторизация
Перед использованием авторизуйтесь в реестре:
oras login имя_реестра.registry.twcstorage.ru
После выполнения команды:
-
в качестве имени пользователя укажите любое значение, например имя реестра;
-
при запросе пароля введите токен, полученный при создании реестра.
Загрузка чарта
Перед загрузкой упакуйте чарт:
helm package ./имя_чарта
Загрузите архив в реестр:
oras push имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_чарта:тег имя_запакованного_чарта
Проверьте, что артефакт успешно загружен:
oras manifest fetch имя_реестра.registry.twcstorage.ru/имя_репозитория/имя_чарта:тег
Команда выведет OCI-манифест с типом артефакта, размером, хешем и другими метаданными.
Скачивание
Для скачивания артефакта выполните:
oras pull имя_реестра.registry.twcstorage.ru/helm/mychart:1.0
Артефакт будет загружен в текущую директорию.