Cloudflare Serverless Registry: бессерверный реестр контейнеров на базе рабочих станций Cloudflare

Общее введение

Cloudflare Serverless Registry - это бессерверный контейнерный реестр на базе Cloudflare Workers и хранилища R2. Он поддерживает push и pull образов и обеспечивает аутентификацию по JWT на основе имени пользователя-пароля и открытого ключа. Проект прост в развертывании, совместим с операциями Docker и подходит для управления образами контейнеров в бессерверной среде. Несмотря на некоторые ограничения, Serverless Registry представляет собой легкое и масштабируемое решение для разработчиков.

 

Список функций

  • Подставка для зеркал
  • Предоставьте имя пользователя пароль и аутентификацию JWT
  • Работа, совместимая с Docker
  • Поддержка возврата к другим реестрам
  • Простота развертывания и управления

 

Использование помощи

Установка и развертывание

  1. Установка зависимостей: Используйте pnpm для установки всех зависимостей (другие менеджеры пакетов могут работать, но поддерживается только pnpm).
    $ pnpm install
    
  2. Подготовка файла wrangler: Скопируйте файл примера и настройте его.
    $ cp wrangler.toml.example wrangler.toml
    
  3. Настройка ведра хранения R2: Создайте ведро хранения R2.
    $ npx wrangler --env production r2 bucket create r2-registry
    
  4. Настройка wrangler.toml: Добавьте конфигурацию ведра хранилища R2 в файл wrangler.toml.
    r2_buckets = [
      { binding = "REGISTRY", bucket_name = "r2-registry" }
    ]
    
  5. Реестр развертывания: Разверните реестр в производственной среде.
    $ npx wrangler deploy --env production
    

Аутентификация по имени пользователя и паролю

  1. Установка имени пользователя и пароля: Установите конфиденциальные имя пользователя и пароль.
    $ npx wrangler secret put USERNAME --env production
    $ npx wrangler secret put PASSWORD --env production
    

Сертификация JWT

  1. Добавьте открытый ключ JWT: Добавьте открытый ключ JWT в кодировке base64 для аутентификации пароля или токена.
    $ npx wrangler secret put JWT_REGISTRY_TOKENS_PUBLIC_KEY --env production
    

Передача и извлечение образов с помощью Docker

  1. Вход в Docker: Войдите в Docker, используя свое имя пользователя и пароль.
    export REGISTRY_URL=your-url-here
    echo $PASSWORD | docker login --username $USERNAME --password-stdin $REGISTRY_URL
    
  2. нажимное зеркало (вычислительное): Занесите изображение в реестр.
    docker pull ubuntu:latest
    docker tag ubuntu:latest $REGISTRY_URL/ubuntu:latest
    docker push $REGISTRY_URL/ubuntu:latest
    
  3. Вытягивание зеркал: Извлеките изображение из реестра.
    docker rmi ubuntu:latest
    docker pull $REGISTRY_URL/ubuntu:latest
    

Откат конфигурации

  1. Настройка реестра резервного копирования: Настройте реестр резервного копирования в файле wrangler.toml.
    [env.production]
    REGISTRIES_JSON = "[{ \"registry\": \"url-to-other-registry\", \"password_env\": \"REGISTRY_TOKEN\", \"username\": \"username-to-use\" }]"
    
  2. Установка маркера реестра: Установите маркер реестра на конфиденциальный.
    cat ./registry-service-credentials.json | base64 | wrangler --env production secrets put REGISTRY_TOKEN
    
© заявление об авторских правах

Похожие статьи

Нет комментариев

Вы должны войти в систему, чтобы участвовать в комментариях!
Войти сейчас
нет
Нет комментариев...